[all-commits] [llvm/llvm-project] b87f1b: [MLIR] Add `InParallelOpInterface` for parallel co...
David Green via All-commits
all-commits at lists.llvm.org
Mon Sep 22 02:03:15 PDT 2025
Branch: refs/heads/users/wangpc-pp/spr/main.riscv-enable-shouldtracklanemasks-when-having-vector-instructions
Home: https://github.com/llvm/llvm-project
Commit: b87f1b22a8d8a77d5360f201af5ba08adbb0a974
https://github.com/llvm/llvm-project/commit/b87f1b22a8d8a77d5360f201af5ba08adbb0a974
Author: Alan Li <me at alanli.org>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Interfaces/ParallelCombiningOpInterface.h
M mlir/include/mlir/Interfaces/ParallelCombiningOpInterface.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferDeallocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/lib/Interfaces/ParallelCombiningOpInterface.cpp
M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
M mlir/test/Dialect/SCF/invalid.mlir
M mlir/test/Dialect/SCF/one-shot-bufferize-analysis.mlir
M mlir/test/Dialect/SCF/one-shot-bufferize-tensor-copy-insertion.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR] Add `InParallelOpInterface` for parallel combining operations (#157736)
This commit:
- Introduces a new `InParallelOpInterface`, along with the
`ParallelCombiningOpInterface`, represent the parallel updating
operations we have in a parallel loop of `scf.forall`.
- Change the name of `ParallelCombiningOpInterface` to
`InParallelOpInterface` as the naming was quite confusing.
- `ParallelCombiningOpInterface` now is used to generalize operations
that insert into shared tensors within parallel combining regions.
Previously, only `tensor.parallel_insert_slice` was supported directly
in `scf.InParallelOp` regions.
- `tensor.parallel_insert_slice` now implements
`ParallelCombiningOpInterface`.
This change enables future extensions to support additional parallel
combining operations beyond `tensor.parallel_insert_slice`, which have
different update semantics, so the `in_parallel` region can correctly
and safely represent these kinds of operation without potential mistakes
such as races.
Author credits: @qedawkins
Commit: 7f2e9b17098f42c85ef469b029bb84ef4eea189c
https://github.com/llvm/llvm-project/commit/7f2e9b17098f42c85ef469b029bb84ef4eea189c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M libcxx/include/__vector/vector.h
Log Message:
-----------
Revert "[libc++] Mark __{emplace,push}_back_slow_path as noinline (#94379)"
This reverts commit 1bafd020c7c80be476f211bc239ce43424f7e0ce.
This breaks the LLDB data formatters which means these failures show up
on every premerge run. Reverting for now until fixing the LLDB
formatters can be coordinated with a relanding.
Commit: 32620c58ac72727083d8ef310572970a8b11511d
https://github.com/llvm/llvm-project/commit/32620c58ac72727083d8ef310572970a8b11511d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M llvm/utils/lit/CMakeLists.txt
Log Message:
-----------
[lit] Add missing split-file dependency
There was a recent patch that added in some tests to the lit test suite
that use split-file. An explicit dependency in CMake was not added,
which led to check-lit not working if being run without doing a full
build first. This patch explicitly adds the dependency inside the CMake
file to fix this configuration.
Commit: 8e17f80908abd5a22acf962584371b71dffe6d15
https://github.com/llvm/llvm-project/commit/8e17f80908abd5a22acf962584371b71dffe6d15
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Distribute vector.step & vector.shape_cast op from wg to sg (#155443)
This PR adds patterns to distribute vector.step and vector.shape_cast op
from wg to sg and it also enables constant, broadcast and elementwise
ops to handle the slice attribute
Commit: f019e2368b137371d248a7ddbe37f76466c2d44d
https://github.com/llvm/llvm-project/commit/f019e2368b137371d248a7ddbe37f76466c2d44d
Author: lntue <lntue at google.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/arg_list.h
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/float_dec_converter_limited.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/qsort_data.h
M libc/src/string/CMakeLists.txt
M libc/src/string/stpcpy.cpp
M libc/src/string/string_utils.h
M libc/src/wchar/CMakeLists.txt
M libc/src/wchar/wcpcpy.cpp
M libc/src/wchar/wcscpy.cpp
M libc/src/wchar/wmemcpy.cpp
M libc/src/wchar/wmempcpy.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Change __builtin_memcpy to inline_memcpy. (#158345)
Commit: 9e33997242800d49964bfbd056288cbb0cf073ed
https://github.com/llvm/llvm-project/commit/9e33997242800d49964bfbd056288cbb0cf073ed
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/Transforms/SimplifyCFG/PhiBlockMerge.ll
Log Message:
-----------
[IR] Add `MD_prof` to the `Keep` list of `dropUBImplyingAttrsAndMetadata` (#154635)
`MD_prof` is safe to keep when e.g. hoisting instructions.
Issue #147390
Commit: 8f25ea2d73d9a4a64e7ab26e6b1d7a8f73605713
https://github.com/llvm/llvm-project/commit/8f25ea2d73d9a4a64e7ab26e6b1d7a8f73605713
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[NFC] Leave a comment in `Local.cpp` about debug info & sample profiling (#155296)
Issue #152767
Commit: 0d4a615998a7d5a6ad1f2866e9f3276acfc70fc0
https://github.com/llvm/llvm-project/commit/0d4a615998a7d5a6ad1f2866e9f3276acfc70fc0
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/2004-09-20-BadLoadCombine2.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[InstCombine] Make test resilient to metadata presence (#157607)
Modernized it to using `update_test_checks` which addresses an ambgiuty
in the previous test formulation, where a profile metadaat of value `i32
1` would have (incorrectly matched.
Commit: 8ee31ab00b95fc58110956f8945b0232045e8d86
https://github.com/llvm/llvm-project/commit/8ee31ab00b95fc58110956f8945b0232045e8d86
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
Log Message:
-----------
[WebKit checkers] Treat function pointers with "Singleton" suffix as singleton. (#158012)
Commit: ba3bce0779fa195867aa804146c2ec24cfaf9976
https://github.com/llvm/llvm-project/commit/ba3bce0779fa195867aa804146c2ec24cfaf9976
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M .github/workflows/docs.yml
M .github/workflows/pr-code-format.yml
Log Message:
-----------
[Github] Switch back to tj-actions/changed-files (#158335)
We were using the step security fork after the tj-actions/changed-files
supply chain attack given Github disabled the repo and all our actions
were failing during that time. Switch away from the fork back to the
main repository to avoid an extra level of indirection until we can
probably just stop using this action/roll our own.
Commit: 13eecf7f9f42dfded46d8feaa01bc77962d10845
https://github.com/llvm/llvm-project/commit/13eecf7f9f42dfded46d8feaa01bc77962d10845
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/condops.ll
Log Message:
-----------
[RISC] Use hasBEXTILike in useInversedSetcc and shouldFoldSelectWithSingleBitTest. (#158366)
Add hasVendorXTHeadCondMov to shouldFoldSelectWithSingleBitTest.
The optimizations in these functions is equally applicable to these.
I changed the RUN line for xtheadcondmove in condops.ll to use XTHeadBs
to get coverage of the hasBEXTILike changes. I didn't think it was
worth an additional RUN line and check prefix.
Commit: 1131e44ed3f5fadb2d22ff155d4e47f69757d02f
https://github.com/llvm/llvm-project/commit/1131e44ed3f5fadb2d22ff155d4e47f69757d02f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/CodeGen/RISCV/xcvbitmanip.ll
Log Message:
-----------
[RISCV] Use hasCPOPLike in isCtpopFast and getPopcntSupport (#158371)
Commit: 52c583b3f95a0e666ab837e39a5db900b66adf15
https://github.com/llvm/llvm-project/commit/52c583b3f95a0e666ab837e39a5db900b66adf15
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/ProfileData/SampleProfWriter.h
M llvm/lib/ProfileData/SampleProf.cpp
M llvm/lib/ProfileData/SampleProfReader.cpp
M llvm/lib/ProfileData/SampleProfWriter.cpp
A llvm/test/tools/llvm-profdata/Inputs/profile-symbol-list-ext.expected
A llvm/test/tools/llvm-profdata/Inputs/sample-profile-ext.proftext
M llvm/test/tools/llvm-profdata/profile-symbol-list-compress.test
M llvm/test/tools/llvm-profdata/profile-symbol-list.test
M llvm/test/tools/llvm-profdata/roundtrip.test
Log Message:
-----------
[SampleFDO][TypeProf]Support vtable type profiling for ext-binary and text format (#148002)
This change extends SampleFDO ext-binary and text format to record the
vtable symbols and their counts for virtual calls inside a function. The
vtable profiles will allow the compiler to annotate vtable types on IR
instructions and perform vtable-based indirect call promotion. An RFC is
in
https://discourse.llvm.org/t/rfc-vtable-type-profiling-for-samplefdo/87283
Given a function below, the before vs after of a function's profile is
illustrated in text format in the table:
```
__attribute__((noinline)) int loop_func(int i, int a, int b) {
Base *ptr = createType(i);
int sum = ptr->func(a, b);
delete ptr;
return sum;
}
```
| before | after |
| --- | --- |
| Samples collected in the function's body { <br> 0: 636241 <br> 1:
681458, calls: _Z10createTypei:681458 <br> 3: 543499, calls:
_ZN12_GLOBAL__N_18Derived24funcEii:410621 _ZN8Derived14funcEii:132878
<br> 5.1: 602201, calls: _ZN12_GLOBAL__N_18Derived2D0Ev:454635
_ZN8Derived1D0Ev:147566 <br> 7: 511057 <br> } | Samples collected in the
function's body { <br> 0: 636241 <br> 1: 681458, calls:
_Z10createTypei:681458 <br> 3: 543499, calls:
_ZN12_GLOBAL__N_18Derived24funcEii:410621 _ZN8Derived14funcEii:132878
<br> 3: vtables: _ZTV8Derived1:1377 _ZTVN12_GLOBAL__N_18Derived2E:4250
<br> 5.1: 602201, calls: _ZN12_GLOBAL__N_18Derived2D0Ev:454635
_ZN8Derived1D0Ev:147566 <br> 5.1: vtables: _ZTV8Derived1:227
_ZTVN12_GLOBAL__N_18Derived2E:765 <br> 7: 511057 <br> } |
Key points for this change:
1. In-memory representation of vtable profiles
* A field of type `map<LineLocation, map<FunctionId, uint64_t>>` is
introduced in a function's in-memory representation
[FunctionSamples](https://github.com/llvm/llvm-project/blob/ccc416312ed72e92a885425d9cb9c01f9afa58eb/llvm/include/llvm/ProfileData/SampleProf.h#L749-L754).
2. The vtable counters for one LineLocation represents the relative
frequency among vtables for this LineLocation. They are not required to
be comparable across LineLocations.
3. For backward compatibility of ext-binary format, we take one bit from
ProfSummaryFlag as illustrated in the enum class `SecProfSummaryFlags`.
The ext-binary profile reader parses the integer type flag and reads
this bit. If it's set, the profile reader will parse vtable profiles.
4. The vtable profiles are optional in ext-binary format, and not
serialized out by default, we introduce an LLVM boolean option (named
`-extbinary-write-vtable-type-prof`). The ext-binary profile writer
reads the boolean option and decide whether to set the section flag bit
and serialize the in-memory class members corresponding to vtables.
5. This change doesn't implement `llvm-profdata overlap --sample` for
the vtable profiles. A subsequent change will do it to keep this one
focused on the profile format change.
We don't plan to add the vtable support to non-extensible format mainly
because of the maintenance cost to keep backward compatibility for prior
versions of profile data.
* Currently, the [non-extensible binary
format](https://github.com/llvm/llvm-project/blob/5c28af409978c19a35021855a29dcaa65e95da00/llvm/lib/ProfileData/SampleProfWriter.cpp#L899-L900)
does not have feature parity with extensible binary format today, for
instance, the former doesn't support [profile symbol
list](https://github.com/llvm/llvm-project/blob/41e22aa31b1905aa3e9d83c0343a96ec0d5187ec/llvm/include/llvm/ProfileData/SampleProf.h#L1518-L1522)
or context-sensitive PGO, both of which give measurable performance
boost. Presumably the non-extensible format is not in wide use.
---------
Co-authored-by: Paschalis Mpeis <paschalis.mpeis at arm.com>
Commit: f32874f77b5a6065a705ffc35b48bff1545cd6cd
https://github.com/llvm/llvm-project/commit/f32874f77b5a6065a705ffc35b48bff1545cd6cd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Log Message:
-----------
[LegalizeIntegerTypes] Use getShiftAmountConstant.
Commit: bac9e463b1f77b7354fe68c87d58be67e3294806
https://github.com/llvm/llvm-project/commit/bac9e463b1f77b7354fe68c87d58be67e3294806
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
Log Message:
-----------
[NFC][CodeGen][CFI] Extract CreateMetadataIdentifierForFnType (#158189)
For #158193
Commit: 8ac67aa8a9ef0012a619e1395a23a04cbea3abe9
https://github.com/llvm/llvm-project/commit/8ac67aa8a9ef0012a619e1395a23a04cbea3abe9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
Log Message:
-----------
[NFC][CFI][CodeGen] Move GeneralizeFunctionType out of CreateMetadataIdentifierGeneralized (#158190)
For #158193
Commit: 120d7475d35fc16b25c9d7c9b05e0ba44cca6449
https://github.com/llvm/llvm-project/commit/120d7475d35fc16b25c9d7c9b05e0ba44cca6449
Author: Alex Langford <alangford at apple.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M lldb/scripts/framework-header-fix.py
Log Message:
-----------
[lldb] Change directory creation logic in framework-header-fix (#158355)
It's possible for this logic to fail if the build system runs this
script in parallel. One instance could create the directory in between
another instance's checking of its existence and attempt at creation.
Instead, always try to create it and ignore any FileExistsErrors.
rdar://160120161
Commit: 9ac1f3420db82d7446449b8dd1e4ff07f93e7176
https://github.com/llvm/llvm-project/commit/9ac1f3420db82d7446449b8dd1e4ff07f93e7176
Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/lib/Dialect/Linalg/TestDataLayoutPropagation.cpp
Log Message:
-----------
[Linalg] Fix bug in control function logic of push down extract pattern (#158348)
Current logic just bails out if the first extract producer fails the
control function, this PR fixes that.
Signed-off-by: Nirvedh Meshram <nirvedh at gmail.com>
Commit: 1cbdb7370fd62b17762d1dfe19a471a70ae8b137
https://github.com/llvm/llvm-project/commit/1cbdb7370fd62b17762d1dfe19a471a70ae8b137
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M llvm/utils/lit/lit/TestRunner.py
A llvm/utils/lit/lit/builtin_commands/_launch_with_limit.py
A llvm/utils/lit/tests/Inputs/shtest-ulimit/lit.cfg
A llvm/utils/lit/tests/Inputs/shtest-ulimit/print_limits.py
A llvm/utils/lit/tests/Inputs/shtest-ulimit/ulimit-bad-arg.txt
A llvm/utils/lit/tests/Inputs/shtest-ulimit/ulimit_okay.txt
A llvm/utils/lit/tests/shtest-ulimit.py
Log Message:
-----------
Reapply "[lit] Implement ulimit builtin"
This reverts commit 330068a74bfb6333f9016e3c4053eeaf4989d601.
This was causing some test failures on MacOS that are now fixed in the reland.
These failures were related to calling ulimit -v despite XNU not having support
for that option. This patch simply disables the test on non-Linux platforms for
now until we can have a Linux specific test for ulimit -v.
Commit: a5bff94ffd1b81a3562f02f05980ee87cc4164df
https://github.com/llvm/llvm-project/commit/a5bff94ffd1b81a3562f02f05980ee87cc4164df
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
Log Message:
-----------
[NFC][CodeGen][CFI] Add GeneralizePointers parameter to GeneralizeFunctionType (#158191)
For #158193
---------
Co-authored-by: Alex Langford <alangford at apple.com>
Commit: ba3b3e3ac812ae30f12f92ee8c4a1c668cd9817e
https://github.com/llvm/llvm-project/commit/ba3b3e3ac812ae30f12f92ee8c4a1c668cd9817e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M clang/test/CodeGen/cfi-icall-generalize.c
M clang/test/CodeGen/cfi-icall-normalize2.c
M clang/test/CodeGen/kcfi-generalize.c
M clang/test/CodeGen/kcfi-normalize.c
Log Message:
-----------
[NFC][CodeGen][CFI] Pre-commit transparent_union tests (#158192)
For #158193
Commit: 9af4a854602804430dc04766ce1be311259707d6
https://github.com/llvm/llvm-project/commit/9af4a854602804430dc04766ce1be311259707d6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.tr.gfx1250.w32.ll
Log Message:
-----------
AMDGPU: Add test which shows unnecessary register alignment (#158168)
The b96 tr loads are a special case that does not require even
aligned VGPRs
Commit: 1180c2ced008e33b0a4b2b91b3cb24724f06147c
https://github.com/llvm/llvm-project/commit/1180c2ced008e33b0a4b2b91b3cb24724f06147c
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.workgroup.id.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.workgroup.max.flat.id.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.workgroup.max.id.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
A llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-opt.ll
A llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
Log Message:
-----------
[AMDGPU] Support lowering of cluster related instrinsics (#157978)
Since many code are connected, this also changes how workgroup id is lowered.
Co-authored-by: Jay Foad <jay.foad at amd.com>
Co-authored-by: Ivan Kosarev <ivan.kosarev at amd.com>
Commit: ffcaeca90a3c0965acace6645f775ab1d876fa6e
https://github.com/llvm/llvm-project/commit/ffcaeca90a3c0965acace6645f775ab1d876fa6e
Author: Afanasyev Ivan <ivafanas at gmail.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/TailDuplicator.cpp
Log Message:
-----------
[CodeGen] Fix partial phi input removal in TailDuplicator. (#158265)
Tail duplicator removes the first PHI income from the predecessor basic
block, while it should remove all operands for this block.
PHI instructions happen to have duplicated values for the same
predecessor block:
* `UnreachableMachineBlockElim` assumes that PHI instruction might have
duplicates:
https://github.com/llvm/llvm-project/blob/7289f2cd0c371b2539faa628ec0eea58fa61892c/llvm/lib/CodeGen/UnreachableBlockElim.cpp#L160
* `AArch64` directly states that PHI instruction might have duplicates:
https://github.com/llvm/llvm-project/blob/7289f2cd0c371b2539faa628ec0eea58fa61892c/llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp#L244
* And `Hexagon`:
https://github.com/llvm/llvm-project/blob/7289f2cd0c371b2539faa628ec0eea58fa61892c/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp#L844
We have caught the bug on custom out-of-tree backend. `TailDuplicator`
should remove all operands corresponding to the removing block.
Please note, that bug likely does not affect in-tree backends, because:
* It happens only in scenario of **partial** tail duplication (i.e. tail
block is duplicated in some predecessors, but not in all of them)
* It happens in **Pre-RA** tail duplication only (Post-RA does not
contain PHIs, obviously)
* The only backend (I know) uses Pre-RA tail duplication is X86. It uses
tail duplication via `early-tailduplication` pass which declines partial
tail duplication via `canCompletelyDuplicateBB` check, because it uses
`TailDuplicator::tailDuplicateBlocks` public API.
So, bug happens only in the case of pre-ra partial tail duplication if
backend uses `TailDuplicator::tailDuplicate` public API directly.
That's why I can not add reproducer test for in-tree backends.
Commit: 7aad3830fb208771254b4ae63a01042744471091
https://github.com/llvm/llvm-project/commit/7aad3830fb208771254b4ae63a01042744471091
Author: lntue <lntue at google.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M libc/src/__support/endian_internal.h
M libc/src/__support/macros/config.h
M libc/src/string/memory_utils/CMakeLists.txt
M libc/src/string/memory_utils/op_generic.h
M libc/src/string/memory_utils/op_x86.h
M libc/src/string/memory_utils/utils.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/LibcTest.h
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
Log Message:
-----------
[libc] Some MSVC compatibility changes for src/string/memory_utils. (#158393)
Commit: 0ca54d7738103f5ff352f7194b34a11aa4d5aea0
https://github.com/llvm/llvm-project/commit/0ca54d7738103f5ff352f7194b34a11aa4d5aea0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
Log Message:
-----------
[LegalizeTypes] Use getShiftAmountConstant in SplitInteger. (#158392)
This function contained old code for handling the case that the type
returned getScalarShiftAmountTy can't hold the shift amount.
These days this is handled by getShiftAmountTy which is used by
getShiftAmountConstant.
Commit: 004f209199d53a0c7a00ca7af4446407da4c9fb1
https://github.com/llvm/llvm-project/commit/004f209199d53a0c7a00ca7af4446407da4c9fb1
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/cfi-icall-generalize.c
M clang/test/CodeGen/cfi-icall-normalize2.c
M clang/test/CodeGen/kcfi-generalize.c
M clang/test/CodeGen/kcfi-normalize.c
Log Message:
-----------
[CodeGen][CFI] Generalize transparent union parameters (#158193)
According GCC documentation transparent union
calling convention is the same as the type of the
first member of the union.
C++ ignores attribute.
Note, it does not generalize args of function pointer args.
It's unnecessary with pointer generalization.
It will be fixed in followup patch.
---------
Co-authored-by: lntue <lntue at google.com>
Commit: 4ebd2023291d47402ecd170864df9ea541ea33ba
https://github.com/llvm/llvm-project/commit/4ebd2023291d47402ecd170864df9ea541ea33ba
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[LegalizeTypes][X86] Use getShiftAmountConstant in ExpandIntRes_SIGN_EXTEND. (#158388)
This ensures we don't need to fixup the shift amount later.
Unfortunately, this enabled the
(SRA (SHL X, ShlConst), SraConst) -> (SRA (sext_in_reg X), SraConst -
ShlConst) combine in combineShiftRightArithmetic for some cases in
is_fpclass-fp80.ll. So we need to also update checkSignTestSetCCCombine
to look through sign_extend_inreg to prevent a regression.
Commit: 4cbf4408e7d27786490bae933e45e1c3fe2011ec
https://github.com/llvm/llvm-project/commit/4cbf4408e7d27786490bae933e45e1c3fe2011ec
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Log Message:
-----------
[SelectionDAG] Use getShiftAmountConstant. (#158395)
Many of the shifts in LegalizeIntegerTypes.cpp were using getPointerTy.
Commit: 261000760fba7ab353962fbc1a74c194acd3e097
https://github.com/llvm/llvm-project/commit/261000760fba7ab353962fbc1a74c194acd3e097
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M lldb/docs/.htaccess
M lldb/docs/use/python-reference.rst
R lldb/docs/use/python.rst
A lldb/docs/use/tutorials/accessing-documentation.md
A lldb/docs/use/tutorials/automating-stepping-logic.md
A lldb/docs/use/tutorials/breakpoint-triggered-scripts.md
A lldb/docs/use/tutorials/creating-custom-breakpoints.md
A lldb/docs/use/tutorials/custom-frame-recognizers.md
A lldb/docs/use/tutorials/extending-target-stop-hooks.md
A lldb/docs/use/tutorials/implementing-standalone-scripts.md
A lldb/docs/use/tutorials/python-embedded-interpreter.md
A lldb/docs/use/tutorials/script-driven-debugging.md
A lldb/docs/use/tutorials/writing-custom-commands.md
Log Message:
-----------
[lldb/docs] Breakdown python reference into multiple files (#158331)
This pages improve the LLDB website documentation readability and
discoverability by breaking down the very long python-reference page
into multiple subpages each explaining a specific topic.
The long term goal is to have tutorials for every scripting extension.
This also converts the pages to markdown, since it's easier to write.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 0c3cf200f5b918fb5c1114e9f1764c2d54d1779b
https://github.com/llvm/llvm-project/commit/0c3cf200f5b918fb5c1114e9f1764c2d54d1779b
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/simplify-libcalls-new.ll
Log Message:
-----------
[MemProf] Optionally allow transformation of nobuiltin operator new (#158396)
For cases where we can guarantee the application does not override
operator new.
Commit: c642e2aa61c430ae597b0bd08e924339292e30e9
https://github.com/llvm/llvm-project/commit/c642e2aa61c430ae597b0bd08e924339292e30e9
Author: Abhinav Kumar <96587705+kr-2003 at users.noreply.github.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M clang/include/clang/Interpreter/Interpreter.h
M clang/lib/Interpreter/IncrementalExecutor.cpp
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/unittests/Interpreter/CMakeLists.txt
A clang/unittests/Interpreter/OutOfProcessInterpreterTests.cpp
Log Message:
-----------
[clang-repl] Add support for running custom code in Remote JIT executor (#157358)
Introduce a custom lambda mechanism that allows injecting user-defined
code into the Remote JIT’s executor.
---------
Co-authored-by: kr-2003 <kumar.kr.abhinav at gmail.com>
Commit: 1dc4db8f1ec535adc663d781f9f3a39f78d78256
https://github.com/llvm/llvm-project/commit/1dc4db8f1ec535adc663d781f9f3a39f78d78256
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
AMDGPU: Relax verifier for agpr/vgpr loads and stores (#158391)
Commit: 2a3c9f917d4112d7d96be0f2efa9e97f0b4bb842
https://github.com/llvm/llvm-project/commit/2a3c9f917d4112d7d96be0f2efa9e97f0b4bb842
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/opaque.cpp
Log Message:
-----------
[CIR] Upstream VisitOpaqueValueExpr support for Complex & Scalar (#157331)
This change adds support for the OpaqueValueExpr for Complex & Scalar
Issue: https://github.com/llvm/llvm-project/issues/141365
Commit: cf9576d940ccd4fbe7d3fe0eef5cfdc9f693eade
https://github.com/llvm/llvm-project/commit/cf9576d940ccd4fbe7d3fe0eef5cfdc9f693eade
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/builtins-elementwise.c
A clang/test/CIR/CodeGen/builtins-floating-point.c
Log Message:
-----------
[CIR] Upstream FPToFPBuiltin CosOp (#158342)
Upstream support for FPToFPBuiltin CosOp
Commit: b31f8cb1c9108f6b45c8929df27b61396a4ccd45
https://github.com/llvm/llvm-project/commit/b31f8cb1c9108f6b45c8929df27b61396a4ccd45
Author: nerix <nerixdev at outlook.de>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M lldb/test/CMakeLists.txt
M lldb/test/Shell/SymbolFile/PDB/native-setting.cpp
M lldb/test/Shell/lit.cfg.py
M lldb/test/Shell/lit.site.cfg.py.in
Log Message:
-----------
[LLDB] Require DIA SDK for testing the PDB plugin-selection setting (#158284)
If LLDB is built without the DIA SDK enabled, then the native plugin is
used regardless of `plugin.symbol-file.pdb.reader` or
`LLDB_USE_NATIVE_PDB_READER`. This made the test fail on Windows when
the DIA SDK was disabled
(https://github.com/llvm/llvm-project/issues/114906#issuecomment-3241796062).
This PR changes the requirement for the test from `target-windows` to
`diasdk` (only used in this test).
Commit: 9ac292441fcc4ebbaf4c7c36a9b2e2dd32580be0
https://github.com/llvm/llvm-project/commit/9ac292441fcc4ebbaf4c7c36a9b2e2dd32580be0
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
[Clang] Fix the source location of default template arguments in placeholder constraints (#158414)
We discovered this issue while working on the concept normalization
refactoring. We missed the source location when diagnosing the
instantiation point of the placeholder constraints, which is involved by
the substitution of default template arguments that happens before
constraint evaluation.
See the issue alive: https://godbolt.org/z/cWr9qP3E8
Commit: a4993a27fb005c2c65e065e9d7703533f4d26bd2
https://github.com/llvm/llvm-project/commit/a4993a27fb005c2c65e065e9d7703533f4d26bd2
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/abds-neg.ll
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/abdu-neg.ll
M llvm/test/CodeGen/AArch64/abdu.ll
M llvm/test/CodeGen/AArch64/adds_cmn.ll
Log Message:
-----------
[AArch64] Combine ADDS and SUBS nodes with the non-flag setting versions (#157563)
We do that with the other flag setting nodes. We should do this with all
flag setting and non-flag setting nodes.
Commit: 86397f55d5b3ac2ebefc91bbf1a7a6a23b44a3e2
https://github.com/llvm/llvm-project/commit/86397f55d5b3ac2ebefc91bbf1a7a6a23b44a3e2
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/lib/Target/M68k/CMakeLists.txt
Log Message:
-----------
[M68k] Add missing dependency on TargetParser
Became necessary after f3efbce4.
Commit: ee2a225a25fbc41fc7a47e089f09022f90eeaac3
https://github.com/llvm/llvm-project/commit/ee2a225a25fbc41fc7a47e089f09022f90eeaac3
Author: Ryan Kim <ryan at a41.io>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M mlir/include/mlir/ExecutionEngine/MemRefUtils.h
M mlir/unittests/ExecutionEngine/Invoke.cpp
Log Message:
-----------
[mlir] Fix correct memset range in `OwningMemRef` zero-init (#158200)
`OwningMemref` allocates with overprovision + manual alignment.
This is fixing the zero-initialization of the data, the existing code
was potentially overrunning the allocation:
```cpp
memset(descriptor.data, 0, size + desiredAlignment); // ❌ may overrun
```
This is invalid because `descriptor.data` (the aligned pointer) **does
not point to the full allocated block** (`size + desiredAlignment`).
Zeroing that much from the aligned start can write past the end of the
allocation.
Instead we only initialize the data from the aligned pointer for the expected
buffer size. The padding from [allocatedPtr, alignedDataPtr] is left untouched.
Commit: de04d422dd936a5c722b26fcaf4c9a46c2c23b14
https://github.com/llvm/llvm-project/commit/de04d422dd936a5c722b26fcaf4c9a46c2c23b14
Author: 0xdeadbeaf <0xdeadbeaf at tutamail.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/easily-swappable-parameters.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-ignore.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicit-qualifiers.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicits.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicits.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-len2.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-len3.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-prefixsuffixname.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-qualifiermixing.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-relatedness.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-relatedness.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters.c
Log Message:
-----------
[clang-tidy] Fixed typo for bugprone-easily-swappable-parameters clang-tidy check (#158282)
I came across this little typo mistake while reading the docs, so I've
fixed it :)
Commit: d976be0bb4f706a7f8d446cd5639651db66bf7a9
https://github.com/llvm/llvm-project/commit/d976be0bb4f706a7f8d446cd5639651db66bf7a9
Author: Timothy Hoffman <4001421+tim-hoffman at users.noreply.github.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/include/mlir/Transforms/Passes.td
Log Message:
-----------
[mlir] Documentation typo fixes (#135732)
Commit: d594a009c9557698c412d2a27d36b24120d390c2
https://github.com/llvm/llvm-project/commit/d594a009c9557698c412d2a27d36b24120d390c2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/PointerIntPair.h
Log Message:
-----------
[ADT] Simplify IntMask (NFC) (#158410)
We can do the shift in uintptr_t without going through intptr_t.
Commit: 3f4eb814452e243ceef6e04494f6525dc8ce13e6
https://github.com/llvm/llvm-project/commit/3f4eb814452e243ceef6e04494f6525dc8ce13e6
Author: 0xdeadbeaf <0xdeadbeaf at tutamail.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst
Log Message:
-----------
[cland-tidy][NFC] Fixed documentation for modernize-make-shared check (#158421)
I was surprised to see a different value for the
`MakeSmartPtrFunctionHeader` option of the `modernize-make-unique` and
`modernize-make-shared` clang-tidy checks. See, respectively:
[modernize-make-unique](https://github.com/llvm/llvm-project/blob/86397f55d5b3ac2ebefc91bbf1a7a6a23b44a3e2/clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.rst?plain=1#L40)
and
[modernize-make-shared](https://github.com/llvm/llvm-project/blob/86397f55d5b3ac2ebefc91bbf1a7a6a23b44a3e2/clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst?plain=1#L40).
>From what I've read in the codebase, I believe both checks use the same
default value for the `MakeSmartPtrFunctionHeader`: `<memory>` (from
[here](https://github.com/llvm/llvm-project/blob/d976be0bb4f706a7f8d446cd5639651db66bf7a9/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp#L45-L46)).
Commit: 5dbcbb65abc808b2909d693038fd7e461e282371
https://github.com/llvm/llvm-project/commit/5dbcbb65abc808b2909d693038fd7e461e282371
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/Twine.h
M llvm/lib/Support/Twine.cpp
Log Message:
-----------
[ADT] Store integers by value in Twine (NFC) (#158409)
This patch stores integers by value in Twine for simplicity. I don't
think there is a good reason to store char, unsigned, and int by value
and all the other integers by pointers.
Commit: f94e36d2d398018d2e21a650301f27260d10fe26
https://github.com/llvm/llvm-project/commit/f94e36d2d398018d2e21a650301f27260d10fe26
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/docs/TestingGuide.rst
Log Message:
-----------
[llvm] Proofread TestingGuide.rst (#158411)
Commit: 111de45e838a7d33637da8807212284c988f7fae
https://github.com/llvm/llvm-project/commit/111de45e838a7d33637da8807212284c988f7fae
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang-scan-deps] Move command-line generation out of critical section (#158187)
The first call to getBuildArguments() can be costly. Although the
original author’s comment (from commit 3b1a686) states that it should
be called outside the critical section, it is currently invoked within
the locked region.
This change moves it outside the critical section to match the original
intent and reduce lock contention.
Commit: ef7e03a2d1571e3c651fa9ccd205dbacf1a103c8
https://github.com/llvm/llvm-project/commit/ef7e03a2d1571e3c651fa9ccd205dbacf1a103c8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/first-order-recurrence-with-uniform-ops.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
Log Message:
-----------
[VPlan] Limit ExtractLastElem fold to recipes guaranteed single-scalar.
vputils::isSingleScalar(A) may return true to recipes that produce only
a single scalar value, but they could still end up as vector
instruction, because the recipe could not be converted to a
single-scalar VPInstruction/VPReplicateRecipe.
For now, only apply the fold for recipes guaranteed to produce a single
value, i.e. single-scalar VPInstructions and VPReplicateRecipes.
Fixes https://github.com/llvm/llvm-project/issues/158319.
Commit: a7c963ab763c98188010cd654902cee4734249ee
https://github.com/llvm/llvm-project/commit/a7c963ab763c98188010cd654902cee4734249ee
Author: Alex Guteniev <gutenev at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M libcxx/test/support/MinSequenceContainer.h
Log Message:
-----------
[libc++][test] update `MinSequenceContainer.h` to make one more test pass on MSVC STL (#158344)
Continues #140287
`from_range_t` constructor is needed by MSVC STL to pass
`std/containers/container.adaptors/flat.set/flat.set.cons/range.pass.cpp`.
The rest are added to complete the container according to
https://github.com/llvm/llvm-project/pull/140287#pullrequestreview-2848573089.
Commit: 4b82db90b8b6b0ff6f6d7238f7f11858b2f1de51
https://github.com/llvm/llvm-project/commit/4b82db90b8b6b0ff6f6d7238f7f11858b2f1de51
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
A .github/workflows/gha-codeql.yml
Log Message:
-----------
[Github] Add CodeQL Action to check Github Actions Workflows (#158394)
This should point out obvious security issues with our Github Actions
workflows.
Commit: 30e9cbacab5b474de89992851f126fff300c1ab7
https://github.com/llvm/llvm-project/commit/30e9cbacab5b474de89992851f126fff300c1ab7
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Move logic to compute scalarization overhead to cost helper(NFC)
Extract the logic to compute the scalarization overhead to a helper for
easy re-use in the future.
Commit: 9b70b84b89f0de2dc4641da02fe54a6a1ef46e6e
https://github.com/llvm/llvm-project/commit/9b70b84b89f0de2dc4641da02fe54a6a1ef46e6e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/EnumeratedArray.h
Log Message:
-----------
[ADT] Implement EnumeratedArray with std::array (NFC) (#158407)
EnumeratedArray provides an std::array-like interface except that you
access the array with an enum index. Now, the problem is that because
the underlying array is implemented as a C array, we have to mirror
what std::array would do:
iterator end() { return begin() + size(); }
reverse_iterator rbegin() { return reverse_iterator(end()); }
This patch switches to the std::array. This way, we just have to
"forward" calls to begin, end, rbegin, rend, etc. Also, we benefit
from std::array::fill in one of the constructors.
Commit: c70b9c8622e683e46b29609dd1e1b31d8e5025c8
https://github.com/llvm/llvm-project/commit/c70b9c8622e683e46b29609dd1e1b31d8e5025c8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/SparseBitVector.h
Log Message:
-----------
[ADT] Use range-based for loops in SparseBitVector.h (NFC) (#158408)
Commit: de7e3a589525179f3b02b84b194aac6cf581425c
https://github.com/llvm/llvm-project/commit/de7e3a589525179f3b02b84b194aac6cf581425c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Compute cost of scalar (U|S)Div, (U|S)Rem in computeCost (NFCI).
Directly compute the cost of UDiv, SDiv, URem, SRem in VPlan.
Commit: bf156a2087f4a6d251d57369f6bd363cfa7adb41
https://github.com/llvm/llvm-project/commit/bf156a2087f4a6d251d57369f6bd363cfa7adb41
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
A clang/test/DebugInfo/CXX/vtable-external.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
A clang/test/DebugInfo/CXX/vtable-template-instantiation.cpp
Log Message:
-----------
[Clang](NFC) Add coverage for VTable debug info (#151818)
Add test for:
- shows effect of inlining member functions
- shows effect of template instantiation methods
Make cleaner a bit:
- drops unnecessary `REQUIRES` clause
- uses `%clang_cc1` instead of `%clang -Xclang`
- uses `-O0 -disable-llvm-passes` and `-O1 -disable-llvm-passes` because
the optimization level affects the linkage of VTables.
Commit: 4abcbb053f8adaf48dbfff677e8ccda1f6d52b33
https://github.com/llvm/llvm-project/commit/4abcbb053f8adaf48dbfff677e8ccda1f6d52b33
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M clang/lib/Basic/Targets/X86.h
M clang/test/CodeGen/mangle-windows.c
M clang/test/CodeGenCXX/mangle-windows.cpp
Log Message:
-----------
[Clang][Cygwin] Use correct mangling rule (#158404)
In
https://github.com/llvm/llvm-project/commit/45ca613c135ea7b5fbc63bff003f20bf20f62081,
whether to mangle names based on calling conventions according to
Microsoft conventions was refactored to a bool in the TargetInfo. Cygwin
targets also require this mangling, but were missed, presumably due to
lack of test coverage of these targets. This commit enables the name
mangling for Cygwin, and also enables test coverage of this mangling on
Cygwin targets.
Commit: 9490d58fa92bb338db96af331194c9ba26eb0201
https://github.com/llvm/llvm-project/commit/9490d58fa92bb338db96af331194c9ba26eb0201
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
Revert "[VPlan] Compute cost of scalar (U|S)Div, (U|S)Rem in computeCost (NFCI)."
This reverts commit de7e3a589525179f3b02b84b194aac6cf581425c.
This broke quite a few upstream buildbots and premerge. Reverting for now to
get things back to green.
https://lab.llvm.org/buildbot/#/builders/137/builds/25467
Commit: a5641e40d7e6424ae18c04038eed6b94c59eb7c4
https://github.com/llvm/llvm-project/commit/a5641e40d7e6424ae18c04038eed6b94c59eb7c4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Add DenseMap::deallocateBuckets (NFC) (#158443)
This patch adds a small helper function DenseMap::deallocateBuckets
just like SmallDenseMap::deallocateBuckets.
With the new helper function:
~DenseMap()
DenseMap &operator=(DenseMap &&other)
will look identical to their respective SmallDenseMap counterparts,
facilitating further refactoring.
Commit: 0bbf2ea08a2adb0880c7958f9c609af7c479da46
https://github.com/llvm/llvm-project/commit/0bbf2ea08a2adb0880c7958f9c609af7c479da46
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-09-13 (Sat, 13 Sep 2025)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[profcheck] Exclude LoopVectorize test introduced in ef7e03a (#158452)
Commit: ad9d551e5568e155005e569a0c9527b6e45c92b8
https://github.com/llvm/llvm-project/commit/ad9d551e5568e155005e569a0c9527b6e45c92b8
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/lib/Target/Mips/Mips16InstrInfo.td
M llvm/lib/Target/Mips/MipsConstantIslandPass.cpp
Log Message:
-----------
[Mips] Remove `size` operand of LwRxPcTcp16 / LwRxPcTcpX16 (#157348)
There is no such operand on LW instructions. It is neither encoded nor
printed, and was only inserted by MipsConstantIslands pass but never
used after that.
Commit: 87cca0c32c4e3ce51b53cf5c3ee0a430c1a6cb8f
https://github.com/llvm/llvm-project/commit/87cca0c32c4e3ce51b53cf5c3ee0a430c1a6cb8f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
A llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/lit.cfg
A llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/ulimit_okay.txt
M llvm/utils/lit/tests/Inputs/shtest-ulimit/ulimit_okay.txt
A llvm/utils/lit/tests/shtest-ulimit-nondarwin.py
M llvm/utils/lit/tests/shtest-ulimit.py
Log Message:
-----------
[lit] Split Linux specific ulimit tests (#158390)
Some of the ulimit limits do not work on some POSIX platforms. THe
motivating example here is ulimit -v on MacOS as the relevant system
calls are not implemented in XNU. Splitting the tests lets us keep test
coverage on POSIX (non-Linux) platforms.
Commit: b6014b602bc5bba643c292bca0524876f74178dd
https://github.com/llvm/llvm-project/commit/b6014b602bc5bba643c292bca0524876f74178dd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/utils/lit/tests/shtest-ulimit.py
Log Message:
-----------
[lit] Mark shtest-ulimit.py unsupported on Solaris
There were some build failures because apparently running ulimit -n 50
actually means ulimit -n 48 there. Losing the test coverage on Solaris
shouldn't be a big deal.
Commit: 9c91d4a31d758cbddc0fc6347470604c2040ab2f
https://github.com/llvm/llvm-project/commit/9c91d4a31d758cbddc0fc6347470604c2040ab2f
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/ReleaseNotesTemplate.txt
Log Message:
-----------
[clang-tools-extra][docs] Add "Potentially Breaking Changes" section to ReleaseNotes (#158434)
This implements:
https://github.com/llvm/llvm-project/blob/30e9cbacab5b474de89992851f126fff300c1ab7/llvm/docs/DeveloperPolicy.rst?plain=1#L282-L286
>From LLVM developer policy.
Commit: 43ba999d1205f787e76f4d4a01f45380d373efe9
https://github.com/llvm/llvm-project/commit/43ba999d1205f787e76f4d4a01f45380d373efe9
Author: Dor Arad <45083160+undor at users.noreply.github.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/canonicalize.mlir
Log Message:
-----------
[mlir][scf] ExecuteRegionOp folders to consider no_inline attribute (#158083)
Fix missing handling of no_inline existence in ExecuteRegionOp folders.
Co-authored-by: Dor Arad <dor.arad at mobileye.com>
Commit: 1b1b83ffacc56e0c6344be25a7238f509fd705e6
https://github.com/llvm/llvm-project/commit/1b1b83ffacc56e0c6344be25a7238f509fd705e6
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
Log Message:
-----------
[CIR][NFC] Remove Covered MissingFeatures flags for Complex (#158425)
Remove Covered MissingFeatures flags for Complex
Commit: 91d4c0dfdf226665c17d4a44e2fab466e6103d18
https://github.com/llvm/llvm-project/commit/91d4c0dfdf226665c17d4a44e2fab466e6103d18
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
Reapply "[VPlan] Compute cost of scalar (U|S)Div, (U|S)Rem in computeCost (NFCI)."
This reverts commit 9490d58fa92bb338db96af331194c9ba26eb0201.
Recommits de7e3a58952 with a fix for an unhandled case, causing crashes
in some configs.
Commit: 94213a4aefc8dda671493aed993f0c6665c5f146
https://github.com/llvm/llvm-project/commit/94213a4aefc8dda671493aed993f0c6665c5f146
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety] Add support for GSL Pointer types (#154009)
This extends the lifetime safety analysis to support C++ types annotated
with `gsl::Pointer`, which represent non-owning "view" types like
`std::string_view`. These types have the same lifetime safety concerns
as raw pointers and references.
- Added support for detecting and analyzing `gsl::Pointer` annotated
types in lifetime safety analysis
- Implemented handling for various expressions involving `gsl::Pointer`
types:
- Constructor expressions
- Member call expressions (especially conversion operators)
- Functional cast expressions
- Initialization list expressions
- Materialized temporary expressions
- Updated the pointer type detection to recognize `gsl::Pointer` types
- Added handling for function calls that create borrows through
reference parameters
Fixes: https://github.com/llvm/llvm-project/issues/152513
Commit: e07b5968d4ac1515582ad578aaa5497782972666
https://github.com/llvm/llvm-project/commit/e07b5968d4ac1515582ad578aaa5497782972666
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/abs-intrinsic.ll
Log Message:
-----------
[InstCombine] Fold select pattern with sub and negation to abs intrinsic (#156246)
```llvm
%sub = sub nsw T %x, %y
%cmp = icmp sgt T %x, %y ; or sge
%neg = sub T 0, %sub
%abs = select i1 %cmp, T %sub, T %neg
```
becomes:
```llvm
%sub = sub nsw T %x, %y
%abs = call T @llvm.abs.T(T %sub, i1 false)
```
Alive2: https://alive2.llvm.org/ce/z/ApdJX8
https://alive2.llvm.org/ce/z/gRTmZk
Commit: 9ee1f159dccbee1e19ab7584e678af9be1054e2d
https://github.com/llvm/llvm-project/commit/9ee1f159dccbee1e19ab7584e678af9be1054e2d
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-qualified-auto in MPIToLLVM.cpp (NFC)
Commit: 48babe193186248e1c386a847047d59ab61c762d
https://github.com/llvm/llvm-project/commit/48babe193186248e1c386a847047d59ab61c762d
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/TypeToLLVM.cpp
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Target/LLVMIR/ptr.mlir
Log Message:
-----------
[mlir][LLVM] Add LLVMAddrSpaceAttrInterface and NVVMMemorySpaceAttr (#157339)
This patch introduces the `LLVMAddrSpaceAttrInterface` for defining
compatible LLVM address space attributes
To test this interface, this patch also adds:
- Adds NVVMMemorySpaceAttr implementing both LLVMAddrSpaceAttrInterface
and MemorySpaceAttrInterface
- Converts NVVM memory space constants from enum to MLIR enums
- Updates all NVVM memory space references to use new attribute system
- Adds support for NVVM memory spaces in ptr dialect translation
Example:
```mlir
llvm.func @nvvm_ptr_address_space(
!ptr.ptr<#nvvm.memory_space<global>>,
!ptr.ptr<#nvvm.memory_space<shared>>,
!ptr.ptr<#nvvm.memory_space<constant>>,
!ptr.ptr<#nvvm.memory_space<local>>,
!ptr.ptr<#nvvm.memory_space<tensor>>,
!ptr.ptr<#nvvm.memory_space<shared_cluster>>
) -> !ptr.ptr<#nvvm.memory_space<generic>>
```
Translating the above code to LLVM produces:
```llvm
declare ptr @nvvm_ptr_address_space(ptr addrspace(1), ptr addrspace(3), ptr addrspace(4), ptr addrspace(5), ptr addrspace(6), ptr addrspace(7))
```
To convert the memory space enum to the new enum class use:
```bash
grep -r . -e "NVVMMemorySpace::kGenericMemorySpace" -l | xargs sed -i -e "s/NVVMMemorySpace::kGenericMemorySpace/NVVMMemorySpace::Generic/g"
grep -r . -e "NVVMMemorySpace::kGlobalMemorySpace" -l | xargs sed -i -e "s/NVVMMemorySpace::kGlobalMemorySpace/NVVMMemorySpace::Global/g"
grep -r . -e "NVVMMemorySpace::kSharedMemorySpace" -l | xargs sed -i -e "s/NVVMMemorySpace::kSharedMemorySpace/NVVMMemorySpace::Shared/g"
grep -r . -e "NVVMMemorySpace::kConstantMemorySpace" -l | xargs sed -i -e "s/NVVMMemorySpace::kConstantMemorySpace/NVVMMemorySpace::Constant/g"
grep -r . -e "NVVMMemorySpace::kLocalMemorySpace" -l | xargs sed -i -e "s/NVVMMemorySpace::kLocalMemorySpace/NVVMMemorySpace::Local/g"
grep -r . -e "NVVMMemorySpace::kTensorMemorySpace" -l | xargs sed -i -e "s/NVVMMemorySpace::kTensorMemorySpace/NVVMMemorySpace::Tensor/g"
grep -r . -e "NVVMMemorySpace::kSharedClusterMemorySpace" -l | xargs sed -i -e "s/NVVMMemorySpace::kSharedClusterMemorySpace/NVVMMemorySpace::SharedCluster/g"
```
NOTE: A future patch will add support for ROCDL, it wasn't added here to
keep the patch small.
Commit: 24f836a8aef0a55be4c93e9b7e0fcf4bbcd00ebb
https://github.com/llvm/llvm-project/commit/24f836a8aef0a55be4c93e9b7e0fcf4bbcd00ebb
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-else-after-return in TosaProfileCompliance.cpp (NFC)
Commit: 3336c6cc2c7e729f6b292ba3929b6c083fcff21b
https://github.com/llvm/llvm-project/commit/3336c6cc2c7e729f6b292ba3929b6c083fcff21b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Fix comment typos in DenseMap.h (#158457)
- The math is wrong.
- We are discussing "inequality".
- "For example" requires ",".
Commit: 0e79732289cdd1d8e19a2151b780a4f02f814e2e
https://github.com/llvm/llvm-project/commit/0e79732289cdd1d8e19a2151b780a4f02f814e2e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/docs/Atomics.rst
Log Message:
-----------
[llvm] Proofread Atomics.rst (#158459)
Commit: ba985b9a7392183bb3a5af707da6256406724509
https://github.com/llvm/llvm-project/commit/ba985b9a7392183bb3a5af707da6256406724509
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/lib/Target/CSKY/CMakeLists.txt
M llvm/lib/Target/Xtensa/CMakeLists.txt
Log Message:
-----------
[CSKY][Xtensa] Add missing dependency on TargetParser
Became necessary after f3efbce4.
Commit: bfedb4a938438044b1c1b84a2683419f9c7143b4
https://github.com/llvm/llvm-project/commit/bfedb4a938438044b1c1b84a2683419f9c7143b4
Author: Nico Weber <thakis at chromium.org>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] port b31f8cb1c910
Commit: 1a65e63c596d9459f49e4495e92cdecac2795f71
https://github.com/llvm/llvm-project/commit/1a65e63c596d9459f49e4495e92cdecac2795f71
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/Ptr/IR/PtrAttrDefs.td
M mlir/include/mlir/Dialect/Ptr/IR/PtrAttrs.h
M mlir/include/mlir/Dialect/Ptr/IR/PtrOps.td
M mlir/include/mlir/IR/DialectImplementation.h
M mlir/lib/Dialect/Ptr/IR/PtrDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/Ptr/PtrToLLVMIRTranslation.cpp
M mlir/test/Dialect/Ptr/ops.mlir
M mlir/test/Target/LLVMIR/ptr.mlir
Log Message:
-----------
[mlir][ptr] Add ConstantOp with NullAttr and AddressAttr support (#157347)
This patch introduces the `ptr.constant` operation. It also adds the
`NullAttr` and `AddressAttr` for representing null pointers, and integer
raw addresses.
It also implements LLVM IR translation for `ptr.constant` with
`#ptr.null` or `#ptr.address` attributes.
Finally, it extends `FieldParser` to support APInt parsing.
Example:
```mlir
llvm.func @constant_address_op() ->
!llvm.struct<(!ptr.ptr<#llvm.address_space<0>>,
!ptr.ptr<#llvm.address_space<1>>,
!ptr.ptr<#llvm.address_space<2>>)> {
%0 = ptr.constant #ptr.null : !ptr.ptr<#llvm.address_space<0>>
%1 = ptr.constant #ptr.address<0x1000> : !ptr.ptr<#llvm.address_space<1>>
%2 = ptr.constant #ptr.address<3735928559> : !ptr.ptr<#llvm.address_space<2>>
%3 = llvm.mlir.poison : !llvm.struct<(!ptr.ptr<#llvm.address_space<0>>, !ptr.ptr<#llvm.address_space<1>>, !ptr.ptr<#llvm.address_space<2>>)>
%4 = llvm.insertvalue %0, %3[0] : !llvm.struct<(!ptr.ptr<#llvm.address_space<0>>, !ptr.ptr<#llvm.address_space<1>>, !ptr.ptr<#llvm.address_space<2>>)>
%5 = llvm.insertvalue %1, %4[1] : !llvm.struct<(!ptr.ptr<#llvm.address_space<0>>, !ptr.ptr<#llvm.address_space<1>>, !ptr.ptr<#llvm.address_space<2>>)>
%6 = llvm.insertvalue %2, %5[2] : !llvm.struct<(!ptr.ptr<#llvm.address_space<0>>, !ptr.ptr<#llvm.address_space<1>>, !ptr.ptr<#llvm.address_space<2>>)>
llvm.return %6 : !llvm.struct<(!ptr.ptr<#llvm.address_space<0>>, !ptr.ptr<#llvm.address_space<1>>, !ptr.ptr<#llvm.address_space<2>>)>
}
```
Result of translation to LLVM IR:
```llvm
define { ptr, ptr addrspace(1), ptr addrspace(2) } @constant_address_op() {
ret { ptr, ptr addrspace(1), ptr addrspace(2) } { ptr null, ptr addrspace(1) inttoptr (i64 4096 to ptr addrspace(1)), ptr addrspace(2) inttoptr (i64 3735928559 to ptr addrspace(2)) }
}
```
This patch also changes all the `convert*` occurrences in function names
or comments to `translate` in the PtrToLLVM file.
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 3e254ed9041530cf14594f33f6c87a37c8a96640
https://github.com/llvm/llvm-project/commit/3e254ed9041530cf14594f33f6c87a37c8a96640
Author: Šárka Holendová <72979252+mlir-maiden at users.noreply.github.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/extensions.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
A flang/test/Lower/Intrinsics/dsecnds.f90
Log Message:
-----------
[flang] Implement DSECNDS intrinsic (PGI extension) (#157573)
Add support for DSECNDS, the double-precision variant of SECNDS.
The implementation mirrors SECNDS, reusing the shared `SecndsImpl<T>`
runtime template.
Includes:
- Registration in intrinsics table
- Lowering handler and runtime call wiring
- Hook into shared SecndsImpl in extensions.cpp
- Documentation in Intrinsics.md
- Regression test dsecnds.f90
CC @eugeneepshteyn @klausler
---------
Co-authored-by: Eugene Epshteyn <eepshteyn at nvidia.com>
Commit: 8007022caf47372abc73865b3b90e888c23983ad
https://github.com/llvm/llvm-project/commit/8007022caf47372abc73865b3b90e888c23983ad
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M mlir/lib/CAPI/Dialect/Linalg.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for performance-unnecessary-copy-initialization in Linalg.cpp (NFC)
Commit: d7bf2bf85f84977e4504322b61af3d5def211c51
https://github.com/llvm/llvm-project/commit/d7bf2bf85f84977e4504322b61af3d5def211c51
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/Ptr/IR/PtrDialect.td
Log Message:
-----------
[NFC][mlir][ptr] Clarify pointer dialect semantics (#158484)
This patch adds the following description to the pointer dialect:
```
The pointer dialect provides types and operations for representing and
interacting with pointer values in MLIR, such as loading and storing values
from/to memory addresses.
The dialect's main type is an opaque pointer (`ptr`) that can be
parameterized by a memory space. This type represents a handle to an object
in memory, or target-dependent values like `nullptr`. Further, the dialect
assumes that the minimum addressable unit by a pointer is a byte. However,
the dialect does not make assumptions about the size of a byte, which is
considered a target-specific property.
```
Commit: b01cddee0e69bd283a0f1830f24fae326371f1de
https://github.com/llvm/llvm-project/commit/b01cddee0e69bd283a0f1830f24fae326371f1de
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M clang/lib/Basic/Targets/X86.h
R clang/test/CodeGen/X86/cygwin-varargs.c
M clang/test/CodeGen/calling-conv-ignored.c
M clang/test/CodeGen/ms_abi.c
M clang/test/CodeGen/sysv_abi.c
M clang/test/DebugInfo/Generic/cc.c
M clang/test/Parser/x64-windows-calling-convention-handling.c
M clang/test/Sema/MicrosoftCompatibility-x64.c
Log Message:
-----------
[Clang][Cygwin] Cygwin x86_64 should accept __stdcall (#158385)
Cygwin should support calling convention attributes `__cdecl`,
`__stdcall`, `__thiscall`, and `__fastcall`, even though they have no
effect in x86_64, as done in MinGW.
Originally reported in
https://cygwin.com/pipermail/cygwin/2025-September/258782.html
---------
Co-authored-by: Jeremy Drake <github at jdrake.com>
Commit: 31c4eb032f347868c5ba929ca42004e03dbded00
https://github.com/llvm/llvm-project/commit/31c4eb032f347868c5ba929ca42004e03dbded00
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/build-metrics-container.yml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/llvm-tests.yml
M .github/workflows/release-binaries-setup-stage/action.yml
M .github/workflows/release-binaries.yml
Log Message:
-----------
[Github] Update actions/download-artifact to v5 (#158466)
Some of the older versions have security issues. Upgrade to v5 to remedy
that and get ahead of the v5 upgrade cycle rather than updating to a
later v4.x release.
Updated mechanically using the following command:
find .github -exec sed -i -e
"s/actions\/download-artifact at .*/actions\/download-artifact at 634f93cb2916e3fdff6788551b99b062d0335ce0
# v5.0.0/g" {} \;
Commit: 3f26f1aed07f9671891b64594d9a7bd7c3df1f7c
https://github.com/llvm/llvm-project/commit/3f26f1aed07f9671891b64594d9a7bd7c3df1f7c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseSet.h
Log Message:
-----------
[ADT] Reduce boilerplate in DenseSet (NFC) (#158456)
The class definitions of DenseSet and SmallDenseSet contain a lot of
boilerplate code, repeating the lengthy base class name twice in each
definition.
This patch simplifies the two definitions by making them type aliases.
Commit: ad8d0a13397ba4d4174363120e9c92339ace2d97
https://github.com/llvm/llvm-project/commit/ad8d0a13397ba4d4174363120e9c92339ace2d97
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/unittests/ADT/DenseMapTest.cpp
Log Message:
-----------
[ADT] Fix the initial size calculation of SmallDenseMap (#158458)
The initial size calculation of SmallDenseMap is strange in several
ways:
- SmallDenseMap(unsigned) seems to want to take the number of initial
buckets as far as I can tell from the variable name NumInitBuckets.
In contrast, DenseMap(unsigned) seems to want to take the number of
initial entries as far as I can tell from the comment:
/// Create a DenseMap with an optional \p InitialReserve that guarantee
that
/// this number of elements can be inserted in the map without grow()
- SmallDenseMap(unsigned) uses llvm::bit_ceil to obtain a power of
two. SmallDenseMap(I, E) uses NextPowerOf2 to obtain a power of
two.
- Presumably, the init() call is to ensure that we won't call grow()
while populating the initial elements [I, E). However,
NextPowerOf2(std::distance(I, E)) does not ensure that a rehash
won't happen. For example, if the number of initial elements is
50, we need 128 buckets, but NextPowerOf2(std::distance(I, E)) would
return 64.
This patch fixes all these inconsistencies by teaching
SmallDenseMap::init to call BaseT::getMinBucketToReserveForEntries
just like DenseMap::init.
With this patch, all constructors of SmallDenseMap are textually
identical to their respective counterparts in DenseMap.
Commit: 0cab8da19ca61147027d66fb8a669a1d9ad521a5
https://github.com/llvm/llvm-project/commit/0cab8da19ca61147027d66fb8a669a1d9ad521a5
Author: Nico Weber <thakis at chromium.org>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/Disassembler/BUILD.gn
Log Message:
-----------
[gn] port 698f39bc1959
Commit: d35ce3369809b8212eb44908bd9c90d483ee519d
https://github.com/llvm/llvm-project/commit/d35ce3369809b8212eb44908bd9c90d483ee519d
Author: Nico Weber <thakis at chromium.org>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/Disassembler/BUILD.gn
Log Message:
-----------
[gn] port 5a0be9b2a47d4
Commit: 685c627b0c810252dbc021f1b6df213b1d983938
https://github.com/llvm/llvm-project/commit/685c627b0c810252dbc021f1b6df213b1d983938
Author: Nico Weber <thakis at chromium.org>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/BPF/Disassembler/BUILD.gn
Log Message:
-----------
[gn] port 69f1aebf2017f43
Commit: 5719fb8c20ffdaa40411bb7ac41ef719122d22f6
https://github.com/llvm/llvm-project/commit/5719fb8c20ffdaa40411bb7ac41ef719122d22f6
Author: Nico Weber <thakis at chromium.org>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AVR/Disassembler/BUILD.gn
Log Message:
-----------
[gn] port 69d0c3e44ff
Commit: ee3a4f4c94744d296797d1527382a9f060fc241a
https://github.com/llvm/llvm-project/commit/ee3a4f4c94744d296797d1527382a9f060fc241a
Author: Mikhail Gudim <mgudim at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-load.ll
Log Message:
-----------
[SLPVectorizer] Test -1 stride loads. (#158358)
Add a test to generate -1 stride load and flags to force this behaviour.
Commit: b30c29c89381f87562edc34c7813cbd310d1d4b0
https://github.com/llvm/llvm-project/commit/b30c29c89381f87562edc34c7813cbd310d1d4b0
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
R llvm/test/Transforms/SimplifyCFG/unreachable-multi-basic-block-funclet.ll
Log Message:
-----------
Revert "[BasicBlockUtils] Handle funclets when detaching EH pad blocks" (#158364)
Reverts llvm/llvm-project#157363
Causes crashes, see
https://github.com/llvm/llvm-project/pull/157363#issuecomment-3286783238
Commit: 43384913b636854b92c7de9e326f879a1993f445
https://github.com/llvm/llvm-project/commit/43384913b636854b92c7de9e326f879a1993f445
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidy.h
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyModule.cpp
M clang-tools-extra/clang-tidy/ClangTidyModule.h
M clang-tools-extra/clang-tidy/ClangTidyModuleRegistry.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/ClangTidyProfiling.cpp
M clang-tools-extra/clang-tidy/ClangTidyProfiling.h
M clang-tools-extra/clang-tidy/FileExtensionsSet.h
M clang-tools-extra/clang-tidy/GlobList.cpp
M clang-tools-extra/clang-tidy/GlobList.h
M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp
M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.h
M clang-tools-extra/clang-tidy/abseil/AbseilTidyModule.cpp
M clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.cpp
M clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationAdditionCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationAdditionCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationComparisonCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationComparisonCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationConversionCastCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationConversionCastCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationFactoryFloatCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationFactoryFloatCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationFactoryScaleCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationFactoryScaleCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp
M clang-tools-extra/clang-tidy/abseil/DurationRewriter.h
M clang-tools-extra/clang-tidy/abseil/DurationSubtractionCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationSubtractionCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationUnnecessaryConversionCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationUnnecessaryConversionCheck.h
M clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp
M clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.h
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.cpp
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.h
M clang-tools-extra/clang-tidy/abseil/NoNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/abseil/NoNamespaceCheck.h
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.h
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.h
M clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
M clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.h
M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.h
M clang-tools-extra/clang-tidy/abseil/TimeComparisonCheck.cpp
M clang-tools-extra/clang-tidy/abseil/TimeComparisonCheck.h
M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp
M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.h
M clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp
M clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.h
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/altera/AlteraTidyModule.cpp
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.h
M clang-tools-extra/clang-tidy/altera/KernelNameRestrictionCheck.cpp
M clang-tools-extra/clang-tidy/altera/KernelNameRestrictionCheck.h
M clang-tools-extra/clang-tidy/altera/SingleWorkItemBarrierCheck.cpp
M clang-tools-extra/clang-tidy/altera/SingleWorkItemBarrierCheck.h
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.h
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.h
M clang-tools-extra/clang-tidy/android/AndroidTidyModule.cpp
M clang-tools-extra/clang-tidy/android/CloexecAccept4Check.cpp
M clang-tools-extra/clang-tidy/android/CloexecAccept4Check.h
M clang-tools-extra/clang-tidy/android/CloexecAcceptCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecAcceptCheck.h
M clang-tools-extra/clang-tidy/android/CloexecCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCheck.h
M clang-tools-extra/clang-tidy/android/CloexecCreatCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCreatCheck.h
M clang-tools-extra/clang-tidy/android/CloexecDupCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecDupCheck.h
M clang-tools-extra/clang-tidy/android/CloexecEpollCreate1Check.cpp
M clang-tools-extra/clang-tidy/android/CloexecEpollCreate1Check.h
M clang-tools-extra/clang-tidy/android/CloexecEpollCreateCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecEpollCreateCheck.h
M clang-tools-extra/clang-tidy/android/CloexecFopenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecFopenCheck.h
M clang-tools-extra/clang-tidy/android/CloexecInotifyInit1Check.cpp
M clang-tools-extra/clang-tidy/android/CloexecInotifyInit1Check.h
M clang-tools-extra/clang-tidy/android/CloexecInotifyInitCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecInotifyInitCheck.h
M clang-tools-extra/clang-tidy/android/CloexecMemfdCreateCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecMemfdCreateCheck.h
M clang-tools-extra/clang-tidy/android/CloexecOpenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecOpenCheck.h
M clang-tools-extra/clang-tidy/android/CloexecPipe2Check.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipe2Check.h
M clang-tools-extra/clang-tidy/android/CloexecPipeCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipeCheck.h
M clang-tools-extra/clang-tidy/android/CloexecSocketCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecSocketCheck.h
M clang-tools-extra/clang-tidy/android/ComparisonInTempFailureRetryCheck.cpp
M clang-tools-extra/clang-tidy/android/ComparisonInTempFailureRetryCheck.h
M clang-tools-extra/clang-tidy/boost/BoostTidyModule.cpp
M clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/boost/UseRangesCheck.h
M clang-tools-extra/clang-tidy/boost/UseToStringCheck.cpp
M clang-tools-extra/clang-tidy/boost/UseToStringCheck.h
M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.h
M clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.h
M clang-tools-extra/clang-tidy/bugprone/AssignmentInIfConditionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/AssignmentInIfConditionCheck.h
M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.h
M clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.h
M clang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.h
M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.h
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.h
M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.h
M clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.h
M clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CopyConstructorInitCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CopyConstructorInitCheck.h
M clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.h
M clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.h
M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.h
M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.h
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.h
M clang-tools-extra/clang-tidy/bugprone/FoldInitTypeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/FoldInitTypeCheck.h
M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.h
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.h
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.h
M clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.h
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.h
M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableSharedFromThisCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableSharedFromThisCheck.h
M clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.h
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.h
M clang-tools-extra/clang-tidy/bugprone/IntegerDivisionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IntegerDivisionCheck.h
M clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.h
M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.h
M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.h
M clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.h
M clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.h
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.h
M clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.h
M clang-tools-extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedWideningCastCheck.h
M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.h
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.h
M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.h
M clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.h
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/NoEscapeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NoEscapeCheck.h
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.h
M clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.h
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.h
M clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.h
M clang-tools-extra/clang-tidy/bugprone/PointerArithmeticOnPolymorphicObjectCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/PointerArithmeticOnPolymorphicObjectCheck.h
M clang-tools-extra/clang-tidy/bugprone/PosixReturnCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/PosixReturnCheck.h
M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.h
M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.h
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.h
M clang-tools-extra/clang-tidy/bugprone/SharedPtrArrayMismatchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SharedPtrArrayMismatchCheck.h
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.h
M clang-tools-extra/clang-tidy/bugprone/SignedCharMisuseCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SignedCharMisuseCheck.h
M clang-tools-extra/clang-tidy/bugprone/SizeofContainerCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofContainerCheck.h
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.h
M clang-tools-extra/clang-tidy/bugprone/SmartPtrArrayMismatchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SmartPtrArrayMismatchCheck.h
M clang-tools-extra/clang-tidy/bugprone/SpuriouslyWakeUpFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SpuriouslyWakeUpFunctionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.h
M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.h
M clang-tools-extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.h
M clang-tools-extra/clang-tidy/bugprone/StringLiteralWithEmbeddedNulCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringLiteralWithEmbeddedNulCheck.h
M clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemoryComparisonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemoryComparisonCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousReallocUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousReallocUsageCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousStringCompareCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousStringCompareCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.h
M clang-tools-extra/clang-tidy/bugprone/SwappedArgumentsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SwappedArgumentsCheck.h
M clang-tools-extra/clang-tidy/bugprone/SwitchMissingDefaultCaseCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SwitchMissingDefaultCaseCheck.h
M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.h
M clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.h
M clang-tools-extra/clang-tidy/bugprone/ThrowKeywordMissingCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ThrowKeywordMissingCheck.h
M clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.h
M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.h
M clang-tools-extra/clang-tidy/bugprone/UndefinedMemoryManipulationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UndefinedMemoryManipulationCheck.h
M clang-tools-extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UndelegatedConstructorCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.h
M clang-tools-extra/clang-tidy/bugprone/UniquePtrArrayMismatchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UniquePtrArrayMismatchCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.h
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.h
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.h
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cert/CommandProcessorCheck.cpp
M clang-tools-extra/clang-tidy/cert/CommandProcessorCheck.h
M clang-tools-extra/clang-tidy/cert/DefaultOperatorNewAlignmentCheck.cpp
M clang-tools-extra/clang-tidy/cert/DefaultOperatorNewAlignmentCheck.h
M clang-tools-extra/clang-tidy/cert/DontModifyStdNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/cert/DontModifyStdNamespaceCheck.h
M clang-tools-extra/clang-tidy/cert/FloatLoopCounter.cpp
M clang-tools-extra/clang-tidy/cert/FloatLoopCounter.h
M clang-tools-extra/clang-tidy/cert/LimitedRandomnessCheck.cpp
M clang-tools-extra/clang-tidy/cert/LimitedRandomnessCheck.h
M clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp
M clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.h
M clang-tools-extra/clang-tidy/cert/NonTrivialTypesLibcMemoryCallsCheck.cpp
M clang-tools-extra/clang-tidy/cert/NonTrivialTypesLibcMemoryCallsCheck.h
M clang-tools-extra/clang-tidy/cert/ProperlySeededRandomGeneratorCheck.cpp
M clang-tools-extra/clang-tidy/cert/ProperlySeededRandomGeneratorCheck.h
M clang-tools-extra/clang-tidy/cert/SetLongJmpCheck.cpp
M clang-tools-extra/clang-tidy/cert/SetLongJmpCheck.h
M clang-tools-extra/clang-tidy/cert/StaticObjectExceptionCheck.cpp
M clang-tools-extra/clang-tidy/cert/StaticObjectExceptionCheck.h
M clang-tools-extra/clang-tidy/cert/ThrownExceptionTypeCheck.cpp
M clang-tools-extra/clang-tidy/cert/ThrownExceptionTypeCheck.h
M clang-tools-extra/clang-tidy/cert/VariadicFunctionDefCheck.cpp
M clang-tools-extra/clang-tidy/cert/VariadicFunctionDefCheck.h
M clang-tools-extra/clang-tidy/concurrency/ConcurrencyTidyModule.cpp
M clang-tools-extra/clang-tidy/concurrency/MtUnsafeCheck.cpp
M clang-tools-extra/clang-tidy/concurrency/MtUnsafeCheck.h
M clang-tools-extra/clang-tidy/concurrency/ThreadCanceltypeAsynchronousCheck.cpp
M clang-tools-extra/clang-tidy/concurrency/ThreadCanceltypeAsynchronousCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidCapturingLambdaCoroutinesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidCapturingLambdaCoroutinesCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidConstOrRefDataMembersCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidConstOrRefDataMembersCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidDoWhileCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidDoWhileCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidGotoCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidGotoCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidReferenceCoroutineParametersCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidReferenceCoroutineParametersCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/MisleadingCaptureDefaultByValueCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MisleadingCaptureDefaultByValueCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/NoMallocCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/NoMallocCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsAvoidUncheckedContainerAccess.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsAvoidUncheckedContainerAccess.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsPointerArithmeticCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsPointerArithmeticCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeConstCastCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeConstCastCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeCstyleCastCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeCstyleCastCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeReinterpretCastCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeReinterpretCastCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeStaticCastDowncastCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeStaticCastDowncastCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeUnionAccessCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeUnionAccessCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.h
M clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.cpp
M clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.h
M clang-tools-extra/clang-tidy/darwin/DarwinTidyModule.cpp
M clang-tools-extra/clang-tidy/darwin/DispatchOnceNonstaticCheck.cpp
M clang-tools-extra/clang-tidy/darwin/DispatchOnceNonstaticCheck.h
M clang-tools-extra/clang-tidy/fuchsia/DefaultArgumentsCallsCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/DefaultArgumentsCallsCheck.h
M clang-tools-extra/clang-tidy/fuchsia/DefaultArgumentsDeclarationsCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/DefaultArgumentsDeclarationsCheck.h
M clang-tools-extra/clang-tidy/fuchsia/FuchsiaTidyModule.cpp
M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.h
M clang-tools-extra/clang-tidy/fuchsia/OverloadedOperatorCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/OverloadedOperatorCheck.h
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.h
M clang-tools-extra/clang-tidy/fuchsia/TrailingReturnCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/TrailingReturnCheck.h
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.h
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.h
M clang-tools-extra/clang-tidy/google/AvoidNSObjectNewCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidNSObjectNewCheck.h
M clang-tools-extra/clang-tidy/google/AvoidThrowingObjCExceptionCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidThrowingObjCExceptionCheck.h
M clang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.h
M clang-tools-extra/clang-tidy/google/DefaultArgumentsCheck.cpp
M clang-tools-extra/clang-tidy/google/DefaultArgumentsCheck.h
M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.h
M clang-tools-extra/clang-tidy/google/ExplicitMakePairCheck.cpp
M clang-tools-extra/clang-tidy/google/ExplicitMakePairCheck.h
M clang-tools-extra/clang-tidy/google/FunctionNamingCheck.cpp
M clang-tools-extra/clang-tidy/google/FunctionNamingCheck.h
M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.h
M clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.h
M clang-tools-extra/clang-tidy/google/OverloadedUnaryAndCheck.cpp
M clang-tools-extra/clang-tidy/google/OverloadedUnaryAndCheck.h
M clang-tools-extra/clang-tidy/google/TodoCommentCheck.cpp
M clang-tools-extra/clang-tidy/google/TodoCommentCheck.h
M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.h
M clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp
M clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.h
M clang-tools-extra/clang-tidy/google/UsingNamespaceDirectiveCheck.cpp
M clang-tools-extra/clang-tidy/google/UsingNamespaceDirectiveCheck.h
M clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.h
M clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
M clang-tools-extra/clang-tidy/hicpp/IgnoredRemoveResultCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/IgnoredRemoveResultCheck.h
M clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.h
M clang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.h
M clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.h
M clang-tools-extra/clang-tidy/linuxkernel/LinuxKernelTidyModule.cpp
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.cpp
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.h
M clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp
M clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.h
M clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp
M clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.h
M clang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.h
M clang-tools-extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.h
M clang-tools-extra/clang-tidy/llvm/PreferStaticOverAnonymousNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferStaticOverAnonymousNamespaceCheck.h
M clang-tools-extra/clang-tidy/llvm/TwineLocalCheck.cpp
M clang-tools-extra/clang-tidy/llvm/TwineLocalCheck.h
M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.cpp
M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.h
M clang-tools-extra/clang-tidy/llvm/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/llvm/UseRangesCheck.h
M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.h
M clang-tools-extra/clang-tidy/llvmlibc/ImplementationInNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/ImplementationInNamespaceCheck.h
M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.h
M clang-tools-extra/clang-tidy/llvmlibc/LLVMLibcTidyModule.cpp
M clang-tools-extra/clang-tidy/llvmlibc/NamespaceConstants.h
M clang-tools-extra/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.h
M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.h
M clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h
M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.h
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h
M clang-tools-extra/clang-tidy/misc/HeaderIncludeCycleCheck.cpp
M clang-tools-extra/clang-tidy/misc/HeaderIncludeCycleCheck.h
M clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp
M clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.h
M clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
M clang-tools-extra/clang-tidy/misc/MisleadingBidirectional.cpp
M clang-tools-extra/clang-tidy/misc/MisleadingBidirectional.h
M clang-tools-extra/clang-tidy/misc/MisleadingIdentifier.cpp
M clang-tools-extra/clang-tidy/misc/MisleadingIdentifier.h
M clang-tools-extra/clang-tidy/misc/MisplacedConstCheck.cpp
M clang-tools-extra/clang-tidy/misc/MisplacedConstCheck.h
M clang-tools-extra/clang-tidy/misc/NewDeleteOverloadsCheck.cpp
M clang-tools-extra/clang-tidy/misc/NewDeleteOverloadsCheck.h
M clang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp
M clang-tools-extra/clang-tidy/misc/NoRecursionCheck.h
M clang-tools-extra/clang-tidy/misc/NonCopyableObjects.cpp
M clang-tools-extra/clang-tidy/misc/NonCopyableObjects.h
M clang-tools-extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.cpp
M clang-tools-extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.h
M clang-tools-extra/clang-tidy/misc/OverrideWithDifferentVisibilityCheck.cpp
M clang-tools-extra/clang-tidy/misc/OverrideWithDifferentVisibilityCheck.h
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.h
M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.h
M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h
M clang-tools-extra/clang-tidy/misc/UnconventionalAssignOperatorCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnconventionalAssignOperatorCheck.h
M clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp
M clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.h
M clang-tools-extra/clang-tidy/misc/UnusedAliasDeclsCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedAliasDeclsCheck.h
M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.h
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
M clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.h
M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.h
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.h
M clang-tools-extra/clang-tidy/modernize/ConcatNestedNamespacesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ConcatNestedNamespacesCheck.h
M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.h
M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.h
M clang-tools-extra/clang-tidy/modernize/IntegralLiteralExpressionMatcher.cpp
M clang-tools-extra/clang-tidy/modernize/IntegralLiteralExpressionMatcher.h
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.h
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.h
M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.h
M clang-tools-extra/clang-tidy/modernize/MakeSharedCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MakeSharedCheck.h
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.h
M clang-tools-extra/clang-tidy/modernize/MakeUniqueCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MakeUniqueCheck.h
M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.h
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.h
M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.h
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.h
M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.h
M clang-tools-extra/clang-tidy/modernize/ReplaceDisallowCopyAndAssignMacroCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceDisallowCopyAndAssignMacroCheck.h
M clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.h
M clang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.h
M clang-tools-extra/clang-tidy/modernize/ShrinkToFitCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ShrinkToFitCheck.h
M clang-tools-extra/clang-tidy/modernize/TypeTraitsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/TypeTraitsCheck.h
M clang-tools-extra/clang-tidy/modernize/UnaryStaticAssertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UnaryStaticAssertCheck.h
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.h
M clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.h
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.h
M clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.h
M clang-tools-extra/clang-tidy/modernize/UseNodiscardCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNodiscardCheck.h
M clang-tools-extra/clang-tidy/modernize/UseNoexceptCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNoexceptCheck.h
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.h
M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h
M clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.h
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.h
M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.h
M clang-tools-extra/clang-tidy/mpi/BufferDerefCheck.cpp
M clang-tools-extra/clang-tidy/mpi/BufferDerefCheck.h
M clang-tools-extra/clang-tidy/mpi/MPITidyModule.cpp
M clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp
M clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.h
M clang-tools-extra/clang-tidy/objc/AssertEquals.cpp
M clang-tools-extra/clang-tidy/objc/AssertEquals.h
M clang-tools-extra/clang-tidy/objc/AvoidNSErrorInitCheck.cpp
M clang-tools-extra/clang-tidy/objc/AvoidNSErrorInitCheck.h
M clang-tools-extra/clang-tidy/objc/DeallocInCategoryCheck.cpp
M clang-tools-extra/clang-tidy/objc/DeallocInCategoryCheck.h
M clang-tools-extra/clang-tidy/objc/ForbiddenSubclassingCheck.cpp
M clang-tools-extra/clang-tidy/objc/ForbiddenSubclassingCheck.h
M clang-tools-extra/clang-tidy/objc/MissingHashCheck.cpp
M clang-tools-extra/clang-tidy/objc/MissingHashCheck.h
M clang-tools-extra/clang-tidy/objc/NSDateFormatterCheck.cpp
M clang-tools-extra/clang-tidy/objc/NSDateFormatterCheck.h
M clang-tools-extra/clang-tidy/objc/NSInvocationArgumentLifetimeCheck.cpp
M clang-tools-extra/clang-tidy/objc/NSInvocationArgumentLifetimeCheck.h
M clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
M clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.h
M clang-tools-extra/clang-tidy/objc/SuperSelfCheck.cpp
M clang-tools-extra/clang-tidy/objc/SuperSelfCheck.h
M clang-tools-extra/clang-tidy/openmp/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/openmp/ExceptionEscapeCheck.h
M clang-tools-extra/clang-tidy/openmp/OpenMPTidyModule.cpp
M clang-tools-extra/clang-tidy/openmp/UseDefaultNoneCheck.cpp
M clang-tools-extra/clang-tidy/openmp/UseDefaultNoneCheck.h
M clang-tools-extra/clang-tidy/performance/AvoidEndlCheck.cpp
M clang-tools-extra/clang-tidy/performance/AvoidEndlCheck.h
M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.h
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.cpp
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.h
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.h
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.h
M clang-tools-extra/clang-tidy/performance/InefficientAlgorithmCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientAlgorithmCheck.h
M clang-tools-extra/clang-tidy/performance/InefficientStringConcatenationCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientStringConcatenationCheck.h
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.h
M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.h
M clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp
M clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.h
M clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.h
M clang-tools-extra/clang-tidy/performance/NoIntToPtrCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoIntToPtrCheck.h
M clang-tools-extra/clang-tidy/performance/NoexceptDestructorCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoexceptDestructorCheck.h
M clang-tools-extra/clang-tidy/performance/NoexceptFunctionBaseCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoexceptFunctionBaseCheck.h
M clang-tools-extra/clang-tidy/performance/NoexceptMoveConstructorCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoexceptMoveConstructorCheck.h
M clang-tools-extra/clang-tidy/performance/NoexceptSwapCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoexceptSwapCheck.h
M clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
M clang-tools-extra/clang-tidy/performance/TriviallyDestructibleCheck.cpp
M clang-tools-extra/clang-tidy/performance/TriviallyDestructibleCheck.h
M clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
M clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.h
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.h
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/clang-tidy/portability/AvoidPragmaOnceCheck.cpp
M clang-tools-extra/clang-tidy/portability/AvoidPragmaOnceCheck.h
M clang-tools-extra/clang-tidy/portability/PortabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.cpp
M clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.h
M clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp
M clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.h
M clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp
M clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.h
M clang-tools-extra/clang-tidy/portability/TemplateVirtualMemberFunctionCheck.cpp
M clang-tools-extra/clang-tidy/portability/TemplateVirtualMemberFunctionCheck.h
M clang-tools-extra/clang-tidy/readability/AmbiguousSmartptrResetCallCheck.cpp
M clang-tools-extra/clang-tidy/readability/AmbiguousSmartptrResetCallCheck.h
M clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp
M clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDecls.h
M clang-tools-extra/clang-tidy/readability/AvoidNestedConditionalOperatorCheck.cpp
M clang-tools-extra/clang-tidy/readability/AvoidNestedConditionalOperatorCheck.h
M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.h
M clang-tools-extra/clang-tidy/readability/AvoidUnconditionalPreprocessorIfCheck.cpp
M clang-tools-extra/clang-tidy/readability/AvoidUnconditionalPreprocessorIfCheck.h
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.h
M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.h
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.h
M clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.h
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.h
M clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.h
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.h
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.h
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.h
M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.h
M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h
M clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.h
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.h
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.h
M clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp
M clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h
M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.h
M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.h
M clang-tools-extra/clang-tidy/readability/MisleadingIndentationCheck.cpp
M clang-tools-extra/clang-tidy/readability/MisleadingIndentationCheck.h
M clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp
M clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.h
M clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamedParameterCheck.h
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.h
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.h
M clang-tools-extra/clang-tidy/readability/OperatorsRepresentationCheck.cpp
M clang-tools-extra/clang-tidy/readability/OperatorsRepresentationCheck.h
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.h
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/RedundantAccessSpecifiersCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantAccessSpecifiersCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantControlFlowCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantControlFlowCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.h
M clang-tools-extra/clang-tidy/readability/ReferenceToConstructedTemporaryCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReferenceToConstructedTemporaryCheck.h
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
M clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.h
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.h
M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.h
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.h
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.h
M clang-tools-extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.cpp
M clang-tools-extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.h
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.h
M clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp
M clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.h
M clang-tools-extra/clang-tidy/readability/UseConcisePreprocessorDirectivesCheck.cpp
M clang-tools-extra/clang-tidy/readability/UseConcisePreprocessorDirectivesCheck.h
M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.h
M clang-tools-extra/clang-tidy/rename_check.py
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.h
M clang-tools-extra/clang-tidy/tool/ClangTidyToolMain.cpp
M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clang-tidy/utils/ASTUtils.cpp
M clang-tools-extra/clang-tidy/utils/ASTUtils.h
M clang-tools-extra/clang-tidy/utils/Aliasing.cpp
M clang-tools-extra/clang-tidy/utils/Aliasing.h
M clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
M clang-tools-extra/clang-tidy/utils/BracesAroundStatement.h
M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.h
M clang-tools-extra/clang-tidy/utils/DesignatedInitializers.cpp
M clang-tools-extra/clang-tidy/utils/DesignatedInitializers.h
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.h
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.h
M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
M clang-tools-extra/clang-tidy/utils/ExprSequence.h
M clang-tools-extra/clang-tidy/utils/FileExtensionsUtils.cpp
M clang-tools-extra/clang-tidy/utils/FileExtensionsUtils.h
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.h
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.h
M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
M clang-tools-extra/clang-tidy/utils/HeaderGuard.h
M clang-tools-extra/clang-tidy/utils/IncludeInserter.cpp
M clang-tools-extra/clang-tidy/utils/IncludeInserter.h
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.h
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/clang-tidy/utils/Matchers.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.h
M clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp
M clang-tools-extra/clang-tidy/utils/NamespaceAliaser.h
M clang-tools-extra/clang-tidy/utils/OptionsUtils.cpp
M clang-tools-extra/clang-tidy/utils/OptionsUtils.h
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.h
M clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.h
M clang-tools-extra/clang-tidy/utils/TypeTraits.cpp
M clang-tools-extra/clang-tidy/utils/TypeTraits.h
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
M clang-tools-extra/clang-tidy/utils/UsingInserter.cpp
M clang-tools-extra/clang-tidy/utils/UsingInserter.h
M clang-tools-extra/clang-tidy/zircon/TemporaryObjectsCheck.cpp
M clang-tools-extra/clang-tidy/zircon/TemporaryObjectsCheck.h
M clang-tools-extra/clang-tidy/zircon/ZirconTidyModule.cpp
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
Log Message:
-----------
[clang-tidy][NFC] Switch to new file header style (#158497)
As decided in #118553 and following up #153942.
`rename_check.py` has small logic changes, everything else is a
mechanical replacement.
Commit: 7dd2f1cc10902e632c0c78c75a30432a53eb59dc
https://github.com/llvm/llvm-project/commit/7dd2f1cc10902e632c0c78c75a30432a53eb59dc
Author: Gedare Bloom <gedare at rtems.org>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add IndentPPDirectives Leave option (#139750)
Allow an option to leave preprocessor directive indenting as-is. This
simplifies handling mixed styles of CPP directive indentation.
Fixes #38511
Commit: 885546c83c1f9417d0e39679e39be3d055604db2
https://github.com/llvm/llvm-project/commit/885546c83c1f9417d0e39679e39be3d055604db2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Adjust parameter names for DenseMap constructors (NFC) (#158501)
This patch ensures that both DenseMap and SmallDenseMap have:
explicit DenseMap(unsigned NumElementsToReserve = 0) {
init(NumElementsToReserve);
}
for consistency and clarity (modulo the class name, of course).
Commit: 0e36aa1640a5c0d00138c61de0f99f785cff1e2a
https://github.com/llvm/llvm-project/commit/0e36aa1640a5c0d00138c61de0f99f785cff1e2a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/Hashing.h
M llvm/include/llvm/ADT/ilist_node_options.h
M llvm/include/llvm/Support/CFGDiff.h
M llvm/include/llvm/Support/FormatProviders.h
M llvm/include/llvm/Support/FormatVariadicDetails.h
M llvm/include/llvm/Support/HashBuilder.h
M llvm/include/llvm/Support/YAMLTraits.h
Log Message:
-----------
[ADT, Support] Use std::bool_constant (NFC) (#158503)
This patch replaces, std::integral_constant<bool, ...> with
std::bool_constant for brevity. Note that std::bool_constant was
introduced as part of C++17.
There are cases where we could strip away std::bool_constant
altogether:
std::bool_constant<std::is_same<T, U>>
but I'm not doing that in this patch to avoid doing multiple things in
one patch.
Commit: 7d949ee04f9863093dc3605feeca931318b0a0cd
https://github.com/llvm/llvm-project/commit/7d949ee04f9863093dc3605feeca931318b0a0cd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/include/llvm/Support/FormatVariadicDetails.h
Log Message:
-----------
[Support] Use llvm::is_detected (NFC) (#158504)
This patch uses llvm::is_detected to replace the old SFINAE-based
approach.
Commit: 30f4781eef567b99214e02137a57c7ac91279a48
https://github.com/llvm/llvm-project/commit/30f4781eef567b99214e02137a57c7ac91279a48
Author: owenca <owenpiano at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Handle C digit separators (#158418)
Fixes #158413
Commit: fb60d0337c15640df95872d90240fde42fb80ea1
https://github.com/llvm/llvm-project/commit/fb60d0337c15640df95872d90240fde42fb80ea1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Return non-option cost from getCostForRecipeWithOpcode (NFC).
getCostForRecipeWithOpcode must only be called with supported opcodes.
Directly return the cost, and add llvm_unreachable to catch unhandled
cases.
Commit: 983c8b6b2575c034dc98514a35d0fd9b08d9935e
https://github.com/llvm/llvm-project/commit/983c8b6b2575c034dc98514a35d0fd9b08d9935e
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicfiss.td
Log Message:
-----------
[RISCV] Remove a couple of custom instruction decoders (NFC) (#158483)
These instructions can be decoded automatically.
Commit: fb58bc6763573f0a7182290cdbfcec469f34c273
https://github.com/llvm/llvm-project/commit/fb58bc6763573f0a7182290cdbfcec469f34c273
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/utils/TableGen/CodeEmitterGen.cpp
Log Message:
-----------
[TableGen][CodeEmitterGen] Cache Target/CGH in class (NFC) (#158517)
To avoid passing them to member functions.
Commit: 7dae0b85b3d152ac45a59ad29f49bf8c8822cf67
https://github.com/llvm/llvm-project/commit/7dae0b85b3d152ac45a59ad29f49bf8c8822cf67
Author: Nico Weber <thakis at chromium.org>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/Disassembler/BUILD.gn
Log Message:
-----------
[gn] port 52dd4b9b7e4
Commit: 7ee4909256a03c5d6d1c558e5ebe4bc1c8fc2816
https://github.com/llvm/llvm-project/commit/7ee4909256a03c5d6d1c558e5ebe4bc1c8fc2816
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Interpreter/BUILD.gn
Log Message:
-----------
[gn build] Port c642e2aa61c4
Commit: 0e28fd7282492669e106617b52494fa4556bb5c4
https://github.com/llvm/llvm-project/commit/0e28fd7282492669e106617b52494fa4556bb5c4
Author: Jim Lin <jim at andestech.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/pr158121.ll
Log Message:
-----------
[RISCV] Check the types are the same for folding (sub 0, (setcc x, 0, setlt)) to (sra x, xlen - 1) (#158179)
We should check the type of x is the same as `sub` operation. Otherwise
the shift amount xlen -1 will exceed the bit size of x.
Fixes https://github.com/llvm/llvm-project/issues/158121.
Commit: c128f3bba4d60cb3b9a5c08854d7b83fd5317e0f
https://github.com/llvm/llvm-project/commit/c128f3bba4d60cb3b9a5c08854d7b83fd5317e0f
Author: Jim Lin <jim at andestech.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Remove unneeded TODOs from fixed-vectors-shuffle-int.ll.
There is a single vslideup.vi already.
Commit: fef88d2ef21edc83660968e0134e28dda88d4a11
https://github.com/llvm/llvm-project/commit/fef88d2ef21edc83660968e0134e28dda88d4a11
Author: Wenju He <wenju.he at intel.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M libclc/README.md
Log Message:
-----------
[libclc][NFC] Update README.md to use runtime build (#158283)
LLVM_ENABLE_PROJECTS=libclc is deprecated, see
https://github.com/llvm/llvm-project/blob/a2a9601ea49a/llvm/CMakeLists.txt#L223-L228
Commit: 5850c44288cba01c75f8afb7cfcf3a2d47e2d5a4
https://github.com/llvm/llvm-project/commit/5850c44288cba01c75f8afb7cfcf3a2d47e2d5a4
Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
Log Message:
-----------
[InstCombine] Improve `foldDeadPhiWeb` compile time (#158057)
The foldDeadPhiWeb function identifies and removes small dead PHI webs,
it bails out if the web size exceeds threshold (16).
In the current implementation, when there is a phi node has large number
of users that most of them are phi nodes, we still push them on the
`Stack` even if the number of phi nodes user exceeds the threshold.
This patch checks the early stop condition when we push an unvisited phi
node on the `Stack`.
With this change, the wall duration of total instcombine pass decreased
from 523,649.276 ms to 208,687.042 ms in an our internal case.
Commit: d5f58a582769af320323cb0c1ea450d8b3962a41
https://github.com/llvm/llvm-project/commit/d5f58a582769af320323cb0c1ea450d8b3962a41
Author: Weibo He <NewSigma at 163.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
A llvm/test/Transforms/Coroutines/coro-split-invalid.ll
Log Message:
-----------
[CoroSplit] Fix use-after-free related to coro.suspend (#156572)
Fix #156444
Commit: d271ace0850a8a4a24a9f62e6d1970352dd2f6e8
https://github.com/llvm/llvm-project/commit/d271ace0850a8a4a24a9f62e6d1970352dd2f6e8
Author: thetruestblue <bblueconway at gmail.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
A compiler-rt/test/asan/TestCases/Darwin/atos-symbolized-recover.cpp
R compiler-rt/test/sanitizer_common/TestCases/Darwin/atos-symbolized-recover.cpp
Log Message:
-----------
[Test][ASan][Sanitizer] Make atos symbolizer test asan and simulator only (#158522)
Simulator environments run only atos symbolizer rather than falling back
to dladdr.
Because sanitizer-common does not target simulators, move this test into
asan and simulator only to make it predicatable test.
Original change sha: 0f9bfe0a02ffff077a1a98065069b52744e31723
rdar://108003900
Commit: e2455bfc101bfdd59ac6426c3a804f8b78152fd7
https://github.com/llvm/llvm-project/commit/e2455bfc101bfdd59ac6426c3a804f8b78152fd7
Author: Jinjie Huang <huangjinjie at bytedance.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
A bolt/test/dwo-name-retrieving.test
Log Message:
-----------
[BOLT][DWARF] Get DWO file via relative path if the CompilationDir does not exist (#154515)
In distributed builds, the DWARF CompilationDir is often invalid,
causing BOLT to fail when locating DWO files. If the default path does
not exist, it seems better to consider the DWOName as a relative path in
this case.
The implementation of this patch will try to search for the DWO file in
the following order:
1. CompDirOverride + DWOName (if CompDirOverride specified)
2. CompilationDir + DWOName (if CompilationDir exists)
3. **Current directory + DWOName (relative path as a fallback)**
This patch also fixes a crash that occurs when DWOName is an absolute path and a DWP file is provided.
Commit: b15719365861502cd1c6d216ad4a0425ee6431ea
https://github.com/llvm/llvm-project/commit/b15719365861502cd1c6d216ad4a0425ee6431ea
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/bit.h
M llvm/unittests/ADT/BitTest.cpp
Log Message:
-----------
[ADT] Handle uint8_t and uint16_t in countr_zero (#158518)
Without this patch, the uint8_t and uint16_t cases are sent to the
fallback route. This patch fixes that by relaxing the "if" condition.
While it's hard to test that the correct control path is taken within
countr_zero, this patch adds a few tests just to verify the
correctness on uint8_t and uint16_t inputs.
Commit: 1e3dd5ef29464b86005705bebec721ac5933bd85
https://github.com/llvm/llvm-project/commit/1e3dd5ef29464b86005705bebec721ac5933bd85
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/include/llvm/Support/YAMLTraits.h
M llvm/lib/IR/Metadata.cpp
M llvm/unittests/ADT/StringRefTest.cpp
Log Message:
-----------
[llvm] Use std::bool_constant (NFC) (#158520)
This patch replaces, std::integral_constant<bool, ...> with
std::bool_constant for brevity. Note that std::bool_constant was
introduced as part of C++17.
There are cases where we could replace EXPECT_EQ(false, ...) with
EXPECT_FALSE(...), but I'm not doing that in this patch to avoid doing
multiple things in one patch.
Commit: c44e015b49e832c9f3749c33cf5c9d5aacaf60a4
https://github.com/llvm/llvm-project/commit/c44e015b49e832c9f3749c33cf5c9d5aacaf60a4
Author: William Moses <gh at wsmoses.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/test/Transforms/SimplifyCFG/no-drop-debug-loc-when-speculating-call.ll
Log Message:
-----------
[SimplifyCFG] Refine metadata handling during instruction hoisting (#158448)
Co-authored-by: Nikita Popov <npopov at redhat.com>
Commit: 65ad21d730d25789454d18e811f8ff5db79cb5d4
https://github.com/llvm/llvm-project/commit/65ad21d730d25789454d18e811f8ff5db79cb5d4
Author: Luke Lau <luke at igalia.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/reproducer-pr146855.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
M llvm/test/CodeGen/RISCV/rvv/vlopt-same-vl.ll
Log Message:
-----------
[RISCV] Handle recurrences in RISCVVLOptimizer (#151285)
After #144666 we now support vectorizing loops with induction variables
with EVL tail folding. The induction updates don't use VP intrinsics to
avoid VL toggles but instead rely on RISCVVLOptimizer. However
RISCVVLOptimizer can't reason about cycles or recurrences today, which
means we are left with a VL toggle to VLMAX:
# %bb.1: # %for.body.preheader
li a2, 0
vsetvli a3, zero, e32, m2, ta, ma
vid.v v8
.LBB0_2: # %vector.body
# =>This Inner Loop Header: Depth=1
sub a3, a1, a2
sh2add a4, a2, a0
vsetvli a3, a3, e32, m2, ta, ma
vle32.v v10, (a4)
add a2, a2, a3
vadd.vv v10, v10, v8
vse32.v v10, (a4)
vsetvli a4, zero, e32, m2, ta, ma
vadd.vx v8, v8, a3
bne a2, a1, .LBB0_2
This patch teaches RISCVVLOptimizer to reason about recurrences so we
can remove the VLMAX toggle:
# %bb.1: # %for.body.preheader
li a2, 0
vsetvli a3, zero, e32, m2, ta, ma
vid.v v8
.LBB0_2: # %vector.body
# =>This Inner Loop Header: Depth=1
sub a3, a1, a2
sh2add a4, a2, a0
vsetvli a3, a3, e32, m2, ta, ma
vle32.v v10, (a4)
add a2, a2, a3
vadd.vv v10, v10, v8
vse32.v v10, (a4)
vadd.vx v8, v8, a3
bne a2, a1, .LBB0_2
With this we remove a significant number of VL toggles and vsetvli
instructions across llvm-test-suite and SPEC CPU 2017 with tail folding
enabled, since it affects every loop with an induction variable.
This builds upon the work in #124530 where we started computing what VL
each instruction demanded, and generalizes it to an optimistic sparse
dataflow analysis:
- We begin by optimistically assuming no VL is used by any instruction,
and push instructions onto the worklist starting from the bottom.
- For each instruction on the worklist we apply the transfer function,
which propagates the VL needed by that instruction upwards to the
instructions it uses. If a use's demanded VL changes, it's added to the
worklist.
- Eventually this converges to a fixpoint when all uses have been
processed and every demanded VL has been propagated throughout the
entire use-def chain. Only after this is the DemandedVL map accurate.
Some implementation details:
- The roots are stores (or other unsupported instructions not in
`isSupportedInstr`) or copies to physical registers (they fail the
`any_of(MI.defs(), isPhysical)` check)
- This patch untangles `getMinimumVLForUser` and `checkUsers`.
`getMinimumVLForUser` now returns how many lanes of an operand are read
by an instruction, whilst `checkUsers` checks that an instruction and
its users have compatible EEW/EMULs.
- The `DemandedVL` struct was added so that we have a default
constructor of 0 for `DenseMap<const MachineInstr *, DemandedVL>
DemandedVLs`, so we don't need to check if a key exists when looking
things up.
There was no measurable compile time impact on llvm-test-suite or SPEC
CPU 2017. The analysis will always terminate, there are more details in
this EuroLLVM talk here:
https://www.youtube.com/watch?v=Mfb5fRSdJAc
Fixes #149354
Commit: 6a4f66476ff59a32898891345bc07547e71028ec
https://github.com/llvm/llvm-project/commit/6a4f66476ff59a32898891345bc07547e71028ec
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/test/python/ir/module.py
Log Message:
-----------
[MLIR][Python] restore `liveModuleMap` (#158506)
There are cases where the same module can have multiple references (via
`PyModule::forModule` via `PyModule::createFromCapsule`) and thus when
`PyModule`s get gc'd `mlirModuleDestroy` can get called multiple times
for the same actual underlying `mlir::Module` (i.e., double free). So we
do actually need a "liveness map" for modules.
Note, if `type_caster<MlirModule>::from_cpp` weren't a thing we could guarantree
this never happened except explicitly when users called `PyModule::createFromCapsule`.
Commit: 4a11ccee497a3e266c38eb6e9279f75cc61cfb9d
https://github.com/llvm/llvm-project/commit/4a11ccee497a3e266c38eb6e9279f75cc61cfb9d
Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/OpenMP/parallel_ast_print.cpp
M clang/test/OpenMP/parallel_default_messages.cpp
Log Message:
-----------
[Clang][OpenMP]Default clause variable category (#157063)
Support for Variable Category in Default Clause.
---------
Co-authored-by: Sunil Kuravinakop <kuravina at pe31.hpc.amslabs.hpecorp.net>
Commit: 9d5556377c6e716b94747ad1db089dad19890f4e
https://github.com/llvm/llvm-project/commit/9d5556377c6e716b94747ad1db089dad19890f4e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-constant-f16.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-constant.mir
Log Message:
-----------
[RISCV][GISel] Remove unnecessary copy from X0 in G_FCONSTANT selection. (#158429)
Instead of calling materializeImm, just assign GPRReg to X0.
While there, move conversion to APInt to only where it is necessary.
Commit: 03c356c5544fad1890cc9abd0c1a9b7bab6f2a6b
https://github.com/llvm/llvm-project/commit/03c356c5544fad1890cc9abd0c1a9b7bab6f2a6b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ExprConstant.cpp
M clang/test/Modules/added-visible-decls.cppm
Log Message:
-----------
[clang][bytecode] Pass initializer along in `evaluateAsInitializer()` (#158056)
We just called `getInit()`, which isn't always correct and used the
wrong initializer in the module test case.
Commit: 6931bad36c0ddae441d115814022fd5d3cbc554b
https://github.com/llvm/llvm-project/commit/6931bad36c0ddae441d115814022fd5d3cbc554b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode] Fix bit casts to IntAP types (#158509)
They were left out.
Fixes #153920
Commit: 1c21d5cb9b8e48ab928919a6f358eba8ffd3b49c
https://github.com/llvm/llvm-project/commit/1c21d5cb9b8e48ab928919a6f358eba8ffd3b49c
Author: David Green <david.green at arm.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/test/CodeGen/AArch64/rem-by-const.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
M llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
Log Message:
-----------
[GlobalISel] Remove GI known bits cache (#157352)
There is a cache on the known-bit computed by global-isel. It only works
inside a single query to computeKnownBits, which limits its usefulness,
and according to the tests can sometimes limit the effectiveness of
known-bits queries. (Although some AMD tests look longer). Keeping the
cache valid and clearing it at the correct times can also require being
careful about the functions called inside known-bits queries.
I measured compile-time of removing it and came up with:
```
7zip 2.06405E+11 2.06436E+11 0.015018992
Bullet 1.01298E+11 1.01186E+11 -0.110236169
ClamAV 57942466667 57848066667 -0.16292023
SPASS 45444466667 45402966667 -0.091320249
consumer 35432466667 35381233333 -0.144594317
kimwitu++ 40858833333 40927933333 0.169118877
lencod 70022366667 69950633333 -0.102443457
mafft 38439900000 38413233333 -0.069372362
sqlite3 35822266667 35770033333 -0.145812474
tramp3d 82083133333 82045600000 -0.045726
Average -0.068828739
```
The last column is % difference between with / without the cache. So in
total it seems to be costing slightly more to keep the current
known-bits cache than if it was removed. (Measured in instruction count,
similar to llvm-compile-time-tracker).
The hit rate wasn't terrible - higher than I expected. In the
llvm-test-suite+external projects it was hit 4791030 times out of
91107008 queries, slightly more than 5%.
Note that as globalisel increases in complexity, more known bits calls
might be made and the numbers might shift. If that is the case it might
be better to have a cache that works across calls, providing it doesn't
make effectiveness worse.
Commit: 7b0d91002691e6fe4ad421682f7d2a12c21d9055
https://github.com/llvm/llvm-project/commit/7b0d91002691e6fe4ad421682f7d2a12c21d9055
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/vectors.cpp
Log Message:
-----------
[clang][bytecode] Check for dummy pointers in CopyArray op (#158543)
They can't be written to or read from.
Fixes #158535
Commit: d69238013fa10c3027975874b283b08a25e90fd0
https://github.com/llvm/llvm-project/commit/d69238013fa10c3027975874b283b08a25e90fd0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-14 (Sun, 14 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/bit.h
Log Message:
-----------
[ADT] Define countr_zero in terms of popcount (NFC) (#158519)
We can express the fallback mechanism of llvm::countr_zero a lot more
concisely with llvm::popcount. Since llvm::countr_zero now requires
llvm::popcount, this patch moves llvm::popcount earlier.
Commit: 24b58678bcde7d33117941b443f9bcd0fe67767a
https://github.com/llvm/llvm-project/commit/24b58678bcde7d33117941b443f9bcd0fe67767a
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode] Disable int128 test if unsupported
This broke the armv8-quick builder:
https://lab.llvm.org/buildbot/#/builders/154/builds/21492
Commit: c60972a2cf16faba38844c82addeb78c893d5b3b
https://github.com/llvm/llvm-project/commit/c60972a2cf16faba38844c82addeb78c893d5b3b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.h
Log Message:
-----------
[clang][bytecode][NFC] Surround Pointer diagram in \verbatim (#158550)
See if this fixes the documentation.
Commit: 02d3e6ac75e776041fb1782efc4dfccfe6b46218
https://github.com/llvm/llvm-project/commit/02d3e6ac75e776041fb1782efc4dfccfe6b46218
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/docs/AMDGPUSupport.rst
M clang/docs/HIPSupport.rst
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/test/CodeGenHIP/maybe_undef-attr-verify.hip
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave64.cl
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/hip-macros.hip
R clang/test/Driver/hip-wavefront-size-deprecation-diagnostics.hip
M clang/test/Preprocessor/predefined-arch-macros.c
Log Message:
-----------
[HIP][Clang] Remove __AMDGCN_WAVEFRONT_SIZE macros (#157463)
Remove definitions, test uses, and documentation of the macros, which were
deprecated in November 2024 with PR #112849 / #115507.
Where required, the wavefront size should instead be queried via means provided
by the HIP runtime: the (non-constexpr) `warpSize` variable in device code, or
`hipGetDeviceProperties` in host code.
This change passed AMD-internal testing.
Implements SWDEV-522062.
Commit: 3371375131c645bb579323b60e92f2b0f9079f24
https://github.com/llvm/llvm-project/commit/3371375131c645bb579323b60e92f2b0f9079f24
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
Log Message:
-----------
[InstCombine] Read-only call without return can capture (#157878)
The copied from constant memory analysis had a special case where
nocapture was not required for read-only calls without (or unused)
return. This is not correct, as the address can still be captured though
means other than memory and the return value, for example using
divergence. This code should not be trying to do its own nocapture
inference.
Commit: 0ee7c9434a4745a10cb68217134a356b63a346f9
https://github.com/llvm/llvm-project/commit/0ee7c9434a4745a10cb68217134a356b63a346f9
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M mlir/test/Dialect/Vector/td/unroll-elements.mlir
M mlir/test/Dialect/Vector/td/xfer-drop-unit-dims.mlir
M mlir/test/Dialect/Vector/vector-from-elements-lowering.mlir
M mlir/test/Dialect/Vector/vector-to-elements-lowering.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Tidy-up testing for to/from_elements unrolling (#158309)
1. Remove `TestUnrollVectorToElements` and
`TestUnrollVectorFromElements` test passes - these are not required.
2. Make "vector-from-elements-lowering.mlir" use TD Op for testing (for
consistency "vector-to-elements-lowering.mlir" and to make sure that
the TD Op, `transform.apply_patterns.vector.unroll_from_elements`, is
tested).
3. Unify `CHECK` prefixes (`CHECK-UNROLL` -> `CHECK`).
4. Rename `@to_elements_1d` as `@negative_unroll_to_elements_1d`, for
consistency with it's counterpart for `vector.from_elements` and to
align with our testing guide (*).
(*)
https://mlir.llvm.org/getting_started/TestingGuide/#after-step-3-add-the-newly-identified-missing-case
Commit: e4124c04799a53b663a58938292a7c123ee21556
https://github.com/llvm/llvm-project/commit/e4124c04799a53b663a58938292a7c123ee21556
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Add missing dependency after 48babe193186248e
Commit: 78bf682cb9033cf6a5bbc733e062c7b7d825fdaf
https://github.com/llvm/llvm-project/commit/78bf682cb9033cf6a5bbc733e062c7b7d825fdaf
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/docs/AMDGPUSupport.rst
M clang/docs/HIPSupport.rst
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/test/CodeGenHIP/maybe_undef-attr-verify.hip
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wave64.cl
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/hip-macros.hip
A clang/test/Driver/hip-wavefront-size-deprecation-diagnostics.hip
M clang/test/Preprocessor/predefined-arch-macros.c
Log Message:
-----------
Revert "[HIP][Clang] Remove __AMDGCN_WAVEFRONT_SIZE macros" (#158566)
Reverts llvm/llvm-project#157463
The PR breaks buildbots with old ROCm versions, so revert it and reapply
when buildbots are updated.
Commit: e85926545e6313fd3c5c6147e82db42132c389ac
https://github.com/llvm/llvm-project/commit/e85926545e6313fd3c5c6147e82db42132c389ac
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M libcxx/cmake/caches/Armv7M-picolibc.cmake
M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
M libcxx/utils/ci/build-picolibc.sh
M libcxxabi/test/configs/armv7m-picolibc-libc++abi.cfg.in
M libunwind/test/configs/armv7m-picolibc-libunwind.cfg.in
Log Message:
-----------
[libcxx][CI] Use lld for everything in the ARM picolib builds (#158320)
Our host compiler is a clang install that will default to ld if not told
otherwise.
We were telling meson to use lld, but the way that we did it was
outdated, which lead to picolib producing a linker script that lld could
not use. The tests were in fact linking with ld instead.
Using the `c_ld` setting fixes this problem. See:
https://mesonbuild.com/Machine-files.html#binaries
Then to use lld in tests we need `-fuse-ld=lld` in the config files.
Some of these options were not needed for clang 19.1.7, but were for
clang 21.1.1. We will soon update to 21.1.1 so I have included all of
the required options in this PR.
Commit: 757bb36a58c7d7151a28c6a5fc7caa2e1f44de87
https://github.com/llvm/llvm-project/commit/757bb36a58c7d7151a28c6a5fc7caa2e1f44de87
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
Log Message:
-----------
[lldb][test] Disable a test from TestDAP_cancel.py on Windows
Flakey on our Windows on Arm bot:
https://lab.llvm.org/buildbot/#/builders/141/builds/11516
See https://github.com/llvm/llvm-project/issues/137660
Commit: fd4ef8e601fe1ea52162f63815192540f3660f39
https://github.com/llvm/llvm-project/commit/fd4ef8e601fe1ea52162f63815192540f3660f39
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/test/CodeGen/X86/isel-ceil.ll
M llvm/test/CodeGen/X86/isel-floor.ll
M llvm/test/CodeGen/X86/isel-ftrunc.ll
Log Message:
-----------
[X86][GlobalIsel] Support G_INTRINSIC_TRUNC/G_FCEIL/G_FFLOOR (#156633)
This PR adds support for C/CPP Lib Intrinsic G_INTRINSIC_TRUNC/G_FCEIL/G_FFLOOR from LangRef in GlobalIsel.
Commit: 4de9bee7e53eb84a22511317e26dfd656b66df8b
https://github.com/llvm/llvm-project/commit/4de9bee7e53eb84a22511317e26dfd656b66df8b
Author: nerix <nerixdev at outlook.de>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M lldb/test/Shell/SymbolFile/PDB/native-setting.cpp
Log Message:
-----------
[LLDB][PDB] Require Windows for for testing PDB plugin-selection again (#158559)
Amends #158284 and fixes the failure on `lldb-remote-linux-win` from
https://github.com/llvm/llvm-project/pull/158284#issuecomment-3290154510.
That builder is configured with the DIA SDK but builds for Linux, so the
debug information will be DWARF, not PDB.
Commit: d8c8c67dc5e1ac7f3a551750b9e21ec64ec5b283
https://github.com/llvm/llvm-project/commit/d8c8c67dc5e1ac7f3a551750b9e21ec64ec5b283
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
A llvm/test/CodeGen/X86/isel-smax.ll
A llvm/test/CodeGen/X86/isel-smin.ll
A llvm/test/CodeGen/X86/isel-umax.ll
A llvm/test/CodeGen/X86/isel-umin.ll
Log Message:
-----------
[X86][GlobalIsel] Add G_[U|S]MIN/G_[U|S]MAX scalar test coverage (#157621)
Adds isel test for supporting G_[U|S]MIN/G_[U|S]MAX.
Commit: 50bcf6818e045a39eb21201f7c512e514476385e
https://github.com/llvm/llvm-project/commit/50bcf6818e045a39eb21201f7c512e514476385e
Author: Brandon <61314499+brandonxin at users.noreply.github.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/sse41-builtins.c
Log Message:
-----------
[X86][bytecode] Allow SSE/AVX BLEND imm intrinsics to be used in constexpr (#157776)
This marks the following builtins as constexpr, which allows their
corresponding intrinsics to be used in constexprs.
| Intrinsics | X86 Builtins | CPUID Flags | Header |
| -------------------- | --------------------------- | ----------- |
----------- |
| `_mm_blend_pd` | `__builtin_ia32_blendpd` | SSE4.1 | smmintrin.h |
| `_mm256_blend_pd` | `__builtin_ia32_blendpd256` | AVX | immintrin.h |
| `_mm_blend_ps` | `__builtin_ia32_blendps` | SSE4.1 | smmintrin.h |
| `_mm256_blend_ps` | `__builtin_ia32_blendps256` | AVX | immintrin.h |
| `_mm_blend_epi16` | `__builtin_ia32_pblendw128` | SSE4.1 | smmintrin.h
|
| `_mm256_blend_epi16` | `__builtin_ia32_pblendw256` | AVX2 |
immintrin.h |
| `_mm_blend_epi32` | `__builtin_ia32_pblendd128` | AVX2 | immintrin.h |
| `_mm256_blend_epi32` | `__builtin_ia32_pblendd256` | AVX2 |
immintrin.h |
Fixes #157065
---------
Co-authored-by: Timm Baeder <tbaeder at redhat.com>
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: de0094edf0c8596550ed58d1b43e10969631a5ab
https://github.com/llvm/llvm-project/commit/de0094edf0c8596550ed58d1b43e10969631a5ab
Author: Georgios Pinitas <georgios.pinitas at arm.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[mlir][tosa] Introduce accumulator type for `reduce_sum` on bf16 (#158389)
TOSA requires that `reduce_sum` operations on bf16 accumulate into fp32.
This change updates the `linalg` legalization by introducing an explicit
accumulator type to ensure compliance with the specification.
---------
Signed-off-by: Georgios Pinitas <georgios.pinitas at arm.com>
Commit: 273917e5c0d935af5736770bdc9d0b03ce04dd8c
https://github.com/llvm/llvm-project/commit/273917e5c0d935af5736770bdc9d0b03ce04dd8c
Author: David Green <david.green at arm.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64-tail-dup-size.ll
A llvm/test/CodeGen/AArch64/global-merge-external.ll
M llvm/test/CodeGen/AArch64/global-merge-minsize.ll
M llvm/test/CodeGen/AArch64/local-bounds-single-trap.ll
Log Message:
-----------
[AArch64] Update and extend some GlobalMerge tests. NFC
Commit: 44061d14fb03ebbd38050c628ed009ae4db2714c
https://github.com/llvm/llvm-project/commit/44061d14fb03ebbd38050c628ed009ae4db2714c
Author: Harsh Tiwary <harshtiwary2012 at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512fp16intrin.h
M clang/lib/Headers/avx512vlbwintrin.h
M clang/lib/Headers/avx512vlfp16intrin.h
M clang/lib/Headers/avx512vlintrin.h
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vlbw-builtins.c
M clang/test/CodeGen/X86/avx512vlfp16-builtins.c
Log Message:
-----------
[Headers][X86] Allow AVX512 masked blend intrinsics to be used in constexpr (#156234)
This patch enables AVX-512 masked blend intrinsics to be usable in
constant expressions (`constexpr`) across various vector widths
(128-bit, 256-bit, 512-bit). It updates the respective Clang headers to
include the `__DEFAULT_FN_ATTRS_CONSTEXPR` annotation where applicable,
and supplements the change with thorough `TEST_CONSTEXPR` checks in the
X86 CodeGen test suite to validate constexpr evaluation.
Fixes #155796.
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: d8c2607fb1f4094db18e7716764738f9bc8489df
https://github.com/llvm/llvm-project/commit/d8c2607fb1f4094db18e7716764738f9bc8489df
Author: Ivan Murashko <ivan.murashko at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
A clang/test/SemaCXX/PR68605.cpp
M clang/test/SemaCXX/warn-shadow-in-lambdas.cpp
Log Message:
-----------
[clang][Sema] Fix false positive -Wshadow with structured binding captures (#157667)
Previously, lambda init captures of structured bindings were incorrectly
classified as regular shadow warnings (shown with `-Wshadow`), while
regular parameter captures were correctly classified as
`uncaptured-local` warnings (shown only with `-Wshadow-all`). This
created inconsistent behavior:
```cpp
void foo1(std::pair<int, int> val) {
[val = std::move(val)](){}(); // No warning with -Wshadow (correct)
}
void foo2(std::pair<int, int> val) {
auto [a, b] = val;
[a = std::move(a)](){}(); // Warning with -Wshadow (incorrect)
}
```
The fix extends the existing lambda capture classification logic in
`CheckShadow()` to handle `BindingDecl` consistently with `VarDecl`,
ensuring both cases show no warnings with `-Wshadow` and
`uncaptured-local` warnings with `-Wshadow-all`.
Fixes #68605.
---------
Co-authored-by: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Commit: 2c091e6aec2d48fbcafc9cc5909a62f0321db1fd
https://github.com/llvm/llvm-project/commit/2c091e6aec2d48fbcafc9cc5909a62f0321db1fd
Author: macurtis-amd <macurtis at amd.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/memcpy-fixed-align.ll
M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
M llvm/test/CodeGen/AMDGPU/memcpy-param-combinations.ll
M llvm/test/CodeGen/AMDGPU/memmove-param-combinations.ll
A llvm/test/Transforms/AggressiveInstCombine/AMDGPU/fold-consecutive-loads.ll
A llvm/test/Transforms/AggressiveInstCombine/AMDGPU/lit.local.cfg
Log Message:
-----------
AMDGPU: Report unaligned scratch access as fast if supported by tgt (#158036)
This enables more consecutive load folding during
aggressive-instcombine.
The original motivating example provided by Jeff Byrnes:
https://godbolt.org/z/8ebcTEjTs
Example provided by Nikita Popov: https://godbolt.org/z/Gv1j4vjqE as
part of my original attempt to fix the issue (PR
[#133301](https://github.com/llvm/llvm-project/pull/133301), see his
[comment](https://github.com/llvm/llvm-project/pull/133301#issuecomment-2984905809)).
This changes the value of `IsFast` returned by `In
SITargetLowering::allowsMisalignedMemoryAccessesImpl` to be non-zero for
private and flat addresses if the subtarget supports unaligned scratch
accesses.
This enables aggressive-instcombine to do more folding of consecutive
loads (see
[here](https://github.com/llvm/llvm-project/blob/cbd496581fb6953a9a8d8387a010cc3a67d4654b/llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp#L811)).
Summary performance impact on
[composable_kernel](https://github.com/ROCm/composable_kernel):
|GPU|speedup (geomean*)|
|---|---|
|MI300A| 1.11|
|MI300X| 1.14|
|MI350X| 1.03|
[*] Just to be clear, this is the geomean across kernels which were
impacted by this change - not across all CK kernels.
Commit: 994a6a39e13dcc335247a127a5da05905d1ac541
https://github.com/llvm/llvm-project/commit/994a6a39e13dcc335247a127a5da05905d1ac541
Author: Uyiosa Iyekekpolor <96444432+uyoyo0 at users.noreply.github.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/AArch64/scalarize-ext-extract-endian.ll
A llvm/test/Transforms/VectorCombine/PowerPC/lit.local.cfg
A llvm/test/Transforms/VectorCombine/PowerPC/scalarize-ext-extract.ll
Log Message:
-----------
[VectorCombine] Fix scalarizeExtExtract for big-endian (#157962)
The scalarizeExtExtract transform assumed little-endian lane ordering,
causing miscompiles on big-endian targets such as AIX/PowerPC under -O3
-flto.
This patch updates the shift calculation to handle endianness correctly
for big-endian targets. No functional change
for little-endian targets.
Fixes #158197.
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: e1d60f7f3c2773f21d13ae50d08a605529c102da
https://github.com/llvm/llvm-project/commit/e1d60f7f3c2773f21d13ae50d08a605529c102da
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector][nfc] Group all tests for `foldFromElementsToConstant` (#158578)
This patch merely moves + renames tests for Vector's
`foldFromElementsToConstant` - to better align with our testing guides:
* https://mlir.llvm.org/getting_started/TestingGuide/
Changes:
1. Make sure that all tests for `foldFromElementsToConstant` are
grouped together.
2. Use `@negative_` as a prefix for negative tests (*).
3. Use captigal letters for LIT variable names (*).
Commit: cdedc81c33649e97f053ca9eb346e3db6664bd7e
https://github.com/llvm/llvm-project/commit/cdedc81c33649e97f053ca9eb346e3db6664bd7e
Author: Gábor Horváth <xazax.hun at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/docs/APINotes.rst
M clang/include/clang/APINotes/Types.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesTypes.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
M clang/test/APINotes/swift-import-as.cpp
Log Message:
-----------
[APINotes] Support annotating safety of APIs (#157506)
Commit: 148a83543b2fdacdeac71ff49d3f76e386cf6f91
https://github.com/llvm/llvm-project/commit/148a83543b2fdacdeac71ff49d3f76e386cf6f91
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[LV] Introduce m_One and improve (0|1)-match (NFC) (#157419)
Commit: 2848e2801260e4cdb7468523a7c9a7df1223749e
https://github.com/llvm/llvm-project/commit/2848e2801260e4cdb7468523a7c9a7df1223749e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
Log Message:
-----------
[LV] Add test with partial reduction without narrowing.
Commit: 641ed9f66fbc931f301dd123a08bcc2d3c83ee9d
https://github.com/llvm/llvm-project/commit/641ed9f66fbc931f301dd123a08bcc2d3c83ee9d
Author: Hongyu Chen <xxs_chy at outlook.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86] Handle undef/zero/ones cases after modifying Ops and Masks (#158428)
Fixes https://github.com/llvm/llvm-project/issues/158415.
After `resolveTargetShuffleInputsAndMask` and other modifications on
`Ops` and `Mask`, unused inputs in `Ops` are erased, and may leave `Ops`
empty. This patch handles such cases before calling the final
`combineX86ShuffleChain`。
Commit: 29b6433bfbd6b778d6a6686cac96ae4b7640224e
https://github.com/llvm/llvm-project/commit/29b6433bfbd6b778d6a6686cac96ae4b7640224e
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/invalid.mlir
Log Message:
-----------
[OpenACC] verify acc::DeclareEnterOp operand not BlockArgument (#158095)
Check that the operand of acc::DeclareEnterOp is a BlockArgument before
trying to get its defining operation so it will not segfault and instead
produce a clean error. Add test case.
Commit: b0de4e67775869a9e0a7c95236335084165e90ce
https://github.com/llvm/llvm-project/commit/b0de4e67775869a9e0a7c95236335084165e90ce
Author: Georgios Pinitas <georgios.pinitas at arm.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
Log Message:
-----------
[mlir][tosa] Add support for BF16 in `tosa.resize` legalization (#158616)
Extend the resize linalg legalization functionality with BF16 support
and in accordance to the TOSA specification.
Signed-off-by: Georgios Pinitas <georgios.pinitas at arm.com>
Commit: 471bd1745ef044a7ee58a4947bf06a7f56660502
https://github.com/llvm/llvm-project/commit/471bd1745ef044a7ee58a4947bf06a7f56660502
Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/Func/TransformOps/FuncTransformOps.td
M mlir/include/mlir/Dialect/Func/Utils/Utils.h
M mlir/lib/Dialect/Func/TransformOps/FuncTransformOps.cpp
M mlir/lib/Dialect/Func/Utils/Utils.cpp
M mlir/test/Dialect/Func/func-transform-invalid.mlir
M mlir/test/Dialect/Func/func-transform.mlir
Log Message:
-----------
[mlir][func]-Add deduplicate funcOp arguments transform (#158266)
This PR adds a new transform operation which removes the duplicate
arguments from the function operation based on the callOp of this
function.
To have a more simple implementation for now, the transform will fail
when having multiple callOps for the same function we want to eliminate
the different arguments from.
This pull request also adpat the utils under the func dialect to be
reusable also for this transformOp.
Commit: 1d27e663691f0dc8b42acd09cab8c6eb15489950
https://github.com/llvm/llvm-project/commit/1d27e663691f0dc8b42acd09cab8c6eb15489950
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
Log Message:
-----------
[Github] Fix security issues in libcxx-run-benchmarks.yml workflow (#158467)
There was one action dependency that was not hash pinned and this
workflow also allowed code injection as the input might not be properly
escaped when dumped into the run script.
Commit: dd8767b10176c307b58af5d7aff63f59292115bf
https://github.com/llvm/llvm-project/commit/dd8767b10176c307b58af5d7aff63f59292115bf
Author: A. Jiang <de34 at live.cn>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M libcxx/test/support/MinSequenceContainer.h
Log Message:
-----------
[libc++][test] Clean-up `MinSequenceContainer` (#158432)
Follows-up #158344.
- Guard range-related functions with `TEST_STD_VER >= 23`.
- Mark range-related functions unconditionally `constexpr`.
- Add `TEST_CONSTEXPR_CXX20` to one `operator=`.
This will make `MinSequenceContainer` more consistent and useful for
legacy container adaptors or C++26 `constexpr` additions. Although we're
currently only using it with flat container adaptors.
Commit: 0058cc81f14bc76d1c81ba3bd20d9e341e047277
https://github.com/llvm/llvm-project/commit/0058cc81f14bc76d1c81ba3bd20d9e341e047277
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M libcxx/docs/TestingLibcxx.rst
Log Message:
-----------
[libc++] Add documentation for the new comment-triggered benchmarking bot (#158167)
The new benchmarking bot is experimental and is very rough on the edges.
Commit: f0cf167a5eb36de2657669c68190517624a2cee9
https://github.com/llvm/llvm-project/commit/f0cf167a5eb36de2657669c68190517624a2cee9
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M libcxx/utils/ci/build-picolibc.sh
Log Message:
-----------
[libc++][CI] Update meson used for building picolibc (#158308)
1.9.0 is the latest release.
This doesn't fix any current problem, I just want to make sure we update
these things once in a while in case upstream picolibc adopts new
versions.
Commit: a41660aaf40b0f3b119300a8d980be52c2c4feed
https://github.com/llvm/llvm-project/commit/a41660aaf40b0f3b119300a8d980be52c2c4feed
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M libcxx/test/benchmarks/stringstream.bench.cpp
Log Message:
-----------
[libc++] Don't run multithreaded stringstream benchmarks (#158294)
This results in invalid JSON output as reported in google/benchmark#2039.
Commit: d0263f07d1ad35223b017e660725c0a093e89e74
https://github.com/llvm/llvm-project/commit/d0263f07d1ad35223b017e660725c0a093e89e74
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M libcxx/test/benchmarks/filesystem.bench.cpp
M libcxx/utils/parse-google-benchmark-results
Log Message:
-----------
[libc++] Remove complexity calculations from <filesystem> benchmark (#158290)
Our benchmarks are not really suited for complexity calculation, since
that doesn't translate nicely to any of the performance tracking tools
we have (including Lit).
Commit: e0a33cb599f8614b3d897ad2bd2f9fa8e1acbac5
https://github.com/llvm/llvm-project/commit/e0a33cb599f8614b3d897ad2bd2f9fa8e1acbac5
Author: camc <69519329+camc at users.noreply.github.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseDecl.cpp
A clang/test/Parser/cxx03-attributes.cpp
Log Message:
-----------
[clang] Allow attributes on first constructor argument in pre-C++11 (#157300)
Resolves GH-156809
Modifies decl parser to allow C++11 style [[attributes]] on the first
argument in constructors in all C++ standards. They are already allowed
on later arguments.
---------
Co-authored-by: Shafik Yaghmour <shafik.yaghmour at intel.com>
Commit: 895cda70a95529fd22aac05eee7c34f7624996af
https://github.com/llvm/llvm-project/commit/895cda70a95529fd22aac05eee7c34f7624996af
Author: Sebastian Pop <spop at nvidia.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/Driver/clang_f_opts.c
M flang/docs/ReleaseNotes.md
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
A flang/test/Driver/loop-fuse.f90
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/tools/opt/NewPMDriver.cpp
Log Message:
-----------
Introduce -fexperimental-loop-fuse to clang and flang (#142686)
This patch adds the flag -fexperimental-loop-fuse to the clang and flang
drivers. This is primarily useful for experiments as we envision to
enable the pass one day.
The options are based on the same principles and reason on which we have
`floop-interchange`.
---------
Co-authored-by: Madhur Amilkanthwar <madhura at nvidia.com>
Commit: 4452fbddc5c410f50557ea9f1ef6e1e83d236b1e
https://github.com/llvm/llvm-project/commit/4452fbddc5c410f50557ea9f1ef6e1e83d236b1e
Author: Shaoce SUN <sunshaoce at outlook.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/test/CodeGen/RISCV/GlobalISel/constantpool.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
Log Message:
-----------
[RISCV][GlobalIsel] Reduce constant pool usage without FP extension (#158346)
The recognition range can be extended later.
Commit: dc00abac0e79359a16d617f1c36b5a628fa5b8a1
https://github.com/llvm/llvm-project/commit/dc00abac0e79359a16d617f1c36b5a628fa5b8a1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/test/lit.cfg.py
Log Message:
-----------
[llvm] Add env prefix to environment variable
This substitution is used in a few tests in certain build configurations
(seems like only a 2-stage build on Darwin with Asan enabled on a
previous stage). This needs an env prefix now that we have enabled the
internal shell by default, or the tests end up failing.
Commit: 228e24028d35af81172f1bf9b49abcd226e76aae
https://github.com/llvm/llvm-project/commit/228e24028d35af81172f1bf9b49abcd226e76aae
Author: Hans Wennborg <hans at hanshq.net>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
Add llvm-ml64 to LLVM_TOOLCHAIN_TOOLS (#158582)
So that it gets included in LLVM_INSTALL_TOOLCHAIN_ONLY builds, such as
when building the Windows installer.
Fixes #149664
Commit: 00c051080c3b03f2f6a346605c485bb828579b8d
https://github.com/llvm/llvm-project/commit/00c051080c3b03f2f6a346605c485bb828579b8d
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 471bd1745ef044a7ee58a4947bf06a7f56660502
Commit: 64d5e6c4b35be1840bfffe57a24db2b9d18d65fe
https://github.com/llvm/llvm-project/commit/64d5e6c4b35be1840bfffe57a24db2b9d18d65fe
Author: Nathan Gauër <brioche at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[NFC][clang] replace a C-array with std::array (#158047)
Follow up to #157841, replacing the C-array with std::array so iterators
can be used.
---------
Co-authored-by: Nikolas Klauser <nikolasklauser at berlin.de>
Commit: 92dcbf4092059b0c61865a3eac9520d7b5440951
https://github.com/llvm/llvm-project/commit/92dcbf4092059b0c61865a3eac9520d7b5440951
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
Log Message:
-----------
[NFC] Fix commas on assertion from 147514 (#158635)
As brought up on the review for #147514, the original patch doesn't
correctly parenthesize the expression in the assert. This fixes it.
Commit: 53a4e4a77bd70731320bfa82ddbe6f88ee30ea6f
https://github.com/llvm/llvm-project/commit/53a4e4a77bd70731320bfa82ddbe6f88ee30ea6f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M libcxx/include/__utility/lazy_synth_three_way_comparator.h
M libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.ops/find.pass.cpp
M libcxx/test/std/containers/associative/multiset/find.pass.cpp
M libcxx/test/std/containers/associative/set/find.pass.cpp
Log Message:
-----------
[libc++] Specialize __lazy_synth_three_way_comparator for std::greater and friends (#157624)
This specializes `__lazy_synth_three_way_comparator` to forward to
`__default_three_way_comparator` if the comparator desugars to
`__greater_tag`. This is the same as the desugaring to `__less_tag`
except that the sign has to be inverted.
Commit: f1a02c681f0d092bb28ac3ff2e79eff11ecb95dc
https://github.com/llvm/llvm-project/commit/f1a02c681f0d092bb28ac3ff2e79eff11ecb95dc
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
Log Message:
-----------
[lldb] Fix unordered-map data formatter for const types (#156033)
The test was failing because the const qualifier is not removed when checking if the type is an `unordered_map`
Commit: 5e118eca93ad7591c7b904a160d4d42cd37903c5
https://github.com/llvm/llvm-project/commit/5e118eca93ad7591c7b904a160d4d42cd37903c5
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered_map-iterator/TestDataFormatterStdUnorderedMap.py
Log Message:
-----------
[lldb][test] Fix unordered-map test. (#158286)
The build step is overidden so it uses `libstdc++` instead of `libc++`
on linux
Commit: c723cc2a041d6e7e741b0ce6abc1f18d4ada9b4a
https://github.com/llvm/llvm-project/commit/c723cc2a041d6e7e741b0ce6abc1f18d4ada9b4a
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Remarks/BitstreamRemarkParser.cpp
M llvm/lib/Remarks/BitstreamRemarkParser.h
Log Message:
-----------
[Remarks] BitstreamRemarkParser: Refactor error handling (#156511)
In preparation of larger changes to the bitstream remark format,
refactor the error handling code in the BitstreamRemarkParser.
Main change: move the various static helper methods into the parser
helper classes, so we don't need to pass around as many args. Calling
`error(...)` inside the helper classes now automatically prepends the
current block being parsed to the error message.
NFCI (except for error messages on invalid bitstream files).
Pull Request: https://github.com/llvm/llvm-project/pull/156511
Commit: 271740c8baa08ad2451111f9d49d7cc3db92d199
https://github.com/llvm/llvm-project/commit/271740c8baa08ad2451111f9d49d7cc3db92d199
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
Log Message:
-----------
[NFC] Fix "shift implicitly converted" warning introduced by #154761 (#158619)
Commit: 4bf0001c0738efa5902287011c63650bac8791b5
https://github.com/llvm/llvm-project/commit/4bf0001c0738efa5902287011c63650bac8791b5
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/memcmp32_fixsize.ll
A llvm/test/CodeGen/PowerPC/memcmp64_fixsize.ll
Log Message:
-----------
[PowerPC][NFC] Pre-commit test case: Implement a more efficient memcmp in cases where the length is known (#158367)
The newly added test case will be used to verify a more efficient memcmp
in cases where the length is known.
Commit: 3c75065765c96ebf4f7f2f66eb21e45fb4d74704
https://github.com/llvm/llvm-project/commit/3c75065765c96ebf4f7f2f66eb21e45fb4d74704
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Remarks/BitstreamRemarkParser.cpp
M llvm/lib/Remarks/BitstreamRemarkParser.h
Log Message:
-----------
Revert "[Remarks] BitstreamRemarkParser: Refactor error handling" (#158647)
Reverts llvm/llvm-project#156511. Build failure not caught by pre-commit
CI.
Commit: af144d582ea16483670be3fc00df5131deaa0fd2
https://github.com/llvm/llvm-project/commit/af144d582ea16483670be3fc00df5131deaa0fd2
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
M cross-project-tests/lit.cfg.py
Log Message:
-----------
[Dexter] llvm-lit: Always log DAP messages to stderr (#158586)
This will help diagnose flaky buildbots. The stderr output is only shown
by lit if the test fails.
Commit: 959c3b627fd4084ae583c80703b88b91f63f9a0e
https://github.com/llvm/llvm-project/commit/959c3b627fd4084ae583c80703b88b91f63f9a0e
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/lib/Headers/intrin.h
A clang/test/Headers/arm-acle-no-direct-include.c
Log Message:
-----------
[clang][ARM] Include arm_acle.h in intrin.h on supported platforms (#144172)
Right now when using ARM intrinsics without including `arm_acle.h`, we
throw a warning saying to include it or provide a declaration for the
function.
MSVC doesn't have any ARM-intrinsic specific header, so include Clang's
ARM intrinsic header (`arm_acle.h`) in `intrin.h` so we don't get a
warning that tells the user to include a header that doesn't exist.
Ideally we could change the header based on the platform, but we don't
have the infra for that at the moment.
See https://github.com/llvm/llvm-project/pull/140910 for more info.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 32ab6ff9f95739cba9954e666479d30e126af53c
https://github.com/llvm/llvm-project/commit/32ab6ff9f95739cba9954e666479d30e126af53c
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M flang/include/flang/Optimizer/OpenMP/Utils.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/AutomapToTargetData.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
Log Message:
-----------
[NFC][Flang] Move bounds helper functions to Util header. (#154164)
This PR moves the `needsBoundsOps` and `genBoundsOps` helper functions
to `flang/include/flang/Optimizer/OpenMP/Utils.h`.
Commit: 0cca9e4baa0073a5a6f46b1b09dbd6ed290ae619
https://github.com/llvm/llvm-project/commit/0cca9e4baa0073a5a6f46b1b09dbd6ed290ae619
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Remove enable_execute_stack support on arm64 Darwin (#158386)
`enable_execute_stack` is not supported on arm64 Darwin because:
- It calls mprotect with `PROT_WRITE | PROT_EXEC`, which is rejected on
this platform.
- It assumes a fixed 4K page size, which is not guaranteed.
This change disables building `enable_execute_stack` on arm64 Darwin and
fixes the failing test:
`compiler-rt/test/builtins/Unit/enable_execute_stack_test.c`.
rdar://159705691
Commit: 99ec5b95da4fa4e32cf9854513413510d48781f6
https://github.com/llvm/llvm-project/commit/99ec5b95da4fa4e32cf9854513413510d48781f6
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
A flang/test/Driver/flang-dwarf-version.f90
Log Message:
-----------
[flang][driver] Support -gdwarf-N option. (#158314)
This PR adds the support for -gdwarf-N option where allows user to
choose the version of the dwarf. Currently N can be 2, 3, 4, or 5. This
is only the driver part of the change. Later PRs will propogate it to
the IR.
Fixes https://github.com/llvm/llvm-project/issues/112910.
Commit: e299d9ac744600d837b45cb0be9d000b4ecbf2a3
https://github.com/llvm/llvm-project/commit/e299d9ac744600d837b45cb0be9d000b4ecbf2a3
Author: sstipano <sstipano7 at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU][NFC] Refactor FLAT_Global_* pseudos. (#120244)
Commit: c88f3c582dc2ef5f2fdfd0c5887f5f7562f49095
https://github.com/llvm/llvm-project/commit/c88f3c582dc2ef5f2fdfd0c5887f5f7562f49095
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir] Add base class type aliases for rewrites/conversions. NFC. (#158433)
This is to simplify writing rewrite/conversion patterns that usually
start with:
```c++
struct MyPattern : public OpRewritePattern<MyOp> {
using OpRewritePattern::OpRewritePattern;
```
and allow for:
```c++
struct MyPattern : public OpRewritePattern<MyOp> {
using Base::Base;
```
similar to how we enable it for pass classes.
Commit: 134a58adff85c6f7bcd8fb29604b954c82c78e2a
https://github.com/llvm/llvm-project/commit/134a58adff85c6f7bcd8fb29604b954c82c78e2a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaOverload.cpp
A clang/test/CodeGen/vector-convert-boolean.cpp
A clang/test/Sema/vector-bool-assign.c
A clang/test/Sema/vector-bool-assign.cpp
Log Message:
-----------
[Clang] Permit implicit conversion from integral to boolean vectors (#158369)
Summary:
Clang supports boolean vectors as an extension to the vector model.
These are commonly used to represent mask vectors in many vector ISAs.
Currently, using these is quite difficult because all of the vector
comparison operations use integral bitmasks. C / C++ has a long history
of allowing implicit conversions to bool, and I think that we should be
able to do the same here, especially because boolean vectors often work
as wrappers around a bitfield.
This patch adds the minimal changes to enable integral to boolean
conversions for vectors. Because LLVM already handles comparison to zero
for vectors natively, minimal changes are required. We are not bound to
the OpenCL standard at all here because it explicitly forbids boolean
vectors anyway, so these are simply clang extensions.
Commit: c7acd0796cb8971cb4abccc7813be23ee447ab0f
https://github.com/llvm/llvm-project/commit/c7acd0796cb8971cb4abccc7813be23ee447ab0f
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/test/OpenMP/spirv_locstr.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[clang][OMPIRBuilder] Use default target AS to create types (#158152)
Currently we assume that `0` is the default AS, which is usually true,
but it isn't for `SPIR-V`.
Pass down the AS from `clang` and use it to create types.
After this change, we finally generate fully valid SPIR-V for a basic
OpenMP Offloading example.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 5365f8bc91d2d820092e904ecab21b841e3f5abb
https://github.com/llvm/llvm-project/commit/5365f8bc91d2d820092e904ecab21b841e3f5abb
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M flang/include/flang/Optimizer/OpenMP/Utils.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/AutomapToTargetData.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
Log Message:
-----------
Revert "[NFC][Flang] Move bounds helper functions to Util header." (#158654)
Reverts llvm/llvm-project#154164
Commit: f5d3cf4a643fc13194e09cb39905f7f3b083f85e
https://github.com/llvm/llvm-project/commit/f5d3cf4a643fc13194e09cb39905f7f3b083f85e
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M mlir/test/lib/Dialect/Test/TestInterfaces.td
M mlir/test/mlir-tblgen/op-interface.td
M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
Log Message:
-----------
[mlir][TableGen] Emit interface traits after all interfaces (#147699)
Interface traits may provide default implementation of methods. When
this happens, the implementation may rely on another interface that is
not yet defined meaning that one gets "incomplete type" error during C++
compilation. In pseudo-code, the problem is the following:
```
InterfaceA has methodB() { return InterfaceB(); }
InterfaceB defined later
// What's generated is:
class InterfaceA { ... }
class InterfaceATrait {
// error: InterfaceB is an incomplete type
InterfaceB methodB() { return InterfaceB(); }
}
class InterfaceB { ... } // defined here
```
The two more "advanced" cases are:
* Cyclic dependency (A requires B and B requires A)
* Type-traited usage of an incomplete type (e.g.
`FailureOr<InterfaceB>`)
It seems reasonable to emit interface traits *after* all of the
interfaces have been defined to avoid the problem altogether.
As a drive by, make forward declarations of the interfaces early so that
user code does not need to forward declare.
Commit: 0237477a121ec78eaf874a223dca6cd24d0111b8
https://github.com/llvm/llvm-project/commit/0237477a121ec78eaf874a223dca6cd24d0111b8
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
Log Message:
-----------
[MLIR] Attempt to fix sanitizer issue (access of uninitialized member)
Follow-up to #156825 ; a member wasn't always initialized, it's not clear to me
why this is needed though, so this fix may not be the right one, we'll monitor
the bots.
Commit: 1aa7159e0c2876d78f90131d5428c1856af6dda8
https://github.com/llvm/llvm-project/commit/1aa7159e0c2876d78f90131d5428c1856af6dda8
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/llvm-tests.yml
Log Message:
-----------
[Github] Use standard checkout for ABI test workflows (#158468)
These workflows are currently using a custom checkout action in
llvm/actions. This does the same thing as actions/checkout, but incurs a
maintenance cost that we have not really been paying. Switch over to the
Github supported workflow so someone else is paying the maintenance
cost.
Commit: 9f06b28f87bf170cde4000afac1e3221b0418f28
https://github.com/llvm/llvm-project/commit/9f06b28f87bf170cde4000afac1e3221b0418f28
Author: Aditya Chaudhary <aditya.chaudhary0714 at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/aix-gsplit-dwarf.c
Log Message:
-----------
[AIX] Disable -gsplit-dwarf as it is unsupported at the moment on AIX (#158199)
**-gsplit-dwarf** flag causes an internal compiler error on AIX.
This PR aims to disable the -gsplit-dwarf flag on the AIX platform, as
it is unsupported at the moment.
Co-authored-by: Aditya Chaudhary <aditya.chaudhary1 at ibm.com>
Commit: 5211d4d971efc4f7f8066561e8fca319ef75965d
https://github.com/llvm/llvm-project/commit/5211d4d971efc4f7f8066561e8fca319ef75965d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M .github/workflows/gha-codeql.yml
Log Message:
-----------
[Github] Add path filtering to CodeQL workflow
This workflow should only be triggering on PRs that touch Github
workflows. This is not the case currently because I forgot to add path
filtering in the original implementation.
Commit: f7985df47d51fa8e68be3717281e995fa753f5b1
https://github.com/llvm/llvm-project/commit/f7985df47d51fa8e68be3717281e995fa753f5b1
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
Log Message:
-----------
[clang] NFC: non-type template argument check cleanup (#158515)
This is a follow-up to #134461, reverting some unnecessary changes.
This cleans up some checks around the assumption that a pack expansion
on the argument side could appear when checking non-type template
arguments when handling the pre-C++17 rules, but all of these cases are
being handled using the C++17 rules anyway.
This reverts those changes and adds an assert confirming these cases are
not possible.
Commit: a6585b0cc4c135d4a4aed064383be01ad5551b42
https://github.com/llvm/llvm-project/commit/a6585b0cc4c135d4a4aed064383be01ad5551b42
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M flang-rt/lib/runtime/complex-reduction.h
M flang/include/flang/Runtime/freestanding-tools.h
Log Message:
-----------
[flang] Add header includes to make headers compile standalone. (#158215)
When compiling headers standalone, we need additional header includes.
Commit: d687dfe619b23d77633c4c9f3590210572bdcf03
https://github.com/llvm/llvm-project/commit/d687dfe619b23d77633c4c9f3590210572bdcf03
Author: Perry Gibson <Wheest at users.noreply.github.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] expose MLIR Pygments lexer to bazel overlay (#158604)
[This existing
tool](https://github.com/llvm/llvm-project/tree/main/mlir/utils/pygments)
allows us to do code highlighting for MLIR, e.g., for use in docs.
However, it is not currently exposed to Bazel. Here, I do this using
`exports_files`, and rely on the user to create a `py_library`.
Commit: ed165237cd48e699396631c64f2932bd8e6ee485
https://github.com/llvm/llvm-project/commit/ed165237cd48e699396631c64f2932bd8e6ee485
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/test/MC/AMDGPU/gfx11_asm_vopd_err.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vopd_errs.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopd_errs.s
M llvm/test/MC/AMDGPU/mai-gfx950-err.s
M llvm/test/MC/AMDGPU/vop3-literal.s
Log Message:
-----------
[AMDGPU][AsmParser] Simplify getting source locations of operands. (#158323)
Remember indexes of MCOperands in MCParsedAsmOperands as we add them to
instructions. Then use the indexes to find locations by known MCOperands
indexes.
Happens to fix some reported locations in tests. NFCI otherwise.
getImmLoc() is to be eliminated as well; there's enough work for another
patch.
Commit: 0a4b87dac476f525e1d9bd0cf6dafb743a2d8245
https://github.com/llvm/llvm-project/commit/0a4b87dac476f525e1d9bd0cf6dafb743a2d8245
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M compiler-rt/test/lit.common.cfg.py
Log Message:
-----------
[compiler-rt][lit] Check glibc version without external packages (#158387)
Alternative to #158236 without requiring external packages
Commit: 53cda13202debb78dd74a4acd6ec2c0b1d507b66
https://github.com/llvm/llvm-project/commit/53cda13202debb78dd74a4acd6ec2c0b1d507b66
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/docs/ProgrammersManual.rst
M llvm/include/llvm/Support/DebugLog.h
M llvm/unittests/Support/DebugLogTest.cpp
M mlir/test/IR/test-pattern-logging-listener.mlir
Log Message:
-----------
Default DEBUG_TYPE to the current filename for logging (#158494)
This makes it optional to define a debug type and uses the current
FileName instead. This both reduced the size of the prefix printed by
LDBG() and makes it possible to pass a filename to `--debug-only` to
filter on.
Commit: c193d71b0d1b04efb893474e452801081087ad98
https://github.com/llvm/llvm-project/commit/c193d71b0d1b04efb893474e452801081087ad98
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/test/Headers/arm-acle-no-direct-include.c
Log Message:
-----------
[clang][Headers][lit] Fix test arm-acle-no-direct-include.c on Mac (#158677)
See
[here](https://github.com/llvm/llvm-project/pull/144172#issuecomment-3292907771),
need to add `--` to filename parsing on Mac because the path starts with
`/U` which `clang-cl` treats as the flag `/U`.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 985dc69a2def6812ba310c8fa431a0679f1b8163
https://github.com/llvm/llvm-project/commit/985dc69a2def6812ba310c8fa431a0679f1b8163
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
Log Message:
-----------
[LV] Add test for missed interleaving after narrowing interleave groups.
Add extra test coverage for
https://github.com/llvm/llvm-project/pull/149706. The added loop should
be interleaved, after narrowing interleave groups, which requires moving
the transform earlier.
Commit: 4957c473bc73a3a0bf1037adec770547c4a0aa02
https://github.com/llvm/llvm-project/commit/4957c473bc73a3a0bf1037adec770547c4a0aa02
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
M clang/test/VFS/broken-vfs-module-dep.c
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/VirtualFileSystem.cpp
Log Message:
-----------
[clang] Avoid reparsing VFS overlay files for module dep collector (#158372)
This PR uses the new-ish `llvm::vfs::FileSystem::visit()` interface to
collect VFS overlay entries from an existing `FileSystem` instance
rather than parsing the VFS YAML file anew. This prevents duplicate
diagnostics as observed by `clang/test/VFS/broken-vfs-module-dep.c`.
Commit: ec8819f1858a67cff20ca47e0cbfa11e292c989f
https://github.com/llvm/llvm-project/commit/ec8819f1858a67cff20ca47e0cbfa11e292c989f
Author: John Harrison <harjohn at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M lldb/include/lldb/Protocol/MCP/Server.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/Tool.cpp
M lldb/source/Plugins/Protocol/MCP/Tool.h
M lldb/source/Protocol/MCP/Server.cpp
Log Message:
-----------
[lldb-mcp] Adding a tool to list debuggers again. (#158340)
This brings back the tool for listing debuggers.
This is helpful when an LLM doesn't support resources, like gemini-cli.
I also fixed an issue with `ServerInfoHandle` not always cleaning up the
`~/lldb/lldb-mcp-<pid>.json` file correctly.
Commit: dffe5e3e9a5a8799dbb32113d5258586b8f82c63
https://github.com/llvm/llvm-project/commit/dffe5e3e9a5a8799dbb32113d5258586b8f82c63
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/linalggen.bzl
Log Message:
-----------
[bazel] Explicitly use `output_to_bindir = 1` for genlinalg (#158669)
This is the default in recent versions of bazel, but old behavior is
still possible w/ `--incompatible_merge_genfiles_directory=false
--incompatible_skip_genfiles_symlink=false`.
Commit: b24769855d97697de08e2296a548c033f193caf4
https://github.com/llvm/llvm-project/commit/b24769855d97697de08e2296a548c033f193caf4
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicits.c
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/APINotes/nullability.c
M clang/test/APINotes/nullability.m
M clang/test/APINotes/types.m
M clang/test/AST/ByteCode/atomic.c
M clang/test/AST/ByteCode/c.c
M clang/test/Analysis/OSAtomic_mac.c
M clang/test/Analysis/bsd-string.c
M clang/test/Analysis/novoidtypecrash.c
M clang/test/Analysis/override-werror.c
M clang/test/Analysis/uninit-vals-union.c
M clang/test/C/C23/n3007.c
M clang/test/C/C2y/n3369.c
M clang/test/C/drs/dr0xx.c
M clang/test/CodeGen/2008-03-05-syncPtr.c
M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-cas-error.c
M clang/test/CodeGen/X86/cmpccxadd-builtins-error.c
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/builtin-attributes.c
M clang/test/CodeGen/builtin-rename.c
M clang/test/CodeGen/ms-intrinsics-underaligned.c
M clang/test/CodeGen/ubsan-pass-object-size.c
M clang/test/CodeGen/vla.c
M clang/test/CodeGen/vlt_to_pointer.c
M clang/test/CodeGenOpenCL/numbered-address-space.cl
M clang/test/FixIt/fixit-objc-arc.m
M clang/test/Frontend/fixed_point_unknown_conversions.c
M clang/test/Index/preamble.c
M clang/test/Index/warning-flags.c
M clang/test/Misc/remap-file.c
M clang/test/Modules/diamond-pch.c
M clang/test/Modules/diamond.c
M clang/test/Modules/serialized-diags.m
M clang/test/OpenMP/vla_crash.c
M clang/test/PCH/functions.c
M clang/test/PCH/objc_exprs.m
M clang/test/PCH/objc_kindof.m
M clang/test/PCH/variables.c
M clang/test/Parser/declarators.c
M clang/test/Sema/MicrosoftExtensions.c
M clang/test/Sema/arm-neon-types.c
M clang/test/Sema/atomic-expr.c
M clang/test/Sema/atomic-ops.c
M clang/test/Sema/attr-format.c
M clang/test/Sema/c2x-auto.c
M clang/test/Sema/conditional-expr.c
M clang/test/Sema/decl-type-merging.c
M clang/test/Sema/enum.c
M clang/test/Sema/format-strings.c
M clang/test/Sema/function.c
M clang/test/Sema/merge-decls.c
M clang/test/Sema/nullability.c
M clang/test/Sema/pass-object-size.c
M clang/test/Sema/ptrauth-atomic-ops.c
M clang/test/Sema/ptrauth.c
M clang/test/Sema/static-array.c
M clang/test/Sema/struct-compat.c
M clang/test/Sema/var-redecl.c
M clang/test/Sema/vector-assign.c
M clang/test/Sema/vla.c
M clang/test/SemaObjC/arc-decls.m
M clang/test/SemaObjC/arc-objcbridge-related-attribute.m
M clang/test/SemaObjC/arc.m
M clang/test/SemaObjC/attr-objc-NSObject.m
M clang/test/SemaObjC/check-objcbridge-related-attribute-lookup.m
M clang/test/SemaObjC/class-method-self.m
M clang/test/SemaObjC/comptypes-1.m
M clang/test/SemaObjC/comptypes-4.m
M clang/test/SemaObjC/comptypes-5.m
M clang/test/SemaObjC/comptypes-6.m
M clang/test/SemaObjC/comptypes-7.m
M clang/test/SemaObjC/conditional-expr-2.m
M clang/test/SemaObjC/conditional-expr.m
M clang/test/SemaObjC/id.m
M clang/test/SemaObjC/incompatible-protocol-qualified-types.m
M clang/test/SemaObjC/instancetype.m
M clang/test/SemaObjC/ivar-lookup.m
M clang/test/SemaObjC/kindof.m
M clang/test/SemaObjC/method-prototype-scope.m
M clang/test/SemaObjC/nullability.m
M clang/test/SemaObjC/objcbridge-related-attribute.m
M clang/test/SemaObjC/parameterized_classes.m
M clang/test/SemaObjC/parameterized_classes_arc.m
M clang/test/SemaObjC/parameterized_classes_subst.m
M clang/test/SemaObjC/protocol-typecheck.m
M clang/test/SemaObjC/protocol-warn.m
M clang/test/SemaObjC/related-result-type-inference.m
M clang/test/SemaObjC/unqualified-to-qualified-class-warn.m
M clang/test/SemaObjC/warn-incompatible-builtin-types.m
M clang/test/SemaObjC/warn-superclass-method-mismatch.m
M clang/test/SemaObjCXX/blocks.mm
M clang/test/SemaObjCXX/objc-pointer-conv.mm
M clang/test/SemaObjCXX/overload.mm
M clang/test/SemaObjCXX/parameterized_classes_subst.mm
M clang/test/SemaObjCXX/related-result-type-inference.mm
M clang/test/SemaOpenACC/combined-construct-if-clause.c
M clang/test/SemaOpenACC/compute-construct-if-clause.c
M clang/test/SemaOpenCL/address-spaces.cl
M clang/test/SemaOpenCL/atomic-ops.cl
M clang/test/SemaOpenCL/to_addr_builtin.cl
M compiler-rt/test/safestack/pthread-cleanup.c
M compiler-rt/test/tysan/violation-pr62544.c
M lldb/test/API/functionalities/thread/exit_during_expression/main.c
M lldb/test/API/functionalities/valobj_errors/hidden.c
Log Message:
-----------
[Clang] [Sema] Make `-Wincompatible-pointer-types` an error by default (#157364)
GCC 14 also made this an error by default, so we’re following suit.
Fixes #74605
Commit: f9cd2ee119ff6bd59f48fd71617dc4fc981083c9
https://github.com/llvm/llvm-project/commit/f9cd2ee119ff6bd59f48fd71617dc4fc981083c9
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/CMakeLists.txt
A llvm/include/llvm/CAS/MappedFileRegionArena.h
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/include/llvm/Support/FileSystem.h
M llvm/lib/CAS/CMakeLists.txt
A llvm/lib/CAS/MappedFileRegionArena.cpp
A llvm/lib/CAS/OnDiskCommon.cpp
A llvm/lib/CAS/OnDiskCommon.h
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/Windows/Path.inc
M llvm/unittests/CAS/CMakeLists.txt
A llvm/unittests/CAS/ProgramTest.cpp
Log Message:
-----------
[CAS] Add MappedFileRegionArena (#114099)
Add MappedFileRegionArena which can be served as a file system backed
persistent memory allocator. The allocator works like a
BumpPtrAllocator,
and is designed to be thread safe and process safe.
The implementation relies on the POSIX compliance of file system and
doesn't work on all file systems. If the file system supports lazy tail
(doesn't allocate disk space if the tail of the large file is not used),
user has more flexibility to declare a larger capacity.
The allocator works by using a atomically updated bump ptr at a location
that can be customized by the user. The atomic pointer points to the
next available space to allocate, and the allocator will resize/truncate
to current usage once all clients closed the allocator.
Windows implementation contributed by: @hjyamauchi
Commit: 95d5d984db4092136ad4b178b765516168c31b9e
https://github.com/llvm/llvm-project/commit/95d5d984db4092136ad4b178b765516168c31b9e
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/SymbolFileOnDemand.cpp
A lldb/test/Shell/Commands/command-image-dump-ast-colored.test
Log Message:
-----------
[lldb][TypeSystem] Enable colored AST dump (#86159)
This patch causes the various AST dump commands (`target modules dump
ast`/`target dump typesystem`) to be color-highlighted. I added a `bool
show_color` parameter to `SymbolFile::DumpClangAST` and
`TypeSystem::Dump`. In `TypeSystemClang` I temporarily sets the
`getShowColors` flag on the owned Clang AST (using an RAII helper) for
the duration of the AST dump. We use `Debugger::GetUseColors` to decide
whether to color the AST dump.
Commit: 0741209385ae62fc8c529f807c6f4f9777d94bc3
https://github.com/llvm/llvm-project/commit/0741209385ae62fc8c529f807c6f4f9777d94bc3
Author: Krish Gupta <krishom70 at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
A flang/test/Lower/OpenMP/lastprivate-alloc-scope.f90
Log Message:
-----------
[flang][OpenMP] Guard lastprivate scoping on DO (#157760)
Add HLFIR FileCheck ensuring `lastprivate(v)` on an `omp do` is realized
as privatization on the inner wsloop and not on the enclosing `omp
parallel`.
This matches OpenMP semantics and prevents regressions.
- No `private(v)` at `omp.parallel`
- `omp.wsloop ... private(...)` present
Unable to reproduce #157035 on current main; this test documents the
expected lowering.
p.s- do refer to
[delayed-privatization](https://lists.llvm.org/pipermail/mlir-commits/2025-January/088206.html?utm_source=chatgpt.com)
<img width="2940" height="1912" alt="image"
src="https://github.com/user-attachments/assets/5c3a0656-fe0a-4bd5-be98-b626a7a719c1"
/>
Commit: 55185382ced9b865dd78cbeb4f37a6a715619280
https://github.com/llvm/llvm-project/commit/55185382ced9b865dd78cbeb4f37a6a715619280
Author: jtstogel <jtstogel at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/strings/BUILD.bazel
Log Message:
-----------
[bazel][libc] Add bazel support for a handful of string functions (#158327)
Commit: b154b050de7ad868874d5b717e46ffa38b89efe1
https://github.com/llvm/llvm-project/commit/b154b050de7ad868874d5b717e46ffa38b89efe1
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Lower/percent-val-actual-argument.f90
Log Message:
-----------
[Flang] Make handling of %VAL consistent with gfortran (#157873)
Prevent fir.convert operation from being generated between logical and pointer types.
Commit: bc745dcd788f80441ba4151e2c80f86c95c966aa
https://github.com/llvm/llvm-project/commit/bc745dcd788f80441ba4151e2c80f86c95c966aa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Log Message:
-----------
[LegalizeTypes] Use getShiftAmountConstant in PromoteIntRes_FunnelShift. (#158553)
Commit: 488ce6bc486ce5755fb151ce54f1214c7002fe55
https://github.com/llvm/llvm-project/commit/488ce6bc486ce5755fb151ce54f1214c7002fe55
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
[bazel] Port f9cd2ee119ff6bd59f48fd71617dc4fc981083c9 (#158691)
Commit: 6626e6acfee0d22423e258bdcfc8e54045b0d88d
https://github.com/llvm/llvm-project/commit/6626e6acfee0d22423e258bdcfc8e54045b0d88d
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/tblgen.bzl
Log Message:
-----------
[bazel] Update tblgen rules to support path-mapping (#158354)
Path mapping is a feature of bazel that allows actions to be
deduplicated across bazel transitions if they are otherwise identical.
This is helpful if you build a binary in N transitions, where the
settings differences are irrelevant to this action. In our case we build
multiple python native extensions transitioning on the python version
they target, and before this change would run each of these actions once
per python version even though the outputs would be identical.
This is a no-op unless `--experimental_output_paths=strip` is passed.
The changes here are just enough to make bazel automatically remap the
paths, which is done by how you use the args object. The core change is
that instead of carrying around paths that have `ctx.bin_dir` hardcoded
in the strings. This is done by mapping them with the output file
object's root path when adding them to the args.
As a side effect this drops the genfiles_dir, but that has been the same
as bin_dir for a long time so hopefully that's a no-op for folks.
Commit: 3a695e1abebac0c8e9816e1649ef8032c5ffdc4b
https://github.com/llvm/llvm-project/commit/3a695e1abebac0c8e9816e1649ef8032c5ffdc4b
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
Log Message:
-----------
[NFC][LLVM] Namespace cleanup in MetadataLoader.cpp (#157595)
- Remove forward declaration of `llvm::Argument` and include Argument.h
instead.
- Restrict scope of anonymous namespaces to just class declarations.
- Move local static function out of anonymous namespace.
- Remove a redundant assert when indexing a vector.
Commit: 5af3fa81cc125071106cd2420e1a04e29612cd95
https://github.com/llvm/llvm-project/commit/5af3fa81cc125071106cd2420e1a04e29612cd95
Author: Abhinav Gaba <abhinav.gaba at intel.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M offload/include/OpenMP/Mapping.h
M offload/libomptarget/omptarget.cpp
Log Message:
-----------
[Offload][OpenMP] Support shadow-pointer tracking for Fortran descriptors. (#158370)
This change adds support for saving full contents of attached Fortran
descriptors, and not just their pointee address, in the shadow-pointer
table.
With this, we now support:
* comparing full contents of descriptors to check whether a previous
shadow-pointer entry is stale;
* restoring the full contents of descriptors
And with that, we can now use ATTACH map-types (added in #149036) for
mapping Fortran pointer/allocatable arrays, and array-sections on them.
e.g.:
```f90
integer, allocatable :: x(:)
!$omp target enter data map(to: x(:))
```
as:
```
void* addr_of_pointee = allocated(x) ? &x(1) : nullptr;
int64_t sizeof_pointee = allocated(x) ? sizeof(x(:)) : 0
addr_of_pointee, addr_of_pointee, sizeof_pointee, TO
addr_of_descriptor, addr_of_pointee, size_of_descriptor, ATTACH
```
Commit: 2b3f80dc9464d830de8a4d452f61e7bb734e72b9
https://github.com/llvm/llvm-project/commit/2b3f80dc9464d830de8a4d452f61e7bb734e72b9
Author: Wendi <uwendi at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/docs/QualGroup.rst
Log Message:
-----------
[docs] Refactor QualGroup.rst: add membership rules, restructure sections (#157804)
This patch updates the LLVM Qualification Group documentation to reflect
current group structure and practices:
- Restructures the **Group Composition** section (previously
"Participation" + "Contributors")
- Adds a formal **member table** with affiliations and community handles
- Introduces **participation principles**
- Documents **membership criteria**, **nomination process**, and
**review cycle**
- Corrects references to **meeting materials** (wrong path)
These changes aim to improve clarity, inclusiveness, and alignment with
similar working groups (e.g., LLVM Security Response Team).
---------
Co-authored-by: Wendi Urribarri (Woven by Toyota <wendi.urribarri at woven-planet.global>
Commit: 06f671e57a574ba1c5127038eff8e8773273790e
https://github.com/llvm/llvm-project/commit/06f671e57a574ba1c5127038eff8e8773273790e
Author: Vy Nguyen <vyng at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/test/Driver/clang_f_opts.c
Log Message:
-----------
[clang][nfc] Fix tests to avoid writing output to unreachable location, which might cause them to fail (#158698)
[clang][nfc] Fix tests to avoid writing output to unreachable location,
which might cause them to fail
Commit: 063d8d7d221406e66eeed859f5c0288d9c98753b
https://github.com/llvm/llvm-project/commit/063d8d7d221406e66eeed859f5c0288d9c98753b
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M mlir/test/mlir-tblgen/op-python-bindings.td
M mlir/test/python/dialects/python_test.py
M mlir/test/python/ir/auto_location.py
M mlir/test/python/python_test_ops.td
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[MLIR][Python] fix generated value builder type hints (#158449)
Currently the type hints on the returns of the "value builders" are
`ir.Value`, `Sequence[ir.Value]`, and `ir.Operation`, none of which are
correct. The correct possibilities are `ir.OpResult`, `ir.OpResultList`,
the OpView class itself (e.g., `AttrSizedResultsOp`) or the union of the
3 (for variadic results). This PR fixes those hints.
Commit: f4eab92ea2b6ebc6a3af70016d7b578809f8270c
https://github.com/llvm/llvm-project/commit/f4eab92ea2b6ebc6a3af70016d7b578809f8270c
Author: David Pagan <dave.pagan at amd.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/OpenMPKinds.def
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/target_defaultmap_codegen_01.cpp
M clang/test/OpenMP/target_defaultmap_messages.cpp
Log Message:
-----------
[clang][OpenMP] 6.0: Add defaultmap implicit-behavior 'storage' (#158336)
First of two patches split from original defaultmap PR:
https://github.com/llvm/llvm-project/pull/157767
Per OpenMP 6.0 specification, section 7.9.9
Argument keywords, page 291, L17
Additional information, page 291, L24-25
24 The value alloc may also be specified as implicit-behavior with
identical meaning to the value 25 storage.
Testing:
Updated 'defaultmap' error message and codegen LIT tests to verify
behavior in OpenMP 6.0.
Commit: 50d0ce60407364b0bb303ff44fce2b544fc53fc7
https://github.com/llvm/llvm-project/commit/50d0ce60407364b0bb303ff44fce2b544fc53fc7
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/CAS/MappedFileRegionArena.cpp
Log Message:
-----------
[CAS] Fix build failure from #114099 using gcc (#158697)
Fix a buildbot failure on some bots using gcc:
```
MappedFileRegionArena.cpp:275:10: error: could not convert ‘Result’ from ‘llvm::cas::MappedFileRegionArena’ to ‘llvm::Expected<llvm::cas::MappedFileRegionArena>’
```
This is caused by RVO not activated causing the type check error.
Commit: de8030e63c043d37099534974f1fa546bf8ac0d9
https://github.com/llvm/llvm-project/commit/de8030e63c043d37099534974f1fa546bf8ac0d9
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/utils/TableGen/Common/CMakeLists.txt
A llvm/utils/TableGen/Common/InstructionEncoding.cpp
A llvm/utils/TableGen/Common/InstructionEncoding.h
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Extract InstructionEncoding class into a separate file (NFC) (#158505)
So that it can be used in CodeEmitterGen / VarLenCodeEmitterGen.
Commit: 369fbc058bb11c0c8e03220d3a952eb5b0117461
https://github.com/llvm/llvm-project/commit/369fbc058bb11c0c8e03220d3a952eb5b0117461
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/sys/epoll/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/unistd/BUILD.bazel
Log Message:
-----------
[libc][bazel] Fold errno_test_helpers into LibcUnitTest. (#158705)
LibcUnitTest helper library already contains some logic for errno
validation (ErrnoSetterMatcher.h), and since errno validation is used so
extensively in various unit tests, it makes sense to fold
ErrnoCheckingTest.h (which would be required for errno validation soon)
there as well for simplicity.
Commit: 9a6bdfde8e2d362e67b04b19048c1e65833d3802
https://github.com/llvm/llvm-project/commit/9a6bdfde8e2d362e67b04b19048c1e65833d3802
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/CAS/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CAS/BUILD.gn
Log Message:
-----------
[gn build] Port f9cd2ee119ff
Commit: a75f42841ba88ffb4177237a8baf8e8b87eac74a
https://github.com/llvm/llvm-project/commit/a75f42841ba88ffb4177237a8baf8e8b87eac74a
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M flang/include/flang/Lower/OpenACC.h
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
Log Message:
-----------
[acc] Change acc declare_action recipe (#157764)
Change the declare_action recipe from using acc.update_device to
acc.declare_enter for prealloc/postalloc, and acc.declare_exit for
predealloc/postdealloc, since update_device is not meant for
accomodating acc declare allocatables.
Commit: 27b242fbff33bbc27a13837c7f728301417e8662
https://github.com/llvm/llvm-project/commit/27b242fbff33bbc27a13837c7f728301417e8662
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPUAttributes.def
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
M llvm/test/CodeGen/AMDGPU/issue120256-annotate-constexpr-addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
Log Message:
-----------
[AMDGPU][Attributor] Add `AAAMDGPUClusterDims` (#158076)
Commit: d012642be170395fe228d1d8f72c722fb8ccc1d6
https://github.com/llvm/llvm-project/commit/d012642be170395fe228d1d8f72c722fb8ccc1d6
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/unittests/Transforms/Vectorize/VPlanPatternMatchTest.cpp
Log Message:
-----------
[VPlan] Match more GEP-like in m_GetElementPtr (#158019)
The m_GetElementPtr matcher is incorrect and incomplete. Fix it to match
all possible GEPs to avoid misleading users. It currently just has one
use, and the change is non-functional for that use.
Commit: ddd49c61ccd96c6bb4b019a5627c3a303bc378e4
https://github.com/llvm/llvm-project/commit/ddd49c61ccd96c6bb4b019a5627c3a303bc378e4
Author: Thurston Dang <thurston at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512fp16-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vl-intrinsics.ll
Log Message:
-----------
[msan] Handle AVX512/AVX10 rcp and rsqrt (#158397)
Adds a new handler, handleAVX512VectorGenericMaskedFP(), and applies it
to AVX512/AVX10 rcp and rsqrt
Commit: ba576d3b7c606633b0f39dc9870325c83e7ea078
https://github.com/llvm/llvm-project/commit/ba576d3b7c606633b0f39dc9870325c83e7ea078
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
Log Message:
-----------
[gn build] Port de8030e63c04
Commit: d9fa0de5c861ebedf6573b5cd259e328e70bfc29
https://github.com/llvm/llvm-project/commit/d9fa0de5c861ebedf6573b5cd259e328e70bfc29
Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/test/Transforms/StructurizeCFG/hoist-zerocost.ll
Log Message:
-----------
[StructurizeCFG] bug fix in zero cost hoist (#157969)
This fixes a bug where zero cost instruction was hoisted to nearest
common dominator but the hoisted instruction's operands didn't dominate
the common dominator causing poison values.
Commit: 6512bf0e857c8926e3bb0a07c1eac270faf4ae3f
https://github.com/llvm/llvm-project/commit/6512bf0e857c8926e3bb0a07c1eac270faf4ae3f
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M libc/test/src/dirent/CMakeLists.txt
M libc/test/src/dirent/dirent_test.cpp
M libc/test/src/fcntl/CMakeLists.txt
M libc/test/src/fcntl/creat_test.cpp
M libc/test/src/fcntl/fcntl_test.cpp
M libc/test/src/fcntl/openat_test.cpp
M libc/test/src/sched/CMakeLists.txt
M libc/test/src/sched/affinity_test.cpp
M libc/test/src/sched/cpu_count_test.cpp
M libc/test/src/sched/get_priority_test.cpp
M libc/test/src/sched/getcpu_test.cpp
M libc/test/src/sched/param_and_scheduler_test.cpp
M libc/test/src/sched/sched_rr_get_interval_test.cpp
M libc/test/src/sched/yield_test.cpp
M libc/test/src/signal/CMakeLists.txt
M libc/test/src/signal/sigaltstack_test.cpp
M libc/test/src/signal/signal_test.cpp
M libc/test/src/signal/sigprocmask_test.cpp
Log Message:
-----------
[libc] Migrate dirent/fcntl/sched/signal tests to ErrnoCheckingTest. (#158700)
Remove direct libc_errno.h inclusion and manipulation of libc_errno in
various unit tests, instead relying on ErrnoCheckingTest machinery.
This is the final mechanical change of migrating libc unit tests to
ErrnoCheckingTest - after it, all the unit tests relying on
ASSERT_ERRNO_* macro will be using ErrnoCheckingTest.h
Commit: f2301be0e82f686bae1e78518b3c05d8072f11af
https://github.com/llvm/llvm-project/commit/f2301be0e82f686bae1e78518b3c05d8072f11af
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/commutable-member-in-non-commutable-node.ll
Log Message:
-----------
[SLP]Add a check if the user itself is commutable
If the commutable instruction can be represented as a non-commutable
vector instruction (like add 0, %v can be represented as a part of sub
nodes with operation sub %v, 0), its operands might still be reordered
and this should be accounted when checking for copyables in operands
Fixes #158293
Commit: 6088f6dedcf75cddc15b3d2158112d294ddb8407
https://github.com/llvm/llvm-project/commit/6088f6dedcf75cddc15b3d2158112d294ddb8407
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
Log Message:
-----------
[RISCV] Add Predicates to fcanonicalize patterns. NFC (#158709)
This doesn't matter in practice since the only way fcanonicalize can
make it to isel is if the predicate is already true, but it's good to be
consistent.
Commit: a32d88b79abaaab46cb1580d75df7422d0a9e4d3
https://github.com/llvm/llvm-project/commit/a32d88b79abaaab46cb1580d75df7422d0a9e4d3
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/test/CodeGenHLSL/builtins/select.hlsl
Log Message:
-----------
[HLSL][DirectX] Fix resource lowering when using structs with `select` (#158361)
Fixes #156550.
The `select` instruction should be using the struct values themselves
rather than pointers to temporary allocas.
This PR also adds an array test for select in `select.hlsl`.
Commit: 4949cb4a5e9ce408519e6eea05b413dd1a395138
https://github.com/llvm/llvm-project/commit/4949cb4a5e9ce408519e6eea05b413dd1a395138
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/large-loop-rdx.ll
M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
Log Message:
-----------
[VPlan] Track VPValues instead of VPRecipes in calculateRegisterUsage. (#155301)
Update calculateRegisterUsageForPlan to track live-ness of VPValues
instead of recipes. This gives slightly more accurate results for
recipes that define multiple values (i.e. VPInterleaveRecipe).
When tracking the live-ness of recipes, all VPValues defined by an
VPInterleaveRecipe are considered alive until the last use of any of
them. When tracking the live-ness of individual VPValues, we can
accurately track the individual values until their last use.
Note the changes in large-loop-rdx.ll and pr47437.ll. This patch
restores the original behavior before introducing VPlan-based liveness
tracking.
PR: https://github.com/llvm/llvm-project/pull/155301
Commit: 07d50f624abe74f2825811f8932b69fae524d793
https://github.com/llvm/llvm-project/commit/07d50f624abe74f2825811f8932b69fae524d793
Author: CatherineMoore <catmoore at amd.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
Log Message:
-----------
[OpenMP] Fix table indentation in clang documentation (#158724)
Commit: 794351355e136342957600ba9da594308ed42c9d
https://github.com/llvm/llvm-project/commit/794351355e136342957600ba9da594308ed42c9d
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M libcxx/test/benchmarks/algorithms/modifying/unique.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/unique_copy.bench.cpp
Log Message:
-----------
[libc++] Fix broken unique and unique_copy benchmarks (#158287)
These benchmarks have an assumption that the container size is divisible
by 4 because of how we populate their content, which wasn't satisfied.
Commit: b5afe416c7d5d993cb2f3aaec7784d368325de41
https://github.com/llvm/llvm-project/commit/b5afe416c7d5d993cb2f3aaec7784d368325de41
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/preserve-profile.ll
Log Message:
-----------
[InstCombine] Preserve profile data with select instructions and binary operators (#158375)
Tracking issue: #147390
Commit: 04cd39ae287d2c35d2b64cb70ea7bcba7e9796d9
https://github.com/llvm/llvm-project/commit/04cd39ae287d2c35d2b64cb70ea7bcba7e9796d9
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
A llvm/test/CodeGen/AMDGPU/cluster-dims.ll
A llvm/test/MC/AMDGPU/hsa-metadata-kernel-attrs-v6.s
Log Message:
-----------
[AMDGPU] Add the support for `.cluster_dims` code object metadata (#158721)
Co-authored-by: Ivan Kosarev <ivan.kosarev at amd.com>
Commit: 1287ed1fa2dbf81ce2549a4cb5ae339857c778f9
https://github.com/llvm/llvm-project/commit/1287ed1fa2dbf81ce2549a4cb5ae339857c778f9
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
M mlir/lib/Dialect/NVGPU/Transforms/CreateAsyncGroups.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorInsertExtractStridedSliceRewritePatterns.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Use `source` as the source argument name (#158258)
This patch updates the following ops to use `source` (instead of
`vector`) as the name for their source argument:
* `vector.extract`
* `vector.scalable.extract`
* `vector.extract_strided_slice`
This change ensures naming consistency with the "builders" for these Ops
that already use the name `source` rather than `vector`. It also
addresses part of:
* https://github.com/llvm/llvm-project/issues/131602
Specifically, it ensures that we use `source` and `dest` for read and
write operations, respectively (as opposed to `vector` and `dest`).
Commit: dbc96f41f15fc30d4fc6198eb1c2dcb57547a160
https://github.com/llvm/llvm-project/commit/dbc96f41f15fc30d4fc6198eb1c2dcb57547a160
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M libcxx/utils/parse-google-benchmark-results
Log Message:
-----------
[libc++] Escape spaces in GoogleBenchmark microbenchmarks
Otherwise we generate data that isn't valid according to
the LNT format.
Commit: 1858532c48cf5d93aa82966110fe1cada6ab6ba8
https://github.com/llvm/llvm-project/commit/1858532c48cf5d93aa82966110fe1cada6ab6ba8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/X86/cost-conditional-branches.ll
Log Message:
-----------
[VPlan] Handle predicated UDiv in VPReplicateRecipe::computeCost.
Account for predicated UDiv,SDiv,URem,SRem in
VPReplicateRecipe::computeCost: compute costs of extra phis and apply
getPredBlockCostDivisor.
Fixes https://github.com/llvm/llvm-project/issues/158660
Commit: ad96f68a583381def7c09ffd5593e529bbe17ebf
https://github.com/llvm/llvm-project/commit/ad96f68a583381def7c09ffd5593e529bbe17ebf
Author: Daniel Kuts <kutz at ispras.ru>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
Log Message:
-----------
[mlir] Fix possible null dereference during error logging in EmitC (#157456)
Fixes #157452
Commit: 195ab4f807e46df5ecfe20576b4a6ca3a433d4cd
https://github.com/llvm/llvm-project/commit/195ab4f807e46df5ecfe20576b4a6ca3a433d4cd
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[CAS] Default to only build OnDiskCAS on 64 bit machine (#158737)
To workaroud the buildbot failure on clang-armv8-quick, which builds
with triple: armv8l-unknown-linux-gnueabihf.
Commit: 1b1dce17d54b69149fa383d02119536908fd1767
https://github.com/llvm/llvm-project/commit/1b1dce17d54b69149fa383d02119536908fd1767
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/lib/Basic/Targets/AMDGPU.h
M clang/test/CodeGenOpenCL/amdgpu-debug-info-pointer-address-space.cl
M clang/test/CodeGenOpenCL/amdgpu-debug-info-variable-expression.cl
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/lib/BinaryFormat/Dwarf.cpp
M llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinter.cpp
M llvm/lib/DebugInfo/DWARF/LowLevel/DWARFExpression.cpp
A llvm/test/tools/llvm-dwarfdump/X86/heterogeneous-user-ops.s
M llvm/unittests/DebugInfo/DWARF/DWARFExpressionCompactPrinterTest.cpp
Log Message:
-----------
[Dwarf] Support heterogeneous DW_{OP,AT}s needed for AMDGPU CFI (#153883)
These are defined in the user range until standard versions of them get
adopted into dwarf, which is expected in DWARF6.
Some of these amount to reservations currently as no code to use them is
included. It would be very helpful to get them committed to avoid
conflicts necessitating encoding changes while we are in the process of
upstreaming.
---------
Co-authored-by: Juan Martinez Fernandez <juamarti at amd.com>
Co-authored-by: Emma Pilkington <Emma.Pilkington at amd.com>
Commit: f33fb0d7b2af203c42d0e7096b29560dda3e71ce
https://github.com/llvm/llvm-project/commit/f33fb0d7b2af203c42d0e7096b29560dda3e71ce
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
Log Message:
-----------
[clang] Don't fail `ExecuteCompilerInvocation()` due to caller errors (#158695)
This PR changes the behavior of `clang::ExecuteCompilerInvocation()` so
that it only returns early when the `DiagnosticsEngine` emitted errors
**within** the function. Handling errors emitted before the function got
called is a responsibility of the caller. Necessary for #158381.
Commit: 4a8bb08bd2261afe22c8addea9f830906084869e
https://github.com/llvm/llvm-project/commit/4a8bb08bd2261afe22c8addea9f830906084869e
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M libc/test/UnitTest/ErrnoCheckingTest.h
M libc/test/UnitTest/Test.h
M libc/test/src/errno/CMakeLists.txt
M libc/test/src/errno/errno_test.cpp
Log Message:
-----------
[libc] Move ASSERT_ERRNO_* macro to ErrnoCheckingTest.h (#158727)
Move these macro away from Test.h, since the generic Test.h (and
associated test framework library) doesn't #include or depend on any
errno-handling logic. Conversely, all tests that directly ASSERT various
errno values are now migrated to ErrnoCheckingTest framework, which
clears it our / validates it after every use case.
Commit: 9bedece621aec7d6b35836e6896abdb54940dfdf
https://github.com/llvm/llvm-project/commit/9bedece621aec7d6b35836e6896abdb54940dfdf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Log Message:
-----------
[LegalizeTypes] Use correct type for constant in PromoteIntRes_FunnelShift.
This is a typo from #158553. We should use AmtVT instead of VT.
I guess VT and AmtVT are always the same at this point for tested
targets.
Commit: eb1297910e361628719c1c5d81e60ca4e32fb64f
https://github.com/llvm/llvm-project/commit/eb1297910e361628719c1c5d81e60ca4e32fb64f
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M openmp/runtime/test/affinity/format/fields_values.c
Log Message:
-----------
[OpenMP] [Tests] Update test broken by #157364 (#158751)
Fix another test impacted by #157364.
On Windows, `GetComputerNameA()`, which is what this ends up calling,
takes an `LPDWORD`, but we were handing it an `int*`; fix this by
declaring it as a `DWORD` instead.
Commit: 3e74e533fc0c34fb0263674168cabcbdbd2db0e5
https://github.com/llvm/llvm-project/commit/3e74e533fc0c34fb0263674168cabcbdbd2db0e5
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
Log Message:
-----------
[mlir][scf] Remove unnecessary IRMapping in outlineSingleBlockRegion (NFC) (#158675)
Removed redundant IRMapping variables from outlineSingleBlockRegion.
Commit: 05dbae2255603c7d7e16b7308ffd33223cc6aa22
https://github.com/llvm/llvm-project/commit/05dbae2255603c7d7e16b7308ffd33223cc6aa22
Author: parabola94 <heavybaby5000 at toki.waseda.jp>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M clang/cmake/modules/ClangConfig.cmake.in
Log Message:
-----------
[clang][cmake] Add CLANG_DEFAULT_LINKER to ClangConfig.cmake.in (#158416)
Flang refers to this CMake variable since #149786, but this does not
work for standalone build.
This patch fixes it.
Commit: a456a165ec3f9ad2243ad2b230ecb5a08ca38143
https://github.com/llvm/llvm-project/commit/a456a165ec3f9ad2243ad2b230ecb5a08ca38143
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
Log Message:
-----------
[WebAssembly] Fix typo in Tag value assertion. NFC (#158752)
Because `C_LONGJMP` is defined as 1 this assertion was never false.
Commit: 7cdffde207d1814197cb829651f4293f7ded8309
https://github.com/llvm/llvm-project/commit/7cdffde207d1814197cb829651f4293f7ded8309
Author: parabola94 <heavybaby5000 at toki.waseda.jp>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/cmake/modules/LLVMConfig.cmake.in
Log Message:
-----------
[cmake] Add LLVM_TARGET_TRIPLE_ENV to LLVMConfig.cmake.in (#158303)
LLVM has a mechanism to switch the default target:
LLVM_TARGET_TRIPLE_ENV. For example, regression tests with lit use this
CMake variable. It matters only when building LLVM, not the other
projects. Therefore, if they are built standalone, the value of the
CMake variable should be propagated. In fact, however, it is not.
This patch fixes it.
Commit: 40886fbd2101f1277d343eb6bfedb6f10efde422
https://github.com/llvm/llvm-project/commit/40886fbd2101f1277d343eb6bfedb6f10efde422
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProf.h
A llvm/test/tools/llvm-profgen/Inputs/css-pgo-perf.script
A llvm/test/tools/llvm-profgen/Inputs/dap-perf-trace.txt
A llvm/test/tools/llvm-profgen/Inputs/dap-pie.bin
A llvm/test/tools/llvm-profgen/Inputs/dap.bin
A llvm/test/tools/llvm-profgen/Inputs/lbr-perf-for-dap.script
A llvm/test/tools/llvm-profgen/Inputs/pie-dap-perf.txt
A llvm/test/tools/llvm-profgen/Inputs/pie-lbr-perf.script
A llvm/test/tools/llvm-profgen/afdo-with-vtable-pie.test
A llvm/test/tools/llvm-profgen/afdo-with-vtable.test
M llvm/tools/llvm-profgen/PerfReader.cpp
M llvm/tools/llvm-profgen/PerfReader.h
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.h
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.h
M llvm/tools/llvm-profgen/llvm-profgen.cpp
Log Message:
-----------
[llvm-profgen] Extend llvm-profgen to generate vtable profiles with data access events for non context-sensitive profiles using debug info (#148013)
An RFC is in
https://discourse.llvm.org/t/rfc-vtable-type-profiling-for-samplefdo/87283
This change extends to process perf data with Intel
[MEM_INST_RETIRED.ALL_LOADS](https://perfmon-events.intel.com/index.html?pltfrm=skylake_server.html&evnt=MEM_INST_RETIRED.ALL_LOADS)
samples and produce sample profiles with vtable information for non
context-sensitive SampleFDO profiles.
* For feature parity across different hardwares, future work could
incorporate support for AMD Instruction-Based Sampling (IBS) and Arm
Statistical Profiling Extension (SPE).
---------
Co-authored-by: Paschalis Mpeis <paschalis.mpeis at arm.com>
Commit: 9b95e10d5ea6b61e0d9af0a800d63566ae32a2d0
https://github.com/llvm/llvm-project/commit/9b95e10d5ea6b61e0d9af0a800d63566ae32a2d0
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-objc/Makefile
M lldb/test/API/macosx/ignore_exceptions/Makefile
Log Message:
-----------
[LLDB] [Tests] Downgrade -Wincompatible-pointer-types to a warning in some tests (#158756)
These no longer compile because the warning now defaults to an error
after #157364, so downgrade the error to a warning for now; I’m not
familiar enough with either LLDB or MacOS to fix these warnings properly
(assuming they’re unintended).
Commit: 1fea3c507cb1ab02af5834b07a30e55c3822196c
https://github.com/llvm/llvm-project/commit/1fea3c507cb1ab02af5834b07a30e55c3822196c
Author: Andrew Haberlandt <ndrewh at users.noreply.github.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
Log Message:
-----------
[sanitizer-common] Improve diagnostic when ASAN fails to allocate shadow (#158378)
Sometimes we are unable to find a sufficiently large gap to allocate the
dynamic ASAN shadow.
If a gap is not found, we will now output a (consolidated) memory map to
show the user what regions were unavailable and how much memory we need.
rdar://159142896
Commit: 7b6db769c3470d75b0d010f16c50582ec3535dea
https://github.com/llvm/llvm-project/commit/7b6db769c3470d75b0d010f16c50582ec3535dea
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp
M llvm/lib/Target/CSKY/Disassembler/CSKYDisassembler.cpp
M llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
M llvm/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp
M llvm/lib/Target/LoongArch/Disassembler/LoongArchDisassembler.cpp
M llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
M llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/test/TableGen/FixedLenDecoderEmitter/additional-encoding.td
M llvm/test/TableGen/FixedLenDecoderEmitter/big-filter.td
M llvm/test/TableGen/FixedLenDecoderEmitter/var-len-conflict-1.td
M llvm/test/TableGen/VarLenDecoder.td
M llvm/test/TableGen/trydecode-emission.td
M llvm/test/TableGen/trydecode-emission2.td
M llvm/test/TableGen/trydecode-emission3.td
M llvm/test/TableGen/trydecode-emission4.td
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFC][DecoderEmitter] Code cleanup in `DecoderEmitter::emitTable` (#158014)
Several code cleanup changes in code to emit decoder tables:
- Start comments on each line at a fixed column for readibility.
- Combine repeated code to decode and emit ULEB128 into a single
function.
- Add helper `getDecoderOpName` to print decoder op.
- Print Filter/CheckField/predicate index values with those opcodes.
Commit: 1f6c962cd1ed01d9092a09087b168ca39ca2c982
https://github.com/llvm/llvm-project/commit/1f6c962cd1ed01d9092a09087b168ca39ca2c982
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
Log Message:
-----------
PPC: Move definitions of predicates with features (#157058)
The way this was previously structured does not allow
access to the predicates inside of PPCRegisterInfo
Commit: dfa5bbeafaff2bbb211cde2980cc5f29906d8fac
https://github.com/llvm/llvm-project/commit/dfa5bbeafaff2bbb211cde2980cc5f29906d8fac
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/andn.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/orn.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/andn.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/orn.ll
Log Message:
-----------
[LoongArch][NFC] Add tests for vector type `orn/andn` (#158525)
Commit: b5e06b5ede8e29a3db34ce740b249bb22dbf76a1
https://github.com/llvm/llvm-project/commit/b5e06b5ede8e29a3db34ce740b249bb22dbf76a1
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/test/TableGen/AsmPredicateCombining.td
M llvm/test/TableGen/AsmPredicateCondsEmission.td
M llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFC][DecoderEmitter] Predicate generation code cleanup (#158140)
Eliminate `doesOpcodeNeedPredicate` and instead have
`emitPredicateMatch` return true if any predicates were generated.
Delegate actual predicate generation in `emitPredicateMatch` to
`SubtargetFeatureInfo::emitMCPredicateCheck`. Additionally, remove the
redundant parenthesis around the predicate conditions in the generated
`checkDecoderPredicate` function.
Note that for ARM/AMDGPU this reduces the total # of predicates
generated by a few. It seems the old code would sometimes generate
duplicate predicates which were identical in semantics but one had an
extra pair of parentheses (i..e, `X` and `(X)`). `emitMCPredicateCheck`
does not seems to have that issue.
Commit: 71c128232b994d1470f5cc2bae7049d68b5b5635
https://github.com/llvm/llvm-project/commit/71c128232b994d1470f5cc2bae7049d68b5b5635
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
A llvm/test/MC/Disassembler/Mips/mips64/sc-ptr64.txt
Log Message:
-----------
[Mips] Fix inst `sc` disassemble assert when configured -mattr=+ptr64 (#158253)
When mips disassembler process `DecodeMem`, does not consider
Mips::SC64, leading to `Operands.size() = 3`.
And the right `Size` value is 4, when printMemOperand would occur
asserts: `assert(idx < size());`
Fix #157508.
Commit: cedceeb8002c112b33ff0974f04082849e6e202d
https://github.com/llvm/llvm-project/commit/cedceeb8002c112b33ff0974f04082849e6e202d
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/Driver/clang_f_opts.c
M flang/docs/ReleaseNotes.md
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
R flang/test/Driver/loop-fuse.f90
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/tools/opt/NewPMDriver.cpp
Log Message:
-----------
Revert "Introduce -fexperimental-loop-fuse to clang and flang (#142686)" (#158764)
This reverts commit 895cda70a95529fd22aac05eee7c34f7624996af.
And fix attempt: 06f671e57a574ba1c5127038eff8e8773273790e.
Performance regressions and broken sanitizers, see #142686.
Commit: eeba6f463254c26f663d8f34ef9f0e60e9a09d5c
https://github.com/llvm/llvm-project/commit/eeba6f463254c26f663d8f34ef9f0e60e9a09d5c
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/intrinsic-bitclr.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/andn.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/orn.ll
M llvm/test/CodeGen/LoongArch/lsx/intrinsic-bitclr.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/andn.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/orn.ll
Log Message:
-----------
[LoongArch] Add generation support for `[x]{vandn/vorn}.v` (#158526)
Commit: 1afadbfb1d650e8ac3961361da268b81aeb67cb3
https://github.com/llvm/llvm-project/commit/1afadbfb1d650e8ac3961361da268b81aeb67cb3
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sadd-sat.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/ssub-sat.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/uadd-sat.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/usub-sat.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sadd-sat.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/ssub-sat.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/uadd-sat.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/usub-sat.ll
Log Message:
-----------
[LoongArch] Pre-commit tests for saturation sadd/ssub/uadd/usub intrinsics (#158176)
Commit: b9b92d72313b080aa83adee485d441c72a1445c8
https://github.com/llvm/llvm-project/commit/b9b92d72313b080aa83adee485d441c72a1445c8
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
A llvm/test/TableGen/DecoderEmitter/InvalidEncoding.td
A llvm/test/TableGen/DecoderEmitter/MultiOps.td
A llvm/test/TableGen/DecoderEmitter/additional-encoding.td
A llvm/test/TableGen/DecoderEmitter/big-filter.td
A llvm/test/TableGen/DecoderEmitter/conflict.td
A llvm/test/TableGen/DecoderEmitter/operand-decoder.td
A llvm/test/TableGen/DecoderEmitter/sub-arg-dag-error-1.td
A llvm/test/TableGen/DecoderEmitter/sub-arg-dag-error-2.td
A llvm/test/TableGen/DecoderEmitter/var-len-conflict-1.td
A llvm/test/TableGen/DecoderEmitter/var-len-conflict-2.td
R llvm/test/TableGen/FixedLenDecoderEmitter/InvalidEncoding.td
R llvm/test/TableGen/FixedLenDecoderEmitter/MultiOps.td
R llvm/test/TableGen/FixedLenDecoderEmitter/additional-encoding.td
R llvm/test/TableGen/FixedLenDecoderEmitter/big-filter.td
R llvm/test/TableGen/FixedLenDecoderEmitter/conflict.td
R llvm/test/TableGen/FixedLenDecoderEmitter/operand-decoder.td
R llvm/test/TableGen/FixedLenDecoderEmitter/sub-arg-dag-error-1.td
R llvm/test/TableGen/FixedLenDecoderEmitter/sub-arg-dag-error-2.td
R llvm/test/TableGen/FixedLenDecoderEmitter/var-len-conflict-1.td
R llvm/test/TableGen/FixedLenDecoderEmitter/var-len-conflict-2.td
Log Message:
-----------
[NFC] Rename FixedLenDecoderEmitter to just DecoderEmitter (#158766)
Commit: 6dde34969e108090d58a64ce0b25c78b42df6367
https://github.com/llvm/llvm-project/commit/6dde34969e108090d58a64ce0b25c78b42df6367
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[clang][sema][NFC] Clean up builtin arg checking functions (#158615)
Always take an `unsigned` for the argument index, pull some locals in
the closest scope and use `APInt::isPowerOf2()`.
Commit: c46cf1ea3bfaba58da7e046db7450d7dd6769100
https://github.com/llvm/llvm-project/commit/c46cf1ea3bfaba58da7e046db7450d7dd6769100
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
Log Message:
-----------
[clang][bytecode][NFC] Remove BlockScope (#158656)
Unused these days.
Commit: 10d0d955e22be43abab8fe7e339e99068aaac030
https://github.com/llvm/llvm-project/commit/10d0d955e22be43abab8fe7e339e99068aaac030
Author: Twice <twice at apache.org>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/test/mlir-tblgen/op-python-bindings.td
M mlir/test/python/ir/auto_location.py
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[MLIR][Python] Add docstring for generated python op classes (#158198)
This PR adds support in mlir-tblgen for generating docstrings for each
Python class corresponding to an MLIR op. The docstrings are currently
derived from the op’s description in ODS, with indentation adjusted to
display nicely in Python. This makes it easier for Python users to see
the op descriptions directly in their IDE or LSP while coding.
In the future, we can extend the docstrings to include explanations for
each method, attribute, and so on.
This idea was previously discussed in the `#mlir-python` channel on
Discord with @makslevental and @superbobry.
---------
Co-authored-by: Maksim Levental <maksim.levental at gmail.com>
Commit: fdb06d9792afc8121e77b367cb6dce0be29b2b5b
https://github.com/llvm/llvm-project/commit/fdb06d9792afc8121e77b367cb6dce0be29b2b5b
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
A llvm/lib/Target/AMDGPU/AMDGPULaneMaskUtils.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
M llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
Log Message:
-----------
[AMDGPU] Refactor out common exec mask opcode patterns (NFCI) (#154718)
Create utility mechanism for finding wave size dependent opcodes used to
manipulate exec/lane masks.
Commit: f74184ccc9053268a5baba129fcfde554cf0d255
https://github.com/llvm/llvm-project/commit/f74184ccc9053268a5baba129fcfde554cf0d255
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-basic.ll
M llvm/test/ThinLTO/X86/memprof-indirectcall.ll
M llvm/test/ThinLTO/X86/memprof-inlined.ll
M llvm/test/Transforms/MemProfContextDisambiguation/basic.ll
M llvm/test/Transforms/MemProfContextDisambiguation/dot.ll
M llvm/test/Transforms/MemProfContextDisambiguation/duplicate-context-ids.ll
M llvm/test/Transforms/MemProfContextDisambiguation/indirectcall.ll
M llvm/test/Transforms/MemProfContextDisambiguation/inlined.ll
M llvm/test/Transforms/MemProfContextDisambiguation/tailcall-nonunique.ll
Log Message:
-----------
[MemProf] Add NodeId field to ContextNode for debugging (#158736)
This has been handy locally for debugging cloning issues. The NodeIds
are assigned sequentially on creation and included in the dumps and the
dot graphs.
No measurable memory increase was found for a large thin link.
I only changed one test
(Transforms/MemProfContextDisambiguation/basic.ll)
to actually check the emitted NodeIds, most ignore them.
Commit: e5bbaa9c8fb6e06dbcbd39404039cc5d31df4410
https://github.com/llvm/llvm-project/commit/e5bbaa9c8fb6e06dbcbd39404039cc5d31df4410
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.h
M llvm/test/CodeGen/PowerPC/i64_fp.ll
Log Message:
-----------
PPC: Split 64bit target feature into 64bit and 64bit-support (#157206)
This was being used for 2 different purposes.
The TargetMachine constructor prepends +64bit based on isPPC64
triples as a mode switch. The same feature name was also explicitly
added to different processors, making it impossible to perform a pure
feature check for whether 64-bit mode is enabled ir not. i.e.,
checkFeatures("+64bit") would be true even for ppc32 triples.
The comment in tablegen suggests it's relevant to track which processors
support 64-bit mode independently of whether that's the active compile
target, so replace that with a new feature.
Commit: 1dc84648a8831fb5d065d762c26aaa685a76f782
https://github.com/llvm/llvm-project/commit/1dc84648a8831fb5d065d762c26aaa685a76f782
Author: Qi Zhao <zhaoqi01 at loongson.cn>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/nor.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/nor.ll
Log Message:
-----------
[LoongArch][NFC] Add tests for vector type `nor`
Commit: 0d927752f3f0391ee6c6444796262255963a06d9
https://github.com/llvm/llvm-project/commit/0d927752f3f0391ee6c6444796262255963a06d9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
Log Message:
-----------
[RISCV] Use X_X0 instead of literal 0. NFC (#158753)
Commit: e2040f5ba3c4f54599776e6f4118881c501bf1f8
https://github.com/llvm/llvm-project/commit/e2040f5ba3c4f54599776e6f4118881c501bf1f8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
Log Message:
-----------
[RISCV][GISel] Remove shouldBeInFConstantPool. Always convert G_FCONSTANT to G_CONSTANT without F/D. (#158717)
We can unconditionally convert to G_CONSTANT. G_CONSTANT will go through
its own legalization and call the integer shouldBeInConstantPool.
Commit: c72bd381fca75b3284fd7a45eb125c3c3181b9bb
https://github.com/llvm/llvm-project/commit/c72bd381fca75b3284fd7a45eb125c3c3181b9bb
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFC][DecoderEmitter] Remove unused `emitPredicateMatchAux` (#158771)
Commit: 28373708280a52ecd3181591f7c3935ffceafbcc
https://github.com/llvm/llvm-project/commit/28373708280a52ecd3181591f7c3935ffceafbcc
Author: capitan-davide <dcunial at proton.me>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang-tools-extra/clang-tidy/.clang-tidy
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Fix a couple of suspicious StringRef::data() usages (#158480)
Closes https://github.com/llvm/llvm-project/issues/156150
Updates a couple of clang-tidy checks to use C++17 `std::string` member
functions that accepts a `StringViewLike` template parameter.
Commit: 14f2531894edd7f13ebf22891055c0ae1e1df451
https://github.com/llvm/llvm-project/commit/14f2531894edd7f13ebf22891055c0ae1e1df451
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/test/CodeGen/X86/apx/add.ll
M llvm/test/CodeGen/X86/apx/mul-i1024.ll
M llvm/test/CodeGen/X86/apx/ndd-false-deps-asm.mir
M llvm/test/CodeGen/X86/apx/shl.ll
M llvm/test/CodeGen/X86/apx/sub.ll
Log Message:
-----------
[X86][APX] Compress non-redundant NDD ADD to LEA (#158254)
Commit: 64dba812a3a8fc86b4ddbf34ad5bc5b5329cfca8
https://github.com/llvm/llvm-project/commit/64dba812a3a8fc86b4ddbf34ad5bc5b5329cfca8
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen][DecoderEmitter] Add a few DecoderTableInfo helpers (NFC) (#158776)
Commit: ea9acc97f1fa8b430c74237968d06b2e60b0ccb1
https://github.com/llvm/llvm-project/commit/ea9acc97f1fa8b430c74237968d06b2e60b0ccb1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Log Message:
-----------
CodeGen: Surface shouldRewriteCopySrc utility function (#158524)
Change shouldRewriteCopySrc to return the common register
class and expose it as a utility function. I've found myself
reproducing essentially the same logic in multiple places. The
purpose of this function is to jsut work through the API constraints
of which combination of register class and subreg indexes you have.
i.e. you need to use a different function if you have 0, 1, or 2
subregister indexes involved in a pair of copy-like operations.
Commit: c8b5b6e0a61a66a0a09798fdc6c91340a0718f0d
https://github.com/llvm/llvm-project/commit/c8b5b6e0a61a66a0a09798fdc6c91340a0718f0d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/constant-builtins-vector.cpp
Log Message:
-----------
[clang][ExprConst] Reject unary vector shuffles (#158589)
This is not implemented at compile time and asserts in assertion builds,
so reject it here.
Fixed the coding style in `BuiltinShuffleVector` at the same time.
Fixes #158471
Commit: bc44ff200b8abe7a10bbc3d7f70d0c54a8c27fa4
https://github.com/llvm/llvm-project/commit/bc44ff200b8abe7a10bbc3d7f70d0c54a8c27fa4
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sadd-sat.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/ssub-sat.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/uadd-sat.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/usub-sat.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sadd-sat.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/ssub-sat.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/uadd-sat.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/usub-sat.ll
Log Message:
-----------
[LoongArch] Make {sadd,ssub,uadd,usub}.sat legal for lsx/lasx (#158209)
Commit: 85d2a4670cbbd9b98cfb8952ae4d4c932f8ebfd1
https://github.com/llvm/llvm-project/commit/85d2a4670cbbd9b98cfb8952ae4d4c932f8ebfd1
Author: Tom <41913303+t-a-james at users.noreply.github.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/DerivedMethodShadowingBaseMethodCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/DerivedMethodShadowingBaseMethodCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/derived-method-shadowing-base-method.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/derived-method-shadowing-base-method.cpp
Log Message:
-----------
[clang-tidy] New bugprone-derived-method-shadowing-base-method (#154746)
This PR introduces a new bugprone check to find methods in derived
classes that hide methods with the same signature in base classes.
The best description of what this new check does is the unit test code
in
`clang-tools-extra/test/clang-tidy/checkers/bugprone/derived-method-shadowing-base-method.cpp`.
---------
Co-authored-by: Tom James <tom.james at siemens.com>
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
Commit: 008f9f30bc91bad94686540508805a219589684c
https://github.com/llvm/llvm-project/commit/008f9f30bc91bad94686540508805a219589684c
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen][DecoderEmitter] Turn some methods into static functions (NFC) (#158789)
DecoderTableBuilder will be removed. Move out the class the methods that
will remain.
Commit: 5bf399ba957e015e510210e0354cdc72ea1bf88d
https://github.com/llvm/llvm-project/commit/5bf399ba957e015e510210e0354cdc72ea1bf88d
Author: Petr Hosek <phosek at google.com>
Date: 2025-09-15 (Mon, 15 Sep 2025)
Changed paths:
M libc/startup/baremetal/fini.h
M libc/startup/baremetal/init.h
Log Message:
-----------
[libc] Move preinit/init/fini arrays to namespace (#158746)
In change #146863 we moved definitions of preinit/init/fini arrays to
header but unintentionally moved outside of the namespace. Since the
namespace also controls the visibility (through LIBC_NAMESPACE_DECL), as
a consequence these symbols no longer have the hidden visibility which
changes the codegen from:
```
4: 4c11 ldr r4, [pc, #0x44] @ 0x4c <__libc_init_array+0x4c>
6: 4812 ldr r0, [pc, #0x48] @ 0x50 <__libc_init_array+0x50>
8: 447c add r4, pc
a: 4478 add r0, pc
c: 1b00 subs r0, r0, r4
```
to:
```
4: 4813 ldr r0, [pc, #0x4c] @ 0x54 <__libc_init_array+0x54>
6: 4914 ldr r1, [pc, #0x50] @ 0x58 <__libc_init_array+0x58>
8: 4478 add r0, pc
a: 4479 add r1, pc
c: 6804 ldr r4, [r0]
e: 6808 ldr r0, [r1]
10: 1b00 subs r0, r0, r4
```
The `ldr` will trigger a fault in case where these symbols aren't
pointing to a valid memory location which is sometimes the case when the
array is empty.
Commit: 5b7f92863a44a58e5ffab694a8e6733d9519b976
https://github.com/llvm/llvm-project/commit/5b7f92863a44a58e5ffab694a8e6733d9519b976
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/aarch64-ptrauth.c
Log Message:
-----------
[PAC][clang] Add new features to pauthtest ABI (#113150)
Enable init/fini address discrimination, type info vtable pointer
discrimination and AArch64 jump table hardening as part of pauthtest ABI.
Commit: 1dd94a23587b35ff5316a53fe7228c3fbe345c42
https://github.com/llvm/llvm-project/commit/1dd94a23587b35ff5316a53fe7228c3fbe345c42
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/test/CodeGen/RISCV/rv32xtheadba.ll
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
M llvm/test/CodeGen/RISCV/xqciac.ll
Log Message:
-----------
[RISCV] Add helper method for shift-and-add extensions (#158638)
Not an NFC, as it improves consistency, enabling some cases
for XAndesPerf and XTheadBa.
Commit: 20b861028bc54513d76b39ca4f396b49231683fd
https://github.com/llvm/llvm-project/commit/20b861028bc54513d76b39ca4f396b49231683fd
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/test/CXX/drs/cwg30xx.cpp
M clang/www/cxx_dr_status.html
M clang/www/make_cxx_dr_status
Log Message:
-----------
[clang][NFC] Update C++ DR status page
Proposed resolution for CWG3005 underwent cosmetic word reshuffling on 2025-09-12, so no changes to the test are needed.
Commit: 5c71710543b66a6c187d543785860307a2e483c5
https://github.com/llvm/llvm-project/commit/5c71710543b66a6c187d543785860307a2e483c5
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
Log Message:
-----------
[gn build] Port 85d2a4670cbb
Commit: 63dc07f7d5b3da816afcf9c234e117c2780e71ed
https://github.com/llvm/llvm-project/commit/63dc07f7d5b3da816afcf9c234e117c2780e71ed
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[libclang/python] Fix numResults field type of CCRStructure (#158598)
Fix the type of the `numResults` field of `CCRStructure`, as pointed out
here:
https://github.com/llvm/llvm-project/pull/140539#discussion_r2317808734
Commit: 7af659d0f117802627fc47f73ca5dd20439c5d7b
https://github.com/llvm/llvm-project/commit/7af659d0f117802627fc47f73ca5dd20439c5d7b
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Don't perform implication checks with many predicates (#158652)
When adding a new predicate to a union, we currently do a bidirectional
implication for all the contained predicates. This means that the number
of implication checks is quadratic in the number of total predicates (if
they don't end up being eliminated).
Fix this by not checking for implication if the number of predicates
grows too large. The expectation is that if there is a large number of
predicates, we should be discarding them later anyway, as expanding them
would be too expensive.
Fixes https://github.com/llvm/llvm-project/issues/156114.
Commit: 67c335c66395d15841cd540e0e8cb04e9efb666b
https://github.com/llvm/llvm-project/commit/67c335c66395d15841cd540e0e8cb04e9efb666b
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
A flang/test/Transforms/DoConcurrent/allocatable.f90
A flang/test/Transforms/DoConcurrent/host_eval.f90
M flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
A flang/test/Transforms/DoConcurrent/map_shape_info.f90
M flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
A flang/test/Transforms/DoConcurrent/non_reference_to_device.f90
M flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
A flang/test/Transforms/DoConcurrent/runtime_sized_array.f90
A flang/test/Transforms/DoConcurrent/skip_all_nested_loops.f90
Log Message:
-----------
[NFC][flang][OpenMP] `do concurrent` to device mapping lit tests (#155992)
Adds more lit tests for `do concurrent` device mapping.
PR stack:
- https://github.com/llvm/llvm-project/pull/155754
- https://github.com/llvm/llvm-project/pull/155987
- https://github.com/llvm/llvm-project/pull/155992 ◀️
- https://github.com/llvm/llvm-project/pull/155993
- https://github.com/llvm/llvm-project/pull/157638
- https://github.com/llvm/llvm-project/pull/156610
- https://github.com/llvm/llvm-project/pull/156837
Commit: 5169bb4c812c1006f4ecfa4bded7aa92d35e3b72
https://github.com/llvm/llvm-project/commit/5169bb4c812c1006f4ecfa4bded7aa92d35e3b72
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/tmmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/test/CodeGen/X86/sse.c
Log Message:
-----------
[clang][x86] Change SLLDQ/SRLDQ byte shift intrinsics to use vXi8 types instead of vXi64 (#158671)
As noted on #156494 and #157403 - its much easier to work with the byte
shift intrinsics if we treat them as vXi8 types instead of vXi64 types
which will require bitcasting
We already do this for the PALIGNR intrinsics which are a more advanced
version of the same shuffle
Commit: 7ba702195136b448d6f35ae3ea4075059cb0df82
https://github.com/llvm/llvm-project/commit/7ba702195136b448d6f35ae3ea4075059cb0df82
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/MC/Disassembler/AMDGPU/gfx10-vop3-literal.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8-literal16.txt
Log Message:
-----------
[AMDGPU][MC] Keep MCOperands unencoded. (#158685)
We have proper encoding facilities to encode operands and instructions;
there's no need to pollute the MC representation with encoding details.
Supposed to be an NFCI, but happens to fix some re-encoded instruction
codes in disassembler tests.
The 64-bit operands are to be addressed in following patches introducing
MC-level representation for lit() and lit64() modifiers, to then be
respected by both the assembler and disassembler.
Commit: 29c55d0f7bb993668243efad0dbbc3fc1a9a5d2a
https://github.com/llvm/llvm-project/commit/29c55d0f7bb993668243efad0dbbc3fc1a9a5d2a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode] Improve error detection in BitCastPrim op (#158575)
Reject bitcasts to pointer types unless it's to `nullptr_t` and always
reject bitcasts to member pointer types.
Fixes #156174
Commit: 788a25a0f71bfa5e5e1c12ad093993b115d10e7a
https://github.com/llvm/llvm-project/commit/788a25a0f71bfa5e5e1c12ad093993b115d10e7a
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.h
M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.h
Log Message:
-----------
[AArch64] Break up `AArch64FrameLowering::emitEpilogue` (NFCI) (#157889)
This is much smaller than #157485 (as the epilogue code was already a
reasonable size); however, this change will allow some further tidy up
of methods shared between the prologue and epilogue code (in a follow-up
patch).
Commit: 0002960d85736c37ac18b31b8cc590be924e20e1
https://github.com/llvm/llvm-project/commit/0002960d85736c37ac18b31b8cc590be924e20e1
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
A flang/test/Lower/call-character-array-to-polymorphic-pointer.f90
Log Message:
-----------
[flang] fix passing characters to polymorphic array pointers (#157813)
The existing code failed to detect character array as being character
because of the extra fir.array type indirection. Use
`fir::getFortranElementType` for a more generic type handling.
Fixes #150749.
Commit: 2a296bac684045452ac33fef0de522f44d57d0bc
https://github.com/llvm/llvm-project/commit/2a296bac684045452ac33fef0de522f44d57d0bc
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
A flang/test/Lower/OpenACC/acc-firstprivate-derived-allocatable-component.f90
A flang/test/Lower/OpenACC/acc-firstprivate-derived-pointer-component.f90
A flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90
A flang/test/Lower/OpenACC/acc-firstprivate-derived.f90
Log Message:
-----------
[flang][openacc] implement firstprivate of scalar derived type (#158636)
Commit: dd29fbd7e59bbc6c537f8e827634ea7e206a3d73
https://github.com/llvm/llvm-project/commit/dd29fbd7e59bbc6c537f8e827634ea7e206a3d73
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FortranVariableInterface.cpp
Log Message:
-----------
[flang] fix some FIR verifiers that did not return expected failure (#158686)
Some `return` were missing before `emitOpError`, leading the compiler to
print an error and continue, leading to the same error to be raised
again and again at each verifier pass without a proper abort.
Commit: 27d730b5dbde03d9b9c1074092e94d025c70099f
https://github.com/llvm/llvm-project/commit/27d730b5dbde03d9b9c1074092e94d025c70099f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpState.h
Log Message:
-----------
[clang][bytecode] Create InterpState allocator on demand (#158802)
We often don't need it (especially in C), so make this optional and
create it only when we first allocate something.
Commit: e6526cf778d0c0bfe0de44bc2a89e96bcbeb1551
https://github.com/llvm/llvm-project/commit/e6526cf778d0c0bfe0de44bc2a89e96bcbeb1551
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
Log Message:
-----------
[AArch64][SME] Reuse ZT0 spill slot (#158593)
Previously, we'd allocate a new spill slot each time we needed to spill
ZT0, which grows the stack size for each spill. Saving the spill slot in
FuncInfo will also allow us to reload the spill on entry to exception
handlers.
Commit: bc931a596b67a01763ccfffdcae688bb2f54e2d6
https://github.com/llvm/llvm-project/commit/bc931a596b67a01763ccfffdcae688bb2f54e2d6
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/test/Target/SPIRV/module.mlir
Log Message:
-----------
[mlir][spirv] Update spirv validation for module.mlir (#158678)
This is to check that the new `spirv-val` behaviour works correctly.
Subsequent PRs will add validation to other target tests. This requires
the most recent SPIRV-Tools to work; for existing build directories
using bundled SPIR-V tools, running `SPIRVTools-update` cmake target
should update them accordingly.
The minimum required SPIRV-Tools version is commit
`14d42009a9435c34ea55b26cc8d92240c428a052`, merged in
https://github.com/KhronosGroup/SPIRV-Tools/pull/6292
Commit: 72aa9467627e3a19794a65a11a829640bf56a0c5
https://github.com/llvm/llvm-project/commit/72aa9467627e3a19794a65a11a829640bf56a0c5
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/coalesce-copy-to-agpr-to-av-registers.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/regcoalesce-64-bit-only-regs.mir
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-subreg-insert-extract.mir
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-subreg-src2-chain.mir
M llvm/test/CodeGen/AMDGPU/sgpr-phys-copy.mir
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected
Log Message:
-----------
[AMDGPU] Drop high 32 bits of aperture registers (#158725)
Fixes: SWDEV-551181
Commit: 82830e8b05e3f41a528d9338c9c93b9aff82729c
https://github.com/llvm/llvm-project/commit/82830e8b05e3f41a528d9338c9c93b9aff82729c
Author: Nathan Gauër <brioche at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/cmake/modules/CMakeLists.txt
Log Message:
-----------
Revert "[clang] fix clang_cmake_builddir" (#158684)
Reverts llvm/llvm-project#155844
Romaric is OOO for the next 2 weeks and I don't have the context on the
other part (clspv) to propose a fix forward.
Reverting for now.
Commit: b9f84bce6797d846b065827e8acd5c8b41631e75
https://github.com/llvm/llvm-project/commit/b9f84bce6797d846b065827e8acd5c8b41631e75
Author: Roger Ferrer Ibáñez <rofirrim at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/include/clang/AST/StmtOpenMP.h
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[Clang][OpenMP] Add an additional class to hold data that will be shared between all loop transformations (#155849)
This is preparatory work for the implementation of `#pragma omp fuse` in
https://github.com/llvm/llvm-project/pull/139293
**Note**: this change builds on top of
https://github.com/llvm/llvm-project/pull/155848
This change adds an additional class to hold data that will be shared
between all loop transformations: those that apply to canonical loop
nests (the majority) and those that apply to canonical loop sequences
(`fuse` in OpenMP 6.0).
This class is not a statement by itself and its goal is to avoid having
to replicate information between classes.
Also simplfiy the way we handle the "generated loops" information as we
currently only need to know if it is zero or non-zero.
Commit: 76efbc068a6ab6ffa10b801df07155a6a69530e7
https://github.com/llvm/llvm-project/commit/76efbc068a6ab6ffa10b801df07155a6a69530e7
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.gfx.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/implicit-kernarg-backend-usage-global-isel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
M llvm/test/CodeGen/AMDGPU/a-v-flat-atomic-cmpxchg.ll
M llvm/test/CodeGen/AMDGPU/a-v-flat-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior2.ll
M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/gep-const-address-space.ll
M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/undef-handling-crash-in-ra.ll
M llvm/test/DebugInfo/AMDGPU/debug-loc-copy.ll
Log Message:
-----------
[AMDGPU] Fix codegen to emit COPY instead of S_MOV_B64 for aperture regs (#158754)
Commit: f5022bd03e7beab522ab3684228d531ef5c0789a
https://github.com/llvm/llvm-project/commit/f5022bd03e7beab522ab3684228d531ef5c0789a
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
Log Message:
-----------
[lldb][test] import-std-module: skip vector tests
This unblocks https://github.com/llvm/llvm-project/pull/158606. The tests are failing because libc++ is now using lambdas in function bodies in the vector header. Ever since https://github.com/llvm/llvm-project/issues/149477 we bail out of importing types when we encounter lambdas. Until we fix ASTImport of `clang::LambdaExpr` nodes properly, this will need to be skipped.
Commit: 10be515f1e000e6fb69f546e3a79537a617def24
https://github.com/llvm/llvm-project/commit/10be515f1e000e6fb69f546e3a79537a617def24
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpState.h
Log Message:
-----------
[clang][bytecode][NFC] InterpState: get ASTContext from interp::Context (#158852)
Access the Parent state one less time.
Commit: a1a7361e1c22fc176c0b5c89b22907c1a3c1d28f
https://github.com/llvm/llvm-project/commit/a1a7361e1c22fc176c0b5c89b22907c1a3c1d28f
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M flang/test/Transforms/DoConcurrent/host_eval.f90
Log Message:
-----------
[flang][OpenMP] Fix failure reported on #155992 (#158813)
Adds a requirement on a test to run only when amd gpu is a registered
target. We need to do this since the test uses `-triple
amdgcn-amd-amdhsa` when invoking flang.
Commit: fbb587c65653395dc97a360e0cd0d1cf9ed0e875
https://github.com/llvm/llvm-project/commit/fbb587c65653395dc97a360e0cd0d1cf9ed0e875
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[clang][docs] Fix formatting of structor_decl_linkage_names DocBrief
The backticks weren't highlighting correctly.
Commit: a0a82ee19d6f2ff1013407ba4c973bfe5428423f
https://github.com/llvm/llvm-project/commit/a0a82ee19d6f2ff1013407ba4c973bfe5428423f
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
Log Message:
-----------
[lldb][lldb-dap] Disable more DAP tests on Windows (#158906)
Flakey on Windows on Arm:
https://lab.llvm.org/buildbot/#/builders/141/builds/11540
See #137660
Commit: 6ae9fcd68b8c32323fe8ed1605e4bcbdf13f6724
https://github.com/llvm/llvm-project/commit/6ae9fcd68b8c32323fe8ed1605e4bcbdf13f6724
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
A clang/test/Driver/DTLTO/ps5-dtlto.c
Log Message:
-----------
[PS5] Enable support for DTLTO in the PS5 Clang driver (#158041)
DTLTO support was added for most targets via the shared `addLTOOptions`
helper. The PS5 driver does not call that helper, so it did not inherit
the feature. Implement the equivalent DTLTO handling in the PS5 driver.
Unlike other drivers, we add LTO-related options unconditionally. This
makes sense because the linker decides whether to perform LTO based on
input file types, not the presence of `-flto` on the compiler command
line. Other drivers only add these options when `-flto` is specified.
Internal-Ref: TOOLCHAIN-19896
Commit: 46fcece2a8015980fa51bece0d87311af10da553
https://github.com/llvm/llvm-project/commit/46fcece2a8015980fa51bece0d87311af10da553
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_load.ll
A llvm/test/Transforms/LoopVectorize/cse-gep-source-element-type.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-branch-weights.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
Log Message:
-----------
[VPlan] Extend CSE to eliminate GEPs (#156699)
The motivation for this patch is to close the gap between the
VPlan-based CSE and the legacy CSE, to make it easier to remove the
legacy CSE. Before this patch, stubbing out the legacy CSE leads to 22
test failures, and after this patch, there are only 12 failures, and all
of them seem to have a single root cause:
VPlanTransforms::createInterleaveGroups() and
VPInterleaveGroup::execute(). The improvements from this patch are of
course welcome.
While developing the patch, a miscompile was found when GEP
source-element-types differ, and this has been fixed.
Co-authored-by: Florian Hahn <flo at fhahn.com>
Co-authored-by: Luke Lau <luke at igalia.com>
Commit: 3a5cc953dce0e142e935335a4cdbc5821ddf6d11
https://github.com/llvm/llvm-project/commit/3a5cc953dce0e142e935335a4cdbc5821ddf6d11
Author: YixingZhang007 <yixing.zhang at intel.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/test/CodeGen/SPIRV/basic_float_types.ll
Log Message:
-----------
[SPIRV] Add FPEncoding operand support for OpTypeFloat (#156871)
This PR introduces support for `FPEncoding` operand for SPIR-V
instruction `OpTypeFloat`, with the following main changes:
1. Introduces `FPEncoding` enum class to represent floating-point
encodings, such as `BFloat16KHR`, in SPIR-V.
2. Updates SPIR-V instruction `OpTypeFloat` to accept `FPEncoding` as
its second input operand.
3. Updates SPIR-V type creation to handle new encoding requirements.
This PR enables support for the BFloat floating-point type in SPIR-V.
Commit: 3946c5061d708b1e7604db63e9b604cb0fce7dd6
https://github.com/llvm/llvm-project/commit/3946c5061d708b1e7604db63e9b604cb0fce7dd6
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/IR/DebugInfoMetadata.h
A llvm/include/llvm/Transforms/Utils/DebugSSAUpdater.h
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
A llvm/lib/Transforms/Utils/DebugSSAUpdater.cpp
M llvm/unittests/Transforms/Utils/CMakeLists.txt
A llvm/unittests/Transforms/Utils/DebugSSAUpdaterTest.cpp
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
Add DebugSSAUpdater class to track debug value liveness (#135349)
This patch adds a class that uses SSA construction, with debug values as
definitions, to determine whether and which debug values for a
particular variable are live at each point in an IR function. This will
be used by the IR reader of llvm-debuginfo-analyzer to compute variable
ranges and coverage, although it may be applicable to other debug info
IR analyses.
Commit: eb624dc758f0cacb9be306de2d347235c66e6910
https://github.com/llvm/llvm-project/commit/eb624dc758f0cacb9be306de2d347235c66e6910
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Utils/BUILD.gn
Log Message:
-----------
[gn build] Port 3946c5061d70
Commit: 7936b6f1133516c427c478104606d9276da6f81b
https://github.com/llvm/llvm-project/commit/7936b6f1133516c427c478104606d9276da6f81b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
Log Message:
-----------
[MLIR] Turn `RemarkFormat` into an enum class (NFC) (#158733)
This is fixing a gcc warning and aligning with the other enums in the
file.
Commit: c6c60e1ec2c83bb12107160a90f31b6eeafbf7bf
https://github.com/llvm/llvm-project/commit/c6c60e1ec2c83bb12107160a90f31b6eeafbf7bf
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/combine-storetomstore.ll
M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-loads.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-stores.ll
M llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll
Log Message:
-----------
[AArch64] Combine signext_inreg of setcc(... != splat(0)) (#157665)
Add the following fold AArch64 DAGCombine:
Fold setcc_merge_zero(
pred, insert_subvector(undef, signext_inreg(vNi1), 0),
!= splat(0))
-> setcc_merge_zero(pred, insert_subvector(undef, shl(vNi1), 0),
!= splat(0))
as the comparison (!= 0) depends only on bit 0 of the input, the left
shift is sufficient.
Commit: aa1a6948467362a97f2bf10772a491938b20534c
https://github.com/llvm/llvm-project/commit/aa1a6948467362a97f2bf10772a491938b20534c
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/select-splat-vector.ll
Log Message:
-----------
[LLVM][GlobalISel] Make CSEMIRBuilder::buildConstant scalable vector aware. (#158299)
Commit: 8fab81121ebd047274f3171eb2902cb564b3e377
https://github.com/llvm/llvm-project/commit/8fab81121ebd047274f3171eb2902cb564b3e377
Author: John Brawn <john.brawn at arm.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
A llvm/test/Transforms/LoopStrengthReduce/AArch64/prefer-all.ll
Log Message:
-----------
[LSR] Add an addressing mode that considers all addressing modes (#158110)
The way that loops strength reduction works is that the target has to
upfront decide whether it wants its addressing to be preindex,
postindex, or neither. This choice affects:
* Which potential solutions we generate
* Whether we consider a pre/post index load/store as costing an AddRec
or not.
None of these choices are a good fit for either AArch64 or ARM, where
both preindex and postindex addressing are typically free:
* If we pick None then we count pre/post index addressing as costing one
addrec more than is correct so we don't pick them when we should.
* If we pick PreIndexed or PostIndexed then we get the correct cost for
that addressing type, but still get it wrong for the other and also
exclude potential solutions using offset addressing that could have less
cost.
This patch adds an "all" addressing mode that causes all potential
solutions to be generated and counts both pre and postindex as having
AddRecCost of zero. Unfortuntely this reveals problems elsewhere in how
we calculate the cost of things that need to be fixed before we can make
use of it.
Commit: c5474cdc27d99f6ebab1d501f93ec1aa6dc8235b
https://github.com/llvm/llvm-project/commit/c5474cdc27d99f6ebab1d501f93ec1aa6dc8235b
Author: Ross Brunton <bruntonross at protonmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M offload/unittests/OffloadAPI/common/Fixtures.hpp
Log Message:
-----------
[Offload] Make `ASSERT_ERROR` output more readable (#157653)
Commit: a134b0621798d0c07a6c5ea23d8e8388b04c26ad
https://github.com/llvm/llvm-project/commit/a134b0621798d0c07a6c5ea23d8e8388b04c26ad
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/Driver/clang_f_opts.c
M flang/docs/ReleaseNotes.md
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
A flang/test/Driver/loop-fuse.f90
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/tools/opt/NewPMDriver.cpp
Log Message:
-----------
Reapply "Introduce -fexperimental-loop-fusion to clang and flang (#158844)
This PR is a reapplication of
https://github.com/llvm/llvm-project/pull/142686
Commit: 92f5d8df361bb1bb6dea88f86faeedfd295ab970
https://github.com/llvm/llvm-project/commit/92f5d8df361bb1bb6dea88f86faeedfd295ab970
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M libcxx/include/string
M libcxx/src/filesystem/format_string.h
M libcxx/test/benchmarks/containers/string.bench.cpp
R libcxx/test/libcxx-03/strings/basic.string/string.modifiers/resize_default_initialized.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
R libcxx/test/libcxx/strings/basic.string/string.modifiers/resize_default_initialized.pass.cpp
Log Message:
-----------
[libc++] Replace __resize_default_init with resize_and_overwrite (#157121)
Since `__resize_default_init` is only ever used inside the dylib we can
remove the libc++-internal API and switch to the public one. This patch
inlines a bunch of functions that aren't required anymore and simplifies
the code that way.
Commit: fba26bc1a5cf7cf367474965c144659f62588e7d
https://github.com/llvm/llvm-project/commit/fba26bc1a5cf7cf367474965c144659f62588e7d
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/test/Dialect/SCF/for-loop-peeling.mlir
Log Message:
-----------
[MLIR] Fix SCF loop specialization (peeling) to work on scf.for with non-index type (#158707)
The current code would crash with integer. This is visible on this
modified example (the original with index was incorrect)
Commit: ff25184f356e0e2fa6e3606160b30f7da9ea525c
https://github.com/llvm/llvm-project/commit/ff25184f356e0e2fa6e3606160b30f7da9ea525c
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/Statistic.h
Log Message:
-----------
Make NoopStatistic constructor constexpr (NFC) (#159045)
This makes it friendly to -Wglobal-constructors environments. This class
is used when Statistics are disabled, the matching class,
TrackingStatistic, was made constexpr a while back already in
7e5682ee6201c for other reasons.
Commit: 45f1440d9a3a2f6108242a1fce16faf52a3f4645
https://github.com/llvm/llvm-project/commit/45f1440d9a3a2f6108242a1fce16faf52a3f4645
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Remarks/BitstreamRemarkParser.cpp
M llvm/lib/Remarks/BitstreamRemarkParser.h
Log Message:
-----------
Reland "[Remarks] BitstreamRemarkParser: Refactor error handling" (#158667)
Reland #156511 after fixing a build failure not caught by clang. The
default implementation of `parseRecord` is currently unused. Apparently,
clang doesn't type check uninstantiated methods in class templates. To
avoid this footgun, we `= delete` the impl for now.
Original message:
In preparation of larger changes to the bitstream remark format,
refactor the error handling code in the BitstreamRemarkParser.
Main change: move the various static helper methods into the parser
helper classes, so we don't need to pass around as many args. Calling
`error(...)` inside the helper classes now automatically prepends the
current block being parsed to the error message.
NFCI (except for error messages on invalid bitstream files).
Pull Request: https://github.com/llvm/llvm-project/pull/158667
Commit: c366cbdc619dc15f92dcedda4b9e256a26ef94b3
https://github.com/llvm/llvm-project/commit/c366cbdc619dc15f92dcedda4b9e256a26ef94b3
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-acc-structure.h
M flang/test/Semantics/OpenACC/acc-loop.f90
Log Message:
-----------
[flang][acc] Allow nested gang loops inside acc routines (#158693)
The following commit incorrectly prohibited nested gang loops inside acc
routines. This PR limits the restriction to loops within kernels
constructs only.
https://github.com/llvm/llvm-project/commit/8470027f257a3304b2abe50e5663bcd711f6ca29
Commit: 18507a7a6bf1c82e2614b3995320ebab8dd60ef2
https://github.com/llvm/llvm-project/commit/18507a7a6bf1c82e2614b3995320ebab8dd60ef2
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
Log Message:
-----------
[DA] Remove base pointers from subscripts (NFCI) (#157083)
This patch removes base pointers from subscripts when delinearization
fails. Previously, in such cases, the pointer type SCEVs were used
instead of offset SCEVs derived from them.
For example, here is a portion of the debug output when analyzing
`strong0` in `test/Analysis/DependenceAnalysis/StrongSIV.ll`:
```
testing subscript 0, SIV
src = {(8 + %A),+,4}<nuw><%for.body>
dst = {(8 + %A),+,4}<nuw><%for.body>
Strong SIV test
Coeff = 4, i64
SrcConst = (8 + %A), ptr
DstConst = (8 + %A), ptr
Delta = 0, i64
UpperBound = (-1 + %n), i64
Distance = 0
Remainder = 0
```
As shown above, the `SrcConst` and `DstConst` are pointer values rather
than integer offsets. `%A` should be removed.
This change is necessary for #157086, since
`ScalarEvolution::willNotOverflow` expects integer type SCEVs as
arguments. This change alone alone should not affect the analysis
results.
Commit: ea59be552f1db4f8f2e8a3edd909f17802339970
https://github.com/llvm/llvm-project/commit/ea59be552f1db4f8f2e8a3edd909f17802339970
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/is_fpclass.ll
Log Message:
-----------
[ValueTracking] Don't take sign bit from NaN operands (#157250)
Closes https://github.com/llvm/llvm-project/issues/157238.
Commit: 66a8f47066caad76458190d820b7f4bea7c602c5
https://github.com/llvm/llvm-project/commit/66a8f47066caad76458190d820b7f4bea7c602c5
Author: Mikhail Gudim <mgudim at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLPVectorizer][NFC] Save stride in a map. (#157706)
In order to avoid recalculating stride of strided load twice save it in
a map.
Commit: 3c7c8929d415ab773c88e7e0a668930738f98e56
https://github.com/llvm/llvm-project/commit/3c7c8929d415ab773c88e7e0a668930738f98e56
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/test/TableGen/HwModeEncodeDecode3.td
M llvm/test/TableGen/RegisterEncoder.td
M llvm/utils/TableGen/CodeEmitterGen.cpp
Log Message:
-----------
[TableGen][CodeEmitter] Refactor addCodeToMergeInOperand (NFC) (#158674)
* Use streams to avoid dealing with std::string
* Print operand masks in hex
* Make the output more succinct
Commit: 666e4313ebc03587f27774139ad8f780bac15c3e
https://github.com/llvm/llvm-project/commit/666e4313ebc03587f27774139ad8f780bac15c3e
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
Log Message:
-----------
[NFC][LV] Improve ee with sideeffects legality test (#158275)
Addressing postcommit comments for
54fc5367f63cca8e011d93bbd55764b0a7ecbbd5
Commit: 33c33d0e0d143fb6197f191921d2b6e4470855da
https://github.com/llvm/llvm-project/commit/33c33d0e0d143fb6197f191921d2b6e4470855da
Author: jiang1997 <jieke at live.cn>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCooperativeMatrixOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMemoryOps.td
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/invalid.mlir
Log Message:
-----------
[MLIR] Use IntValidAlignment for alignment attributes (#158137)
This PR refactors alignment validation in MLIR's MemRef and SPIRV
dialects:
- Use `IntValidAlignment` for consistent type safety across MemRef and
SPIRV dialects
- Eliminate duplicate validation logic in `MemRefOps.cpp`
- Adjust error messages in `invalid.mlir` to match improved validation
This is the first of two PRs addressing issue #155677.
Commit: 311d78f2a1d80fd6b7700a0199c146accd2c7d3c
https://github.com/llvm/llvm-project/commit/311d78f2a1d80fd6b7700a0199c146accd2c7d3c
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M offload/test/offloading/force-usm.cpp
Log Message:
-----------
[OpenMP] Fix force-usm test after #157182 (#159095)
The refactoring lead to an additional data transfer. This changes the
assumed transfers in the check-strings to work with that changed
behavior.
Commit: e7101dac9cbdad08696a05b4b73ed76c20a6f2fc
https://github.com/llvm/llvm-project/commit/e7101dac9cbdad08696a05b4b73ed76c20a6f2fc
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/JIT.h
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/JIT.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] Copy loaded images into managed storage (#158748)
Summary:
Currently we have this `__tgt_device_image` indirection which just takes
a reference to some pointers. This was all find and good when the only
usage of this was from a section of GPU code that came from an ELF
constant section. However, we have expanded beyond that and now need to
worry about managing lifetimes. We have code that references the image
even after it was loaded internally. This patch changes the
implementation to instaed copy the memory buffer and manage it locally.
This PR reworks the JIT and other image handling to directly manage its
own memory. We now don't need to duplicate this behavior externally at
the Offload API level. Also we actually free these if the user unloads
them.
Upside, less likely to crash and burn. Downside, more latency when
loading an image.
Commit: 148e099b39a25ea4336faeef485c53819b269fc2
https://github.com/llvm/llvm-project/commit/148e099b39a25ea4336faeef485c53819b269fc2
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-target-default-as.mlir
Log Message:
-----------
[MLIR][OpenMP] Set default address space for OpenMPIRBuilder (#158689)
Extension of https://github.com/llvm/llvm-project/pull/158152 for MLIR.
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: ce073a9445a2eaf5810ea734e2dcad6f14441218
https://github.com/llvm/llvm-project/commit/ce073a9445a2eaf5810ea734e2dcad6f14441218
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
R llvm/test/TableGen/AsmPredicateCondsEmission.td
A llvm/test/TableGen/DecoderEmitter/AsmPredicateCondsEmission.td
A llvm/test/TableGen/DecoderEmitter/DecoderEmitterBitwidthSpecialization.td
A llvm/test/TableGen/DecoderEmitter/DecoderEmitterFnTable.td
A llvm/test/TableGen/DecoderEmitter/VarLenDecoder.td
A llvm/test/TableGen/DecoderEmitter/trydecode-emission.td
A llvm/test/TableGen/DecoderEmitter/trydecode-emission2.td
A llvm/test/TableGen/DecoderEmitter/trydecode-emission3.td
A llvm/test/TableGen/DecoderEmitter/trydecode-emission4.td
R llvm/test/TableGen/DecoderEmitterBitwidthSpecialization.td
R llvm/test/TableGen/DecoderEmitterFnTable.td
R llvm/test/TableGen/VarLenDecoder.td
R llvm/test/TableGen/trydecode-emission.td
R llvm/test/TableGen/trydecode-emission2.td
R llvm/test/TableGen/trydecode-emission3.td
R llvm/test/TableGen/trydecode-emission4.td
Log Message:
-----------
[NFC][TableGen] Move decoder tests to DecoderEmitter directory (#159040)
Commit: 334013b090eef5b97cef8bc1817ed9ff67680488
https://github.com/llvm/llvm-project/commit/334013b090eef5b97cef8bc1817ed9ff67680488
Author: James Y Knight <jyknight at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/Statistic.h
Log Message:
-----------
Mark STATISTIC variables as maybe_unused when stats are disabled. (#159103)
PR #159045 made the constructor constexpr, which allows
`-Wunused-variable` to trigger. However, we don't really care if a
statistic is unused if `LLVM_ENABLE_STATS` is 0.
Commit: b3fa92fd4edce2d9be61eb289a179a98bcf13880
https://github.com/llvm/llvm-project/commit/b3fa92fd4edce2d9be61eb289a179a98bcf13880
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen][Decoder] Make predicate/decocder generation functions return a string (NFC) (#159089)
These functions will see more uses in a future patch.
This also resolves a FIXME.
Commit: 2771d35e2aaf76cf3716954d6094a822e56dfda5
https://github.com/llvm/llvm-project/commit/2771d35e2aaf76cf3716954d6094a822e56dfda5
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[NFC ]Add a helper function isTailCall for getting libcall in SelectionDAG (#155256)
Based on comment of
https://github.com/llvm/llvm-project/pull/153600#discussion_r2285729269,
Add a helper function isTailCall for getting libcall in SelectionDAG.
Commit: 7e71877835a567ada4d0e57413a5f64de3545033
https://github.com/llvm/llvm-project/commit/7e71877835a567ada4d0e57413a5f64de3545033
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[ADT] Wrapper for `std::accumulate` accepting a `range`. (#158702)
Commit: a4c5a747c5507d0c45524e45082389089fa9a791
https://github.com/llvm/llvm-project/commit/a4c5a747c5507d0c45524e45082389089fa9a791
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
Log Message:
-----------
AMDGPU: Regenerate baseline test checks for some gfx12 mc tests (#159098)
Commit: 44b686e52ec462c173d0b114172db2a783215116
https://github.com/llvm/llvm-project/commit/44b686e52ec462c173d0b114172db2a783215116
Author: Hongyu Chen <xxs_chy at outlook.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
A llvm/test/CodeGen/AArch64/pr157252.mir
Log Message:
-----------
[AArch64] Unfold adds when eliminating frame index with scalable offset (#158597)
Fixes https://github.com/llvm/llvm-project/issues/157252.
Peephole optimization tends to fold:
```
add %gpr1, %stack, 0
subs %gpr2, %gpr1, 0
```
to
```
adds %gpr2, %stack, 0
```
This patch undoes the fold in `rewriteAArch64FrameIndex` to process
`adds` on the stack object.
Commit: a42aac5f83e272f83207844dde1530b86e6fcf2b
https://github.com/llvm/llvm-project/commit/a42aac5f83e272f83207844dde1530b86e6fcf2b
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/DebugSSAUpdater.h
Log Message:
-----------
[DebugInfo] Fix memory leak in DebugSSAUpdater (#159107)
Fixes an issue in commit 3946c50, PR #135349.
The DebugSSAUpdater class performs raw pointer allocations. It frees
these properly in reset(), but does not do so in its destructor - as an
immediate fix, this patch adds a destructor which frees the allocations
correctly.
I'll be merging this immediately to fix the issue, but will be open to
post-commit review and/or producing a better fix in a follow-up commit.
Commit: eeced0d073ee387d98e39fdcada2277ad81cd4a9
https://github.com/llvm/llvm-project/commit/eeced0d073ee387d98e39fdcada2277ad81cd4a9
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mfma.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/acc-ldst.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-snop-padding.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx942.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.i8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.xf32.gfx942.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.iterative.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx90a.mir
M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx942.mir
M llvm/test/CodeGen/AMDGPU/mai-hazards-mfma-scale.gfx950.mir
M llvm/test/CodeGen/AMDGPU/mai-hazards.mir
M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
M llvm/test/CodeGen/AMDGPU/mfma-loop.ll
M llvm/test/CodeGen/AMDGPU/mfma-no-register-aliasing.ll
M llvm/test/CodeGen/AMDGPU/neighboring-mfma-padding.mir
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-phi.ll
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr.ll
M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
Log Message:
-----------
[AMDGPU] Use larger immediate values in S_NOP (#158990)
The S_NOP instruction has an immediate operand which is one less than
the number of cycles to delay for. The maximum value that may be encoded
in this field was increased in GFX8 and again in GFX12.
Commit: 175bab32d7f37bfb854b89c0da7e9f4aa427bc70
https://github.com/llvm/llvm-project/commit/175bab32d7f37bfb854b89c0da7e9f4aa427bc70
Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512-fma.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-vfmac-fadd.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-vfmulc-fadd.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-xor-vfmulc-fadd.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-xor-vfmulc.ll
M llvm/test/CodeGen/X86/dag-combiner-fma-folding.ll
M llvm/test/CodeGen/X86/fma-do-not-commute.ll
M llvm/test/CodeGen/X86/fma_patterns.ll
M llvm/test/CodeGen/X86/fma_patterns_wide.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
Log Message:
-----------
[X86] Don't rely on global -fp-contract=fast on X86 CodeGen tests (#158026)
IR has the `contract` to indicate that contraction is allowed. Testing
shouldn't rely on global flag to perform contraction. This is a
prerequisite before making backends rely only on the IR to perform
contraction. See more here:
https://discourse.llvm.org/t/allowfpopfusion-vs-sdnodeflags-hasallowcontract/80909/5
Commit: beb6bab87e6370087049bb900155d5ca164acc15
https://github.com/llvm/llvm-project/commit/beb6bab87e6370087049bb900155d5ca164acc15
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-qualified-auto in LowerGpuOpsToROCDLOps.cpp (NFC)
Commit: f017bcb3e375843dc146eda823fcdd4c95a10153
https://github.com/llvm/llvm-project/commit/f017bcb3e375843dc146eda823fcdd4c95a10153
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/lib/Conversion/GPUToSPIRV/WmmaOpsToSPIRV.cpp
M mlir/test/Conversion/GPUToSPIRV/wmma-ops-to-spirv-khr-coop-matrix.mlir
Log Message:
-----------
[mlir][gpu][spirv] Add conversion for gpu.subgroup_mma_elementwise mulf (#158832)
gpu.subgroup_mma_elementwise supports mulf op type. Add conversion for it.
Commit: babdad3fdbc66b4992654f9b7dc0fa4da85bd843
https://github.com/llvm/llvm-project/commit/babdad3fdbc66b4992654f9b7dc0fa4da85bd843
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
M llvm/test/CodeGen/AMDGPU/unspill-vgpr-after-rewrite-vgpr-mfma.ll
Log Message:
-----------
AMDGPU: Try to unspill VGPRs after rewriting MFMAs to AGPR form (#154323)
After replacing VGPR MFMAs with the AGPR form, we've alleviated VGPR
pressure which may have triggered spills during allocation. Identify
these spill slots, and try to reassign them to newly freed VGPRs,
and replace the spill instructions with copies.
Fixes #154260
Commit: 9865f7ec2bb15f3d8aa25c7e9305393422597dc5
https://github.com/llvm/llvm-project/commit/9865f7ec2bb15f3d8aa25c7e9305393422597dc5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-qualified-auto in WinogradConv2D.cpp (NFC)
Commit: 30633f30894129919050f24fdd1f8f6bc46beae0
https://github.com/llvm/llvm-project/commit/30633f30894129919050f24fdd1f8f6bc46beae0
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang-tools-extra/clangd/Compiler.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Testing/TestAST.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/driver/cc1_main.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/CodeGen/TestCompiler.h
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Frontend/CodeGenActionTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Frontend/OutputStreamTest.cpp
M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
M clang/unittests/Serialization/ModuleCacheTest.cpp
M clang/unittests/Serialization/NoCommentsTest.cpp
M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
Log Message:
-----------
[clang] Initialize the file system explicitly (#158381)
This PR is a part of the effort to make the VFS used in the compiler
more explicit and consistent.
Instead of creating the VFS deep within the compiler (in
`CompilerInstance::createFileManager()`), clients are now required to
explicitly call `CompilerInstance::createVirtualFileSystem()` and
provide the base VFS from the outside.
This PR also helps in breaking up the dependency cycle where creating a
properly configured `DiagnosticsEngine` requires a properly configured
VFS, but creating properly configuring a VFS requires the
`DiagnosticsEngine`.
Both `CompilerInstance::create{FileManager,Diagnostics}()` now just use
the VFS already in `CompilerInstance` instead of taking one as a
parameter, making the VFS consistent across the instance sub-object.
Commit: 08a58b2cea3c11cb94b565e50a85de4d7b78fe65
https://github.com/llvm/llvm-project/commit/08a58b2cea3c11cb94b565e50a85de4d7b78fe65
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/CodeGen/AMDGPU/xor3-i1-const.ll
A llvm/test/Transforms/InstCombine/redundant-fcmp.ll
Log Message:
-----------
[InstCombine] Optimize redundant floating point comparisons in `or`/`and` inst's (#158097)
Resolves #157371
We can eliminate one of the `fcmp` when we have two same `olt` or `ogt`
instructions matched in `or`/`and` simplification.
Commit: 3388d40684742e950b3c5d1d2dafe5a40695cfc1
https://github.com/llvm/llvm-project/commit/3388d40684742e950b3c5d1d2dafe5a40695cfc1
Author: quic-k <kushpal at qti.qualcomm.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
A compiler-rt/cmake/caches/hexagon-builtins-baremetal.cmake
Log Message:
-----------
[cmake] Add cmake file for hexagon-builtins baremetal (#151500)
This will be used to build hexagon-builtins for baremetal.
Signed-off-by: Kushal Pal <kushpal at qti.qualcomm.com>
Commit: d2fbca8a85991019c061cc83f18d3030e843d0d7
https://github.com/llvm/llvm-project/commit/d2fbca8a85991019c061cc83f18d3030e843d0d7
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/test/Lower/HLFIR/eoshift.f90
Log Message:
-----------
[flang] Allow polymorphic type mismatch for hlfir.eoshift. (#158718)
When the ARRAY has polymorphic type, its element type may not match
the element type of BOUNDARY.
Fixes #158382.
Commit: 6aab826e2334fe454c5e2349d871f16d7d011a4c
https://github.com/llvm/llvm-project/commit/6aab826e2334fe454c5e2349d871f16d7d011a4c
Author: guan jian <148229859+rez5427 at users.noreply.github.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/xor-min-max.ll
Log Message:
-----------
[DAGCombiner] add fold (xor (smin(x, C), C)) and fold (xor (smax(x, C), C)) (#155141)
Hi, I compared the following LLVM IR with GCC and Clang, and there is a small difference between the two. The LLVM IR is:
```
define i64 @test_smin_neg_one(i64 %a) {
%1 = tail call i64 @llvm.smin.i64(i64 %a, i64 -1)
%retval.0 = xor i64 %1, -1
ret i64 %retval.0
}
```
GCC generates:
```
cmp x0, 0
csinv x0, xzr, x0, ge
ret
```
Clang generates:
```
cmn x0, #1
csinv x8, x0, xzr, lt
mvn x0, x8
ret
```
Clang keeps flipping x0 through x8 unnecessarily.
So I added the following folds to DAGCombiner:
fold (xor (smax(x, C), C)) -> select (x > C), xor(x, C), 0
fold (xor (smin(x, C), C)) -> select (x < C), xor(x, C), 0
alive2: https://alive2.llvm.org/ce/z/gffoir
---------
Co-authored-by: Yui5427 <785369607 at qq.com>
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: ee66d967db6b812ed82a14dda369a3cae79f6632
https://github.com/llvm/llvm-project/commit/ee66d967db6b812ed82a14dda369a3cae79f6632
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen][DecoderEmitter] Inline a couple of trivial functions (NFC) (#159099)
Commit: 3ef066f8a369e1fe10f5408d535ce782fb39490f
https://github.com/llvm/llvm-project/commit/3ef066f8a369e1fe10f5408d535ce782fb39490f
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen][DecoderEmitter] Change SmallSetVector to SetVector (NFC) (#159108)
SmallSetVector is too optimistic, there are usually more than 16 unique
decoders and predicates. Modernize `typedef` to `using` while here.
Commit: 341cdbc9703d3cdd151f897b63548387f0017f49
https://github.com/llvm/llvm-project/commit/341cdbc9703d3cdd151f897b63548387f0017f49
Author: Janek van Oirschot <janek.vanoirschot at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/av-split-dead-valno-crash.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/imm.ll
Log Message:
-----------
[AMDGPU] Elide bitcast fold i64 imm to build_vector (#154115)
Elide bitcast combine to build_vector in case of i64 immediate that can
be materialized through 64b mov
Commit: f9f62ef4ae555a86878411e696b8b747851fc337
https://github.com/llvm/llvm-project/commit/f9f62ef4ae555a86878411e696b8b747851fc337
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/BasicAliasAnalysis.h
M llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
A llvm/test/Transforms/InstCombine/may-alias-errno.ll
Log Message:
-----------
[AA] Refine ModRefInfo taking into account `errnomem` location
Ensure alias analyses mask out `errnomem` location, refining the
resulting modref info, when the given access/location does not
alias errno. This may occur either when TBAA proves there is no
alias with errno (e.g., float TBAA for the same root would be
disjoint with the int-only compatible TBAA node for errno); or
if the memory access size is larger than the integer size, or
when the underlying object is a potentially-escaping alloca.
Previous discussion: https://discourse.llvm.org/t/rfc-modelling-errno-memory-effects/82972.
Commit: 3eea01e73117c2b916930cd64c1acbcdc5ace44d
https://github.com/llvm/llvm-project/commit/3eea01e73117c2b916930cd64c1acbcdc5ace44d
Author: Damian Heaton <Damian.Heaton at arm.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
A llvm/test/CodeGen/AArch64/sve2p1-dots-partial-reduction.ll
Log Message:
-----------
[AArch64] Add ISel support for partial reductions to use SVE2.1 udot/sdot (#158310)
This allows dot products with scalable 8xi16 vectors (and fixed-length
vectors which are converted into a scalable vector) accumulating into a
4xi32 vector to lower into a single instruction (`udot`/`sdot`), rather
than a sequence of `umlalb`s and `umlalt`s`.
Commit: 3938ce96ad97acd26f4a7610d5cd3b2dac796c29
https://github.com/llvm/llvm-project/commit/3938ce96ad97acd26f4a7610d5cd3b2dac796c29
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/Twine.h
Log Message:
-----------
[ADT] Update comments in Twine.h (NFC) (#158783)
Twine now stores integers by value, so this patch updates comments
accordingly.
Commit: b27bb09f6d02e750c4126aeffb7a2ecf0d6ab783
https://github.com/llvm/llvm-project/commit/b27bb09f6d02e750c4126aeffb7a2ecf0d6ab783
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/include/clang/AST/TypeBase.h
Log Message:
-----------
[AST] Simplify TypeIsArrayType (NFC) (#158784)
This patch simplifies replaces TypeIsArrayType. If
std::is_same<ArrayType, ArrayType> is true, then
std::is_base_of<ArrayType, ArrayType> must also be true, so
std::is_base_of<ArrayType, ArrayType> alone is sufficient.
Commit: 096b8a8b89f3234972770e0581e059073d106b7c
https://github.com/llvm/llvm-project/commit/096b8a8b89f3234972770e0581e059073d106b7c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/PackedVector.h
M llvm/unittests/ADT/PackedVectorTest.cpp
Log Message:
-----------
[ADT] Fix an indexing bug in PackedVector (#158785)
PackedVector is like std::vector<int> except that we can store small
elements (e.g. 2-bit elements) in a packed manner using a BitVector as
the underlying storage.
The problem is that for bit size 3 and beyond, the calculation of
indices into the underlying BitVector is not correct. For example,
around line 50, we see a "for" loop to retrieve an unsigned integer
value:
for (unsigned i = 0; i != BitNum-1; ++i)
val = T(val | ((Bits[(Idx << (BitNum-1)) + i] ? 1UL : 0UL) << i));
Suppose that BitNum is 4 (that is, 4-bit item). Here is the mapping
between the PackedVector index and the corresponding BitVector
indices.
Idx 0: 0, 1, 2, 3
Idx 1: 8, 9, 10, 11
Idx 2: 16, 17, 18, 19
That is, we use 4 bits out of every 8 bits. This is because the index
calculation uses "<<". The index should really be Idx * BitNum + i.
FWIW, all the methods in PackedVector consistently use the shift-based
index calculation, so the user would never encounter a bug except
possibly as excessive storage use.
This patch fixes the index calculation. Now, in size(), I didn't want
to do integer division:
return Bits.size() / BitNum;
so this patch adds a separate variable NumElements to keep track of
the number of elements.
The unit test checks for the expected size of the underlying
BitVector.
Commit: 99a0139e28f7c69583684efb1907451fc9d0b0bf
https://github.com/llvm/llvm-project/commit/99a0139e28f7c69583684efb1907451fc9d0b0bf
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/Support/AMDHSAKernelDescriptor.h
Log Message:
-----------
[Support] Remove offsetof in AMDHSAKernelDescriptor.h (#158786)
This patch removes offsetof. Note that we already include <cstddef>
and that <cstddef> defines offsetof.
Commit: 3fe05ba24fcaeeb0280e9c364d1b193aadbd2348
https://github.com/llvm/llvm-project/commit/3fe05ba24fcaeeb0280e9c364d1b193aadbd2348
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/docs/GarbageCollection.rst
Log Message:
-----------
[llvm] Proofread GarbageCollection.rst (#158787)
Commit: 0864965e54a2ae050898ca0a3bb1d07f8fabe954
https://github.com/llvm/llvm-project/commit/0864965e54a2ae050898ca0a3bb1d07f8fabe954
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen][DecoderEmitter] Replace opcode mask with booleans (NFC) (#159113)
Extracted from #155889, which removes inclusion of `MCDecoderOps.h`.
Commit: c3fb2e1cee954338acb83955b157e0a2e82a4849
https://github.com/llvm/llvm-project/commit/c3fb2e1cee954338acb83955b157e0a2e82a4849
Author: yonghong-song <yhs at fb.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
A llvm/lib/Target/BPF/BPFAsmPrinter.h
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/BPFISelLowering.h
M llvm/lib/Target/BPF/BPFInstrInfo.cpp
M llvm/lib/Target/BPF/BPFInstrInfo.h
M llvm/lib/Target/BPF/BPFInstrInfo.td
M llvm/lib/Target/BPF/BPFMCInstLower.cpp
M llvm/lib/Target/BPF/BPFMCInstLower.h
M llvm/lib/Target/BPF/BPFSubtarget.cpp
M llvm/lib/Target/BPF/BPFSubtarget.h
A llvm/lib/Target/BPF/BPFTargetLoweringObjectFile.cpp
A llvm/lib/Target/BPF/BPFTargetLoweringObjectFile.h
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/BPF/CMakeLists.txt
A llvm/test/CodeGen/BPF/jump_table_blockaddr.ll
A llvm/test/CodeGen/BPF/jump_table_global_var.ll
A llvm/test/CodeGen/BPF/jump_table_switch_stmt.ll
Log Message:
-----------
[BPF] Support Jump Table (#149715)
Add jump table (switch statement and computed goto) support for BPF
backend.
A `gotox <reg>` insn is implemented and the `<reg>` holds the target
insn where the gotox will go.
For a switch statement like
```
...
switch (ctx->x) {
case 1: ret_user = 18; break;
case 20: ret_user = 6; break;
case 16: ret_user = 9; break;
case 6: ret_user = 16; break;
case 8: ret_user = 14; break;
case 30: ret_user = 2; break;
default: ret_user = 1; break;
}
...
```
and the final binary
```
The final binary:
4: 67 01 00 00 03 00 00 00 r1 <<= 0x3
5: 18 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r2 = 0x0 ll
0000000000000028: R_BPF_64_64 BPF.JT.0.0
7: 0f 12 00 00 00 00 00 00 r2 += r1
...
Symbol table:
4: 0000000000000000 240 OBJECT GLOBAL DEFAULT 4 BPF.JT.0.0
5: 0000000000000000 4 OBJECT GLOBAL DEFAULT 6 ret_user
6: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND bar
7: 00000000000000f0 256 OBJECT GLOBAL DEFAULT 4 BPF.JT.0.1
and
[ 4] .jumptables PROGBITS 0000000000000000 0001c8 0001f0 00 0 0 1
```
Note that for the above example, `-mllvm -bpf-min-jump-table-entries=5`
should be in compilation flags as the current default
bpf-min-jump-table-entries is 13. For example.
```
clang --target=bpf -mcpu=v4 -O2 -mllvm -bpf-min-jump-table-entries=5 -S -g test.c
```
For computed goto like
```
int foo(int a, int b) {
__label__ l1, l2, l3, l4;
void *jt1[] = {[0]=&&l1, [1]=&&l2};
void *jt2[] = {[0]=&&l3, [1]=&&l4};
int ret = 0;
goto *jt1[a % 2];
l1: ret += 1;
l2: ret += 3;
goto *jt2[b % 2];
l3: ret += 5;
l4: ret += 7;
return ret;
}
```
The final binary:
```
12: bf 23 20 00 00 00 00 00 r3 = (s32)r2
13: 67 03 00 00 03 00 00 00 r3 <<= 0x3
14: 18 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r2 = 0x0 ll
0000000000000070: R_BPF_64_64 BPF.JT.0.0
16: 0f 32 00 00 00 00 00 00 r2 += r3
17: bf 11 20 00 00 00 00 00 r1 = (s32)r1
18: 67 01 00 00 03 00 00 00 r1 <<= 0x3
19: 18 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r3 = 0x0 ll
0000000000000098: R_BPF_64_64 BPF.JT.0.1
21: 0f 13 00 00 00 00 00 00 r3 += r1
[ 4] .jumptables PROGBITS 0000000000000000 000160 000020 00 0 0 1
4: 0000000000000000 16 OBJECT GLOBAL DEFAULT 4 BPF.JT.0.0
5: 0000000000000010 16 OBJECT GLOBAL DEFAULT 4 BPF.JT.0.1
```
A more complicated test with both switch-statement triggered jump table
and compute gotos:
```
$ cat test3.c
struct simple_ctx {
int x;
int y;
int z;
};
int ret_user, ret_user2;
void bar(void);
int foo(struct simple_ctx *ctx, struct simple_ctx *ctx2, int a, int b)
{
__label__ l1, l2, l3, l4;
void *jt1[] = {[0]=&&l1, [1]=&&l2};
void *jt2[] = {[0]=&&l3, [1]=&&l4};
int ret = 0;
goto *jt1[a % 2];
l1: ret += 1;
l2: ret += 3;
goto *jt2[b % 2];
l3: ret += 5;
l4: ret += 7;
bar();
switch (ctx->x) {
case 1: ret_user = 18; break;
case 20: ret_user = 6; break;
case 16: ret_user = 9; break;
case 6: ret_user = 16; break;
case 8: ret_user = 14; break;
case 30: ret_user = 2; break;
default: ret_user = 1; break;
}
return ret;
}
```
Compile with
```
clang --target=bpf -mcpu=v4 -O2 -S test3.c
clang --target=bpf -mcpu=v4 -O2 -c test3.c
```
The binary:
```
/* For computed goto */
13: bf 42 20 00 00 00 00 00 r2 = (s32)r4
14: 67 02 00 00 03 00 00 00 r2 <<= 0x3
15: 18 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r1 = 0x0 ll
0000000000000078: R_BPF_64_64 BPF.JT.0.1
17: 0f 21 00 00 00 00 00 00 r1 += r2
18: bf 32 20 00 00 00 00 00 r2 = (s32)r3
19: 67 02 00 00 03 00 00 00 r2 <<= 0x3
20: 18 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r3 = 0x0 ll
00000000000000a0: R_BPF_64_64 BPF.JT.0.2
22: 0f 23 00 00 00 00 00 00 r3 += r2
/* For switch statement */
39: 67 01 00 00 03 00 00 00 r1 <<= 0x3
40: 18 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r2 = 0x0 ll
0000000000000140: R_BPF_64_64 BPF.JT.0.0
42: 0f 12 00 00 00 00 00 00 r2 += r1
```
You can see jump table symbols are all different.
Commit: 1327288324c5084a6f09100fa78f2e084836a282
https://github.com/llvm/llvm-project/commit/1327288324c5084a6f09100fa78f2e084836a282
Author: Alexey Karyakin <akaryaki at quicinc.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
A llvm/test/CodeGen/Hexagon/vsubsat.ll
Log Message:
-----------
[Hexagon] Lowering saturating subtraction (#158726)
Saturating arithmetic can be expressed by llvm.uadd/usub.sat generic
intrinsics.
Commit: b22448c9ba90efb3a2a6a7bdb8ffeeee9fcabb62
https://github.com/llvm/llvm-project/commit/b22448c9ba90efb3a2a6a7bdb8ffeeee9fcabb62
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/lib/Target/PowerPC/PPCInstrFuture.td
A llvm/test/CodeGen/PowerPC/vsx-ldst-with-length.ll
Log Message:
-----------
[PowerPC] Add intrinsic definition for load and store with Right Length Left-justified (#148873)
Commit: e75e28ad3c9558c2cca32cd16cd5681b5219ff8d
https://github.com/llvm/llvm-project/commit/e75e28ad3c9558c2cca32cd16cd5681b5219ff8d
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M flang/include/flang/Parser/openmp-utils.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-omp.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/rewrite-parse-tree.cpp
M flang/test/Parser/OpenMP/bind-clause.f90
M flang/test/Parser/OpenMP/declare-reduction-multi.f90
M flang/test/Parser/OpenMP/declare-reduction-unparse.f90
M flang/test/Parser/OpenMP/do-tile-size.f90
M flang/test/Parser/OpenMP/doacross-clause.f90
M flang/test/Parser/OpenMP/if-clause.f90
M flang/test/Parser/OpenMP/in-reduction-clause.f90
M flang/test/Parser/OpenMP/lastprivate-clause.f90
M flang/test/Parser/OpenMP/linear-clause.f90
M flang/test/Parser/OpenMP/loop-transformation-construct01.f90
M flang/test/Parser/OpenMP/loop-transformation-construct02.f90
M flang/test/Parser/OpenMP/loop-transformation-construct03.f90
M flang/test/Parser/OpenMP/masked-unparse.f90
M flang/test/Parser/OpenMP/master-unparse.f90
M flang/test/Parser/OpenMP/order-clause01.f90
M flang/test/Parser/OpenMP/ordered-depend.f90
M flang/test/Parser/OpenMP/reduction-modifier.f90
M flang/test/Parser/OpenMP/target-loop-unparse.f90
M flang/test/Parser/OpenMP/taskloop.f90
M flang/test/Parser/OpenMP/tile-size.f90
M flang/test/Parser/OpenMP/tile.f90
M flang/test/Parser/OpenMP/transparent-clause.f90
M flang/test/Parser/OpenMP/unroll-full.f90
M flang/test/Parser/OpenMP/unroll-heuristic.f90
M flang/test/Parser/OpenMP/unroll-partial.f90
M flang/test/Semantics/OpenMP/simd-only.f90
Log Message:
-----------
[flang][OpenMP] Use OmpDirectiveSpecification in Omp[Begin|End]LoopDi… (#159087)
…rective
This makes accessing directive components, such as directive name or the
list of clauses simpler and more uniform across different directives. It
also makes the parser simpler, since it reuses existing parsing
functionality.
The changes are scattered over a number of files, but they all share the
same nature:
- getting the begin/end directive from OpenMPLoopConstruct,
- getting the llvm::omp::Directive enum, and the source location,
- getting the clause list.
Commit: 0cf668889823e7dc526b0b3039c22452f61538f2
https://github.com/llvm/llvm-project/commit/0cf668889823e7dc526b0b3039c22452f61538f2
Author: Fangrui Song <i at maskray.me>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParserExtension.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/MC/MCParser/WasmAsmParser.cpp
A llvm/test/CodeGen/X86/symbol-name.ll
M llvm/test/MC/ELF/cgprofile.s
M llvm/test/MC/ELF/symbol-names.s
Log Message:
-----------
MC: Better handle backslash-escaped symbols (#158780)
The MCContext::getOrCreateSymbol change in #138817 was a workaround.
With #158106, we can replace `getOrCreateSymbol` with `parseSymbol`, in
llvm/lib/MC/MCParser to handle backslash-escaped symbols.
Commit: 4be1099607c97b9f28cd30d56149e7c6428c216c
https://github.com/llvm/llvm-project/commit/4be1099607c97b9f28cd30d56149e7c6428c216c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
M llvm/test/Transforms/CodeGenPrepare/unfold-pow2-test-vec.ll
Log Message:
-----------
[RISCV] Improve fixed vector handling in isCtpopFast. (#158380)
Previously we considered fixed vectors fast if Zvbb or Zbb is
enabled. Zbb only helps if the vector type will end up being
scalarized.
Commit: ba5ca37f40b82e287a3e0469fb0f0ea48b651aca
https://github.com/llvm/llvm-project/commit/ba5ca37f40b82e287a3e0469fb0f0ea48b651aca
Author: John Harrison <harjohn at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M lldb/source/Host/common/Socket.cpp
M lldb/tools/lldb-mcp/lldb-mcp.cpp
Log Message:
-----------
[lldb-mcp] Launch lldb on demand, if needed. (#158701)
Adding support for launching lldb with `-O protocol start MCP` if a
valid ~/.lldb/lldb-mcp-*.json` file is not found.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 371048ef220719a5aa89ba5cf05cc212e659af40
https://github.com/llvm/llvm-project/commit/371048ef220719a5aa89ba5cf05cc212e659af40
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/docs/Dialects/SPIR-V.md
Log Message:
-----------
[mlir][spirv][nfc] Update documentation to describe the testing strategy (#158962)
Commit: d0c0986387b333589951c29e2b5205d08c67c668
https://github.com/llvm/llvm-project/commit/d0c0986387b333589951c29e2b5205d08c67c668
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/test/python/CMakeLists.txt
Log Message:
-----------
[MLIR][Python] add `not` to `MLIR_PYTHON_TEST_DEPENDS` (#159124)
[lit complains if these aren't
found](https://github.com/llvm/llvm-project/blob/95fc948c0a07953ae9d0973854336e197e36d349/llvm/utils/lit/lit/llvm/config.py#L466-L482)
(even if they're not used by a test...) so make sure to include all of
them in `MLIR_PYTHON_TEST_DEPENDS`.
Commit: 55e6b3260dcb2b2131317516bf63cc81bd9f5bed
https://github.com/llvm/llvm-project/commit/55e6b3260dcb2b2131317516bf63cc81bd9f5bed
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn
Log Message:
-----------
[gn build] Port c3fb2e1cee95
Commit: 7bc91f3580836c13cfcf511147585a5f2f00a7f5
https://github.com/llvm/llvm-project/commit/7bc91f3580836c13cfcf511147585a5f2f00a7f5
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/test/Driver/DTLTO/dtlto.c
M clang/test/Driver/DTLTO/ps5-dtlto.c
Log Message:
-----------
[DTLTO][TEST] XFAIL Clang driver tests for Multicall toolchains (#159129)
Previously I masked issues with Multicall + DTLTO (see #148908) due to
an incomplete understanding of how the Multicall toolchain works.
This patch reverts those incorrect changes and instead marks the
affected tests XFAIL when running under Multicall.
Issue #159125 tracks fixing DTLTO with Multicall.
Commit: 40f2da5c04042dcf6ae8dfc757d31a32da7f329e
https://github.com/llvm/llvm-project/commit/40f2da5c04042dcf6ae8dfc757d31a32da7f329e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
Log Message:
-----------
[RISCV] Add hasREV8Like helper to RISCVSubtarget. NFC (#158775)
Commit: f209d63b042e3b3455b67ecb08908135dd9d31fe
https://github.com/llvm/llvm-project/commit/f209d63b042e3b3455b67ecb08908135dd9d31fe
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
M llvm/test/CodeGen/PowerPC/mma-intrinsics.ll
Log Message:
-----------
[SelectionDAGBuilder][PPC] Use getShiftAmountConstant. (#158400)
The PowerPC changes are caused by shifts created by different IR
operations being CSEd now. This allows consecutive loads to be turned
into vectors earlier. This has effects on the ordering of other combines
and legalizations. This leads to some improvements and some regressions.
Commit: 198ea2332584bf838a893522b870e1bf033ce7a4
https://github.com/llvm/llvm-project/commit/198ea2332584bf838a893522b870e1bf033ce7a4
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[CAS] Disable OnDiskCAS build on Solaris (#159122)
OnDiskCAS implementation receives error `No record locks available`
on Solaris. Disable building on Solaris for now to fix buildbot failure.
Commit: b8efe1c64746e832bc3313ec2f6a23f09f2d2dd9
https://github.com/llvm/llvm-project/commit/b8efe1c64746e832bc3313ec2f6a23f09f2d2dd9
Author: Vy Nguyen <vyng at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/test/Driver/clang_f_opts.c
Log Message:
-----------
[clang][nfc] Fix tests to avoid writing output to unreachable location (#159138)
Note: this was originally done in (#158698) but was reverted in the
pr/158844 (which re-applied the original rev)
Commit: b76dc2b9ba7d402d1c9909b87322f2b0008ce3a6
https://github.com/llvm/llvm-project/commit/b76dc2b9ba7d402d1c9909b87322f2b0008ce3a6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M libc/src/__support/CPP/simd.h
M libc/src/__support/CPP/type_traits/is_unsigned.h
M libc/src/string/memory_utils/generic/inline_strlen.h
M libc/test/src/__support/CPP/simd_test.cpp
Log Message:
-----------
[libc] Clean up mask helpers after allowing implicit conversions (#158681)
Summary:
I landed a change in clang that allows integral vectors to implicitly
convert to boolean ones. This means I can simplify the interface and
remove the need to cast to bool on every use. Also do some other
cleanups of the traits.
Commit: 0648c5183f3202060862cd6cba8e6f2395052929
https://github.com/llvm/llvm-project/commit/0648c5183f3202060862cd6cba8e6f2395052929
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/branch-relax-indirect-branch.mir
M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir
M llvm/test/CodeGen/AMDGPU/coalescer-early-clobber-subreg.mir
M llvm/test/CodeGen/AMDGPU/dst-sel-hazard.mir
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx10.mir
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx8.mir
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx9.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
M llvm/test/CodeGen/AMDGPU/rename-independent-subregs.mir
M llvm/test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mir
M llvm/test/CodeGen/AMDGPU/sched-handleMoveUp-subreg-def-across-subreg-def.mir
M llvm/test/CodeGen/AMDGPU/subreg-undef-def-with-other-subreg-defs.mir
Log Message:
-----------
AMDGPU: Fix some broken regclass numbers in mir tests (#159102)
Commit: 9e9edb583400ffc647622445459d700d0ad61b3d
https://github.com/llvm/llvm-project/commit/9e9edb583400ffc647622445459d700d0ad61b3d
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/CAS/OnDiskCommon.cpp
Log Message:
-----------
[CAS] Fix build for older macOS SDK (before 13.0) (#159133)
Fix a build failure and back-deployment problem for macOS before 13.0.
Commit: 3c4ab4fdefcbd34106163899d7e2914246328616
https://github.com/llvm/llvm-project/commit/3c4ab4fdefcbd34106163899d7e2914246328616
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaConvertIntegerTypeToSignless.cpp
M mlir/test/Dialect/Tosa/tosa-convert-integer-type-to-signless.mlir
Log Message:
-----------
[mlir][tosa] Handle unsigned constants in `TosaConvertIntegerTypeToSignless` (#156483)
This commit fixes handling of unsigned constant data in the
`TosaConvertIntegerTypeToSignless` pass. Previously, the type of the
"values" attribute would remain unsigned, which caused an error in the
const ops verifier:
```
error: 'tosa.const' op expected same attr/result element types
%input_zp = "tosa.const"() {values = dense<17> : tensor<1xui8>} : () -> tensor<1xui8>
^
note: see current operation: %0 = "tosa.const"() <{values = dense<17> : tensor<1xui8>}> : () -> tensor<1xi8>
```
Now the constant data in "values" is transformed to signless as well.
Commit: 181979822743ddaf4c197e1587c0c89b5f4240a4
https://github.com/llvm/llvm-project/commit/181979822743ddaf4c197e1587c0c89b5f4240a4
Author: Druzhkov Sergei <serzhdruzhok at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/README.md
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Add stdio redirection (#158609)
As far as I understand, lldb-dap does not currently support stdio
redirection. I have added support for this via a new field in the launch
configuration named `stdio`. It was inspired by the same named field in
[CodeLLDB](https://github.com/vadimcn/codelldb/blob/master/MANUAL.md#stdio-redirection).
Commit: f854009307d3f3750d3358510ef632571683acb5
https://github.com/llvm/llvm-project/commit/f854009307d3f3750d3358510ef632571683acb5
Author: Akhil Goel <akhil.goel at intel.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
Log Message:
-----------
[mlir][arith][NFC] Minor Revisions to Comments (#158757)
This is a minor nitpick PR to fix a few comments.
Commit: 46fd8d0db2f7f7361823efae067edddb6acc237c
https://github.com/llvm/llvm-project/commit/46fd8d0db2f7f7361823efae067edddb6acc237c
Author: Amit Kumar Pandey <pandey.kumaramit2023 at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M compiler-rt/lib/dfsan/dfsan.cpp
M compiler-rt/lib/fuzzer/FuzzerCorpus.h
M compiler-rt/lib/fuzzer/FuzzerDriver.cpp
M compiler-rt/lib/fuzzer/FuzzerLoop.cpp
M compiler-rt/lib/hwasan/hwasan_report.cpp
Log Message:
-----------
Reapply "[NFC] Fix CodeQL violations in compiler-rt. (#157793)" (#157913) (#159097)
Fix below buildbot failure.
```
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:172:42: error: use of undeclared identifier 'uint'
172 | Printf("Flag: %s %u\n", Name, (uint)Val);
```
Replace uint with uint32_t cast.
This reverts commit 8062b166762b51f1c3a9168e7031babde3e330a8.
Commit: fd59fd563f342c8900b0d6ff5039741cb263b6ed
https://github.com/llvm/llvm-project/commit/fd59fd563f342c8900b0d6ff5039741cb263b6ed
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll
M llvm/test/CodeGen/AMDGPU/coalesce-copy-to-agpr-to-av-registers.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-copy-from.mir
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-subreg-insert-extract.mir
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-subreg-src2-chain.mir
M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_isel.ll.expected
Log Message:
-----------
[AMDGPU] Add aperture classes to VS_64 (#158823)
Should not do anything.
Commit: 90d96b3e9c90cccefe1c1af75b57de1b8e248c42
https://github.com/llvm/llvm-project/commit/90d96b3e9c90cccefe1c1af75b57de1b8e248c42
Author: Druzhkov Sergei <serzhdruzhok at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[NFC][lldb-dap] Fix typo in invalidated event (#158338)
Fixed a typo in the `invalidated` event according to
[DAP](https://microsoft.github.io/debug-adapter-protocol/specification#Events_Invalidated)
specification. While the field is `frameId` elsewhere, it must be
`stackFrameId` in this event.
Commit: dd56becdbc31cce16973172f0a447207ddf67861
https://github.com/llvm/llvm-project/commit/dd56becdbc31cce16973172f0a447207ddf67861
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/CAS/MappedFileRegionArena.cpp
Log Message:
-----------
[CAS] Fix alignment error from MappedFileRegionArena (#159128)
Fix a bug that when an alignment error can happen when reading a slice
of file from existing MappedFileRegionArena.
Commit: e24f90190c772b6fdd915cd0a2e55cbd468c3024
https://github.com/llvm/llvm-project/commit/e24f90190c772b6fdd915cd0a2e55cbd468c3024
Author: Brad Smith <brad at comstyle.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/lib/Driver/ToolChains/FreeBSD.h
M clang/test/Driver/aarch64-features.c
Log Message:
-----------
[Driver] Enable outline atomics for FreeBSD/aarch64 (#156089)
Commit: f74583fbe8f4aed755a8c0882cb40cd629e0d598
https://github.com/llvm/llvm-project/commit/f74583fbe8f4aed755a8c0882cb40cd629e0d598
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[offload] Fix build with debug libomptarget (#159144)
Currently get this error
```
offload/plugins-nextgen/common/src/PluginInterface.cpp:859:63: error: member reference type 'StringRef' is not a pointer; did you mean to use '.'?
```
We pass the full image binary now so we can't really print anything
useful here.
Seems introduced in https://github.com/llvm/llvm-project/pull/158748.
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 7779882b4d27c231fbadc718734d5fc44bb44629
https://github.com/llvm/llvm-project/commit/7779882b4d27c231fbadc718734d5fc44bb44629
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll
Log Message:
-----------
[DA] Add option to run only SIV routines (#157084)
This patch introduces a new option, `da-run-siv-routines-only`, which
runs only the SIV family routines in the DA. This is useful for testing
(regression tests, not dependence tests) as it helps detect behavioral
changes in the SIV routines. Actually, regarding the test cases added in
#157085, fixing the incorrect result requires changes across multiple
functions (at a minimum, `exactSIVtest`, `gcdMIVtest` and
`symbolicRDIVtest`). It is difficult to address all of them at once.
This patch also generates the CHECK directives using the new option for
`ExactSIV.ll` as it is necessary for subsequent patches. However, I
believe it will also be useful for other `xxSIV.ll` tests. Notably, the
SIV family routines tend to be affected by other routines, as they are
typically invoked at the beginning of the overall analysis.
Commit: 95388b2f2370d02fbe0b3c191470714edc179e44
https://github.com/llvm/llvm-project/commit/95388b2f2370d02fbe0b3c191470714edc179e44
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/invalid.mlir
Log Message:
-----------
[OpenACC] verify acc:DataOp operand not BlockArgument (#159148)
Similar to #158095, check that the operand of acc::DataOp is not a
BlockArgument before trying to get its defining operation so it will not
segfault and instead produce a clean error.
Commit: 027bccc4692923d0f1ba3d4d970071f747c2255c
https://github.com/llvm/llvm-project/commit/027bccc4692923d0f1ba3d4d970071f747c2255c
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/IR/GlobalObject.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
M llvm/unittests/IR/CMakeLists.txt
A llvm/unittests/IR/GlobalObjectTest.cpp
Log Message:
-----------
[NFCI][Globals] In GlobalObjects::setSectionPrefix, do conditional update if existing prefix is not equivalent to the new one. Returns whether prefix changed. (#158460)
Before this change, `setSectionPrefix` overwrites existing section
prefix with new one unconditionally.
After this change, `setSectionPrefix` checks for equivalences, updates
conditionally and returns whether an update happens.
Update the existing callers to make use of the return value. [PR
155337](https://github.com/llvm/llvm-project/pull/155337/files#diff-cc0c67ac89807f4453f0cfea9164944a4650cd6873a468a0f907e7158818eae9)
is a motivating use case whether the 'update' semantic is needed.
Commit: 32203e64455a722b89e1813e9d56870bb0a8dcf5
https://github.com/llvm/llvm-project/commit/32203e64455a722b89e1813e9d56870bb0a8dcf5
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll
Log Message:
-----------
[DA] Add test where ExactSIV misses dependency due to overflow (NFC) (#157085)
This patch adds test cases where DA fails to detect dependencies due to
overflow during analysis. For now, they are added to `ExactSIV.ll`, but
`symbolicRDIVtest` and `gcdMIVtest` also exhibit similar issues and will
need to be fixed as well.
Commit: e07af8cbbfa2bd67c655e44ce648ede91a6ef8c7
https://github.com/llvm/llvm-project/commit/e07af8cbbfa2bd67c655e44ce648ede91a6ef8c7
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/include/clang/Sema/HeuristicResolver.h
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
Log Message:
-----------
[clang][HeuristicResolver] Use HeuristicResolver to implement getApproximateType() in SemaCodeComplete (#156282)
This patch ports over the remaining functionality present in
SemaCodeComplete's getApproximateType() but not in HeuristicResolver,
into HeuristicResolver, and uses HeuristicResolver to reimplement
getApproximateType().
This has the effect of enhancing both code completion (which now
benefit from the full range of HeuristicResolver's capabilities), and
existing consumers of HeuristicResolver like clangd's go-to-definition
whose behaviour now has parity with code completion.
Fixes https://github.com/clangd/clangd/issues/2432
Commit: 81c55e67ad7d42afafd3952fa39af3aaaea6a9ba
https://github.com/llvm/llvm-project/commit/81c55e67ad7d42afafd3952fa39af3aaaea6a9ba
Author: Hiroshi Yamauchi <56735936+hjyamauchi at users.noreply.github.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Support/Windows/Program.inc
M llvm/unittests/Support/ProgramTest.cpp
Log Message:
-----------
Fix ExecuteAndWait with empty environment on Windows (#158719)
CreateProcessW requires that the environemnt block to be always double
null-terminated even with an empty environemnt.
https://learn.microsoft.com/en-us/windows/win32/procthread/environment-variables
The attached test fails this way without the fix.
C:\Users\hiroshi\upstream\llvm-project\llvm\unittests\Support\ProgramTest.cpp(697):
error: Value of: ExecutionFailed
Actual: true
Expected: false
Couldn't execute program
'C:\Users\hiroshi\upstream\llvm-project\build\unittests\Support\SupportTests.exe':
The parameter is incorrect. (0x57)
Commit: 26549262b3b7ad265d25586be4dca38d37d26069
https://github.com/llvm/llvm-project/commit/26549262b3b7ad265d25586be4dca38d37d26069
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/AST.h
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExpandDeducedType.cpp
M clang-tools-extra/clangd/unittests/ASTTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExpandDeducedTypeTests.cpp
Log Message:
-----------
[clangd] Use HeuristicResolver to try to resolve dependent 'auto' (#156283)
Fixes https://github.com/clangd/clangd/issues/2431
Commit: b7bf9dd9ae20aacf2f82b14c08c7316a588ba90c
https://github.com/llvm/llvm-project/commit/b7bf9dd9ae20aacf2f82b14c08c7316a588ba90c
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/MC/MCDwarf.cpp
M llvm/test/DebugInfo/X86/DW_AT_LLVM_stmt_seq_sec_offset.ll
M llvm/test/MC/ELF/debug-loc-label.s
Log Message:
-----------
Reapply "[DebugLine] Correct debug line emittion" (#158343) (#158379)
This reverts commit aabf18d7184298566993e3141606cd79ff617d2d.
#157529 included a test that used clang, which doesn't exists in some
CI. #158343 reverts it.
This PR reapplies the original patch with the incorrect test removed.
### Context
#99710 introduced `.loc_label` so we can terminate a line sequence.
However, it did not advance PC properly. This is problematic for
1-instruction functions as it will have zero-length sequence. The test
checked in that PR shows the problem:
```
# CHECK-LINE-TABLE: Address Line Column File ISA Discriminator OpIndex Flags
# CHECK-LINE-TABLE-NEXT: ------------------ ------ ------ ------ --- ------------- ------- -------------
# CHECK-LINE-TABLE-NEXT: 0x00000028: 05 DW_LNS_set_column (1)
# CHECK-LINE-TABLE-NEXT: 0x0000002a: 00 DW_LNE_set_address (0x0000000000000000)
# CHECK-LINE-TABLE-NEXT: 0x00000035: 01 DW_LNS_copy
# CHECK-LINE-TABLE-NEXT: 0x0000000000000000 1 1 1 0 0 0 is_stmt
# CHECK-LINE-TABLE-NEXT: 0x00000036: 00 DW_LNE_end_sequence
# CHECK-LINE-TABLE-NEXT: 0x0000000000000000 1 1 1 0 0 0 is_stmt end_sequence
```
Both rows having PC 0x0 is incorrect, and parsers won't be able to parse
them. See more explanation why this is wrong in #154851.
### Design
This PR attempts to fix this by advancing the PC to the next available
Label, and advance to the end of the section if no Label is available.
### Implementation
- `emitDwarfLineEndEntry` will advance PC to the `CurrLabel`
- If `CurrLabel` is null, its probably a fake LineEntry we introduced in
#110192. In that case look for the next Label
- If still not label can be found, use `null` and
`emitDwarfLineEndEntry` is smart enough to advance PC to the end of the
section
- Rename `LastLabel` to `PrevLabel`, "last" can mean "previous" or
"final", this is ambigous.
- Updated the tests to emit a correct label.
### Note
This fix should render #154986 and #154851 obsolete, they were temporary
fixes and don't resolve the root cause.
Commit: 2d8782766cffd8f72884e794f8a4dafcb0971b97
https://github.com/llvm/llvm-project/commit/2d8782766cffd8f72884e794f8a4dafcb0971b97
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
Log Message:
-----------
[clangd] Show type hint for simple cases of dependent 'auto' (#156284)
Fixes https://github.com/clangd/clangd/issues/2275
Commit: 480ad3d86818f76ed80060ccdcff03b14d1557b1
https://github.com/llvm/llvm-project/commit/480ad3d86818f76ed80060ccdcff03b14d1557b1
Author: David Pagan <dave.pagan at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/OpenMPKinds.def
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/target_defaultmap_codegen_03.cpp
M clang/test/OpenMP/target_defaultmap_messages.cpp
Log Message:
-----------
[clang][OpenMP] 6.0: Add defaultmap implicit-behavior 'private' (#158712)
Per OpenMP 6.0 specification, section 7.9.9
Argument keywords, page 291, L17
Semantics, page 292, L15-16
The behavior of 'private' should be described in the same manner as that
of 'firstprivate'
15 ... If implicit-behavior is firstprivate, 16 the attribute is a
data-sharing attribute of firstprivate.
Relevant OpenMP 6.0 issues
defaultmap clause new implicit-behavior 'private' should be documented
https://github.com/OpenMP/spec/issues/4571
Issue 4571: Add missing sentence about private to defaultmap
https://github.com/OpenMP/spec/pull/4577
Testing:
Updated 'defaultmap' error message and codegen LIT tests to verify
behavior of 'private' in OpenMP 6.0.
Commit: 081fe1d517f13f204ff06f50cb68fb6508dba0d7
https://github.com/llvm/llvm-project/commit/081fe1d517f13f204ff06f50cb68fb6508dba0d7
Author: Kim Gräsman <kim.grasman at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/include/clang/AST/Type.h
Log Message:
-----------
Add IWYU export pragma to Type.h (#159154)
According to 249167a8982afc3f55237baf1532c5c8ebd850b3, users are
expected to include Type.h, which acts as a facade header for
TypeBase.h.
Add an IWYU export pragma to help IWYU reason about the relationship.
Commit: 158eeb344b22eb29591aa7883c40b9a85c988565
https://github.com/llvm/llvm-project/commit/158eeb344b22eb29591aa7883c40b9a85c988565
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scale.pk.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] Change `scale_sel` to be 4 bits (#157900)
The latest SP changes updated it to use `OP_SEL[0:3]` instead of
`OP_SEL[0:2]`.
Fixes SWDEV-554472.
Commit: 8122ccdca9dd38d15927ba35d2c13fec1160320e
https://github.com/llvm/llvm-project/commit/8122ccdca9dd38d15927ba35d2c13fec1160320e
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/dereferenceable-declaration.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-abi-attribute-hints.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-sibling-call.ll
M llvm/test/CodeGen/AMDGPU/amdhsa-kernarg-preload-num-sgprs.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll
M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
M llvm/test/CodeGen/AMDGPU/call-waitcnt.ll
M llvm/test/CodeGen/AMDGPU/elf-notes.ll
M llvm/test/CodeGen/AMDGPU/gfx11-user-sgpr-init16-bug.ll
M llvm/test/CodeGen/AMDGPU/hsa.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.id.ll
M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
M llvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.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/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
Log Message:
-----------
[AMDGPU] Set TGID_EN_X/Y/Z when cluster ID intrinsics are used (#159120)
Hardware initializes a single value in ttmp9 which is either the
workgroup ID X or cluster ID X. Most of this patch is a refactoring to
use a single `PreloadedValue` enumerator for this value, instead of two
enumerators `WORKGROUP_ID_X` and `CLUSTER_ID_X` referring to the same
value.
This makes it simpler to have a single attribute
`amdgpu-no-workgroup-id-x` indicating that this value is not used, which
in turns sets the TGID_EN_X bit appropriately to tell the hardware
whether to initialize it.
All of the above applies to Y and Z similarly.
Fixes: LWPSCGFX13-568
Co-authored-by: Jay Foad <jay.foad at amd.com>
Commit: 20d4e5cb8c51dc191e06554dd0d0def84a9edd0a
https://github.com/llvm/llvm-project/commit/20d4e5cb8c51dc191e06554dd0d0def84a9edd0a
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
R llvm/test/MC/WebAssembly/tag-section-decoding.ll
A llvm/test/MC/WebAssembly/tag-section-decoding.s
R llvm/test/MC/WebAssembly/tag-section.ll
A llvm/test/MC/WebAssembly/tag-section.s
Log Message:
-----------
[MC][WebAssembly] Convert tag section tests to assembly. NFC (#159141)
This avoids relying on higher level llvm internals such as the
well-known `__cpp_exception` tag but otherwise the tests remain
essentially unchanged.
Commit: 9277bcd1ab83fbfecfaaa5e15f3821808c5a6e38
https://github.com/llvm/llvm-project/commit/9277bcd1ab83fbfecfaaa5e15f3821808c5a6e38
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/IR/GlobalObject.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
M llvm/unittests/IR/CMakeLists.txt
R llvm/unittests/IR/GlobalObjectTest.cpp
Log Message:
-----------
Revert "[NFCI][Globals] In GlobalObjects::setSectionPrefix, do conditional update if existing prefix is not equivalent to the new one. Returns whether prefix changed." (#159159)
Reverts llvm/llvm-project#158460 due to buildbot failures
Commit: ca8c5ef26243830a8d18d0d6ef1b514ab28efa8d
https://github.com/llvm/llvm-project/commit/ca8c5ef26243830a8d18d0d6ef1b514ab28efa8d
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for readability-identifier-naming in OpenACC.cpp (NFC)
Commit: c24b8e92fcc3c9a638b274cbd12d50d40f14c17e
https://github.com/llvm/llvm-project/commit/c24b8e92fcc3c9a638b274cbd12d50d40f14c17e
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/test/Driver/DTLTO/dtlto.c
M clang/test/Driver/DTLTO/ps5-dtlto.c
Log Message:
-----------
[DTLTO][TEST] Loosen Clang driver test regexes to fix buildbots (#159158)
Make the test regexes more permissive to fix buildbot failures caused by
the merge of PR #159129. This mirrors the earlier fix in PR #148908. We
retain cross-project-test coverage to verify that the path content is
correct.
A follow-up will update the tests to robustly check the Clang executable
filename, likely along the lines of PR #159151.
Short-term unbreak to keep the buildbots green without reverting a chain
of commits.
Commit: 984be7c5a7e34857577093c74dd9270227c0f887
https://github.com/llvm/llvm-project/commit/984be7c5a7e34857577093c74dd9270227c0f887
Author: Martin Storsjö <martin at martin.st>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[CMake] Disable more noisy GCC warnings (#159044)
This disables the following very noisy warning:
In file included from /usr/include/c++/13/string:51,
from /usr/include/c++/13/bits/locale_classes.h:40,
from /usr/include/c++/13/bits/ios_base.h:41,
from /usr/include/c++/13/streambuf:43,
from /usr/include/c++/13/bits/streambuf_iterator.h:35,
from /usr/include/c++/13/iterator:66,
from ../include/llvm/ADT/ADL.h:13,
from ../include/llvm/ADT/DenseMap.h:17,
from ../lib/Transforms/Vectorize/VPlanAnalysis.h:12,
from ../lib/Transforms/Vectorize/VPlan.h:27,
from ../lib/Transforms/Vectorize/LoopVectorizationPlanner.h:27, from
../lib/Transforms/Vectorize/VPlanConstruction.cpp:14:
In static member function ‘static _Up* std::__copy_move<_IsMove, true,
std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp =
llvm::VPBlockBase*; _Up = llvm::VPBlockBase*; bool _IsMove = true]’,
inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove
= true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:506:30,
inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove
= true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:533:42,
inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove =
true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:540:31,
inlined from ‘_OI std::move(_II, _II, _OI) [with _II =
llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:665:38,
inlined from ‘llvm::SmallVectorImpl<T>&
llvm::SmallVectorImpl<T>::operator=(llvm::SmallVectorImpl<T>&&) [with T
= llvm::VPBlockBase*]’ at ../include/llvm/ADT/SmallVector.h:1071:25,
inlined from ‘llvm::SmallVector<T, N>& llvm::SmallVector<T,
N>::operator=(llvm::SmallVector<T, N>&&) [with T = llvm::VPBlockBase*;
unsigned int N = 1]’ at ../include/llvm/ADT/SmallVector.h:1259:36,
inlined from ‘static void
llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&,
BatchUpdatePtr) [with DomTreeT =
llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’ at
../include/llvm/Support/GenericDomTreeConstruction.h:578:14:
/usr/include/c++/13/bits/stl_algobase.h:437:30: warning: ‘void*
__builtin_memmove(void*, const void*, long unsigned int)’ forming offset
24 is out of the bounds [0, 24] of object ‘<anonymous>’ with type
‘llvm::DomTreeBuilder::SemiNCAInfo<llvm::DominatorTreeBase<llvm::VPBlockBase,
false> >::RootsT’ {aka ‘llvm::SmallVector<llvm::VPBlockBase*, 1>’}
[-Warray-bounds=]
437 | __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from
../lib/Transforms/Vectorize/VPlanDominatorTree.h:23,
from ../lib/Transforms/Vectorize/VPlanConstruction.cpp:17:
../include/llvm/Support/GenericDomTreeConstruction.h: In static member
function ‘static void
llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&,
BatchUpdatePtr) [with DomTreeT =
llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’:
../include/llvm/Support/GenericDomTreeConstruction.h:578:25: note:
‘<anonymous>’ declared here
578 | DT.Roots = FindRoots(DT, PostViewBUI);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
In static member function ‘static _Up* std::__copy_move<_IsMove, true,
std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp =
llvm::VPBlockBase*; _Up = llvm::VPBlockBase*; bool _IsMove = true]’,
inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove
= true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:506:30,
inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove
= true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:533:42,
inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove =
true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:540:31,
inlined from ‘_OI std::move(_II, _II, _OI) [with _II =
llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:665:38,
inlined from ‘llvm::SmallVectorImpl<T>&
llvm::SmallVectorImpl<T>::operator=(llvm::SmallVectorImpl<T>&&) [with T
= llvm::VPBlockBase*]’ at ../include/llvm/ADT/SmallVector.h:1094:14,
inlined from ‘llvm::SmallVector<T, N>& llvm::SmallVector<T,
N>::operator=(llvm::SmallVector<T, N>&&) [with T = llvm::VPBlockBase*;
unsigned int N = 1]’ at ../include/llvm/ADT/SmallVector.h:1259:36,
inlined from ‘static void
llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&,
BatchUpdatePtr) [with DomTreeT =
llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’ at
../include/llvm/Support/GenericDomTreeConstruction.h:578:14:
/usr/include/c++/13/bits/stl_algobase.h:437:30: warning: ‘void*
__builtin_memmove(void*, const void*, long unsigned int)’ forming offset
24 is out of the bounds [0, 24] of object ‘<anonymous>’ with type
‘llvm::DomTreeBuilder::SemiNCAInfo<llvm::DominatorTreeBase<llvm::VPBlockBase,
false> >::RootsT’ {aka ‘llvm::SmallVector<llvm::VPBlockBase*, 1>’}
[-Warray-bounds=]
437 | __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/llvm/Support/GenericDomTreeConstruction.h: In static member
function ‘static void
llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&,
BatchUpdatePtr) [with DomTreeT =
llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’:
../include/llvm/Support/GenericDomTreeConstruction.h:578:25: note:
‘<anonymous>’ declared here
578 | DT.Roots = FindRoots(DT, PostViewBUI);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
In a regular build, there's currently 14 such warning instances, but
since they are so large and noisy, they are very disruptive, and they
don't seem to be an actual issue in the LLVM code base.
With the -Warray-bounds warning disabled, the build instead ends up with
9 similar warnings of the kind -Wstringop-overread:
In file included from /usr/include/c++/13/string:51,
from /usr/include/c++/13/bits/locale_classes.h:40,
from /usr/include/c++/13/bits/ios_base.h:41,
from /usr/include/c++/13/streambuf:43,
from /usr/include/c++/13/bits/streambuf_iterator.h:35,
from /usr/include/c++/13/iterator:66,
from ../include/llvm/ADT/ADL.h:13,
from ../include/llvm/ADT/DenseMap.h:17,
from ../lib/Transforms/Vectorize/VPlanAnalysis.h:12,
from ../lib/Transforms/Vectorize/VPlan.h:27,
from ../lib/Transforms/Vectorize/LoopVectorizationPlanner.h:27, from
../lib/Transforms/Vectorize/VPlanConstruction.cpp:14:
In static member function ‘static _Up* std::__copy_move<_IsMove, true,
std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp =
llvm::VPBlockBase*; _Up = llvm::VPBlockBase*; bool _IsMove = true]’,
inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove
= true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:506:30,
inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove
= true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:533:42,
inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove =
true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:540:31,
inlined from ‘_OI std::move(_II, _II, _OI) [with _II =
llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:665:38,
inlined from ‘llvm::SmallVectorImpl<T>&
llvm::SmallVectorImpl<T>::operator=(llvm::SmallVectorImpl<T>&&) [with T
= llvm::VPBlockBase*]’ at ../include/llvm/ADT/SmallVector.h:1071:25,
inlined from ‘llvm::SmallVector<T, N>& llvm::SmallVector<T,
N>::operator=(llvm::SmallVector<T, N>&&) [with T = llvm::VPBlockBase*;
unsigned int N = 1]’ at ../include/llvm/ADT/SmallVector.h:1259:36,
inlined from ‘static void
llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&,
BatchUpdatePtr) [with DomTreeT =
llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’ at
../include/llvm/Support/GenericDomTreeConstruction.h:578:14:
/usr/include/c++/13/bits/stl_algobase.h:437:30: warning: ‘void*
__builtin_memmove(void*, const void*, long unsigned int)’ reading
between 9 and 34359738360 bytes from a region of size 8
[-Wstringop-overread]
437 | __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from
../lib/Transforms/Vectorize/VPlanDominatorTree.h:23,
from ../lib/Transforms/Vectorize/VPlanConstruction.cpp:17:
../include/llvm/Support/GenericDomTreeConstruction.h: In static member
function ‘static void
llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&,
BatchUpdatePtr) [with DomTreeT =
llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’:
../include/llvm/Support/GenericDomTreeConstruction.h:578:25: note: at
offset 16 into source object ‘<anonymous>’ of size 24
578 | DT.Roots = FindRoots(DT, PostViewBUI);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
In static member function ‘static _Up* std::__copy_move<_IsMove, true,
std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp =
llvm::VPBlockBase*; _Up = llvm::VPBlockBase*; bool _IsMove = true]’,
inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove
= true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:506:30,
inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove
= true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:533:42,
inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove =
true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:540:31,
inlined from ‘_OI std::move(_II, _II, _OI) [with _II =
llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at
/usr/include/c++/13/bits/stl_algobase.h:665:38,
inlined from ‘llvm::SmallVectorImpl<T>&
llvm::SmallVectorImpl<T>::operator=(llvm::SmallVectorImpl<T>&&) [with T
= llvm::VPBlockBase*]’ at ../include/llvm/ADT/SmallVector.h:1094:14,
inlined from ‘llvm::SmallVector<T, N>& llvm::SmallVector<T,
N>::operator=(llvm::SmallVector<T, N>&&) [with T = llvm::VPBlockBase*;
unsigned int N = 1]’ at ../include/llvm/ADT/SmallVector.h:1259:36,
inlined from ‘static void
llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&,
BatchUpdatePtr) [with DomTreeT =
llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’ at
../include/llvm/Support/GenericDomTreeConstruction.h:578:14:
/usr/include/c++/13/bits/stl_algobase.h:437:30: warning: ‘void*
__builtin_memmove(void*, const void*, long unsigned int)’ reading
between 9 and 34359738352 bytes from a region of size 8
[-Wstringop-overread]
437 | __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/llvm/Support/GenericDomTreeConstruction.h: In static member
function ‘static void
llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&,
BatchUpdatePtr) [with DomTreeT =
llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’:
../include/llvm/Support/GenericDomTreeConstruction.h:578:25: note: at
offset 16 into source object ‘<anonymous>’ of size 24
578 | DT.Roots = FindRoots(DT, PostViewBUI);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
Disable both of these, as they are extremely spammy and seem to alert on
things that aren't an issue in LLVM.
Commit: 0df46c4f5a130d1c9046494bfab903a6c415a810
https://github.com/llvm/llvm-project/commit/0df46c4f5a130d1c9046494bfab903a6c415a810
Author: Martin Storsjö <martin at martin.st>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Revert "[CMake] Disable more noisy GCC warnings (#159044)"
This reverts commit 984be7c5a7e34857577093c74dd9270227c0f887.
Commit: 06aaa0e02fa008fe15d2b1873627e067a3c9db7d
https://github.com/llvm/llvm-project/commit/06aaa0e02fa008fe15d2b1873627e067a3c9db7d
Author: Martin Storsjö <martin at martin.st>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[CMake] Disable more noisy GCC warnings (#159044)
This disables the following very noisy warning:
In file included from /usr/include/c++/13/string:51,
from /usr/include/c++/13/bits/locale_classes.h:40,
from /usr/include/c++/13/bits/ios_base.h:41,
from /usr/include/c++/13/streambuf:43,
from /usr/include/c++/13/bits/streambuf_iterator.h:35,
from /usr/include/c++/13/iterator:66,
from ../include/llvm/ADT/ADL.h:13,
from ../include/llvm/ADT/DenseMap.h:17,
from ../lib/Transforms/Vectorize/VPlanAnalysis.h:12,
from ../lib/Transforms/Vectorize/VPlan.h:27,
from ../lib/Transforms/Vectorize/LoopVectorizationPlanner.h:27, from ../lib/Transforms/Vectorize/VPlanConstruction.cpp:14:
In static member function ‘static _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = llvm::VPBlockBase*; _Up = llvm::VPBlockBase*; bool _IsMove = true]’,
inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:506:30,
inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:533:42,
inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:540:31,
inlined from ‘_OI std::move(_II, _II, _OI) [with _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:665:38,
inlined from ‘llvm::SmallVectorImpl<T>& llvm::SmallVectorImpl<T>::operator=(llvm::SmallVectorImpl<T>&&) [with T = llvm::VPBlockBase*]’ at ../include/llvm/ADT/SmallVector.h:1071:25,
inlined from ‘llvm::SmallVector<T, N>& llvm::SmallVector<T, N>::operator=(llvm::SmallVector<T, N>&&) [with T = llvm::VPBlockBase*; unsigned int N = 1]’ at ../include/llvm/ADT/SmallVector.h:1259:36,
inlined from ‘static void llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&, BatchUpdatePtr) [with DomTreeT = llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’ at ../include/llvm/Support/GenericDomTreeConstruction.h:578:14:
/usr/include/c++/13/bits/stl_algobase.h:437:30: warning: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 24 is out of the bounds [0, 24] of object ‘<anonymous>’ with type ‘llvm::DomTreeBuilder::SemiNCAInfo<llvm::DominatorTreeBase<llvm::VPBlockBase, false> >::RootsT’ {aka ‘llvm::SmallVector<llvm::VPBlockBase*, 1>’} [-Warray-bounds=]
437 | __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../lib/Transforms/Vectorize/VPlanDominatorTree.h:23,
from ../lib/Transforms/Vectorize/VPlanConstruction.cpp:17:
../include/llvm/Support/GenericDomTreeConstruction.h: In static member function ‘static void llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&, BatchUpdatePtr) [with DomTreeT = llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’:
../include/llvm/Support/GenericDomTreeConstruction.h:578:25: note: ‘<anonymous>’ declared here
578 | DT.Roots = FindRoots(DT, PostViewBUI);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
In static member function ‘static _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = llvm::VPBlockBase*; _Up = llvm::VPBlockBase*; bool _IsMove = true]’,
inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:506:30,
inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:533:42,
inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:540:31,
inlined from ‘_OI std::move(_II, _II, _OI) [with _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:665:38,
inlined from ‘llvm::SmallVectorImpl<T>& llvm::SmallVectorImpl<T>::operator=(llvm::SmallVectorImpl<T>&&) [with T = llvm::VPBlockBase*]’ at ../include/llvm/ADT/SmallVector.h:1094:14,
inlined from ‘llvm::SmallVector<T, N>& llvm::SmallVector<T, N>::operator=(llvm::SmallVector<T, N>&&) [with T = llvm::VPBlockBase*; unsigned int N = 1]’ at ../include/llvm/ADT/SmallVector.h:1259:36,
inlined from ‘static void llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&, BatchUpdatePtr) [with DomTreeT = llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’ at ../include/llvm/Support/GenericDomTreeConstruction.h:578:14:
/usr/include/c++/13/bits/stl_algobase.h:437:30: warning: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 24 is out of the bounds [0, 24] of object ‘<anonymous>’ with type ‘llvm::DomTreeBuilder::SemiNCAInfo<llvm::DominatorTreeBase<llvm::VPBlockBase, false> >::RootsT’ {aka ‘llvm::SmallVector<llvm::VPBlockBase*, 1>’} [-Warray-bounds=]
437 | __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/llvm/Support/GenericDomTreeConstruction.h: In static member function ‘static void llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&, BatchUpdatePtr) [with DomTreeT = llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’:
../include/llvm/Support/GenericDomTreeConstruction.h:578:25: note: ‘<anonymous>’ declared here
578 | DT.Roots = FindRoots(DT, PostViewBUI);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
In a regular build, there's currently 14 such warning instances,
but since they are so large and noisy, they are very disruptive,
and they don't seem to be an actual issue in the LLVM code base.
With the -Warray-bounds warning disabled, the build instead ends
up with 9 similar warnings of the kind -Wstringop-overread:
In file included from /usr/include/c++/13/string:51,
from /usr/include/c++/13/bits/locale_classes.h:40,
from /usr/include/c++/13/bits/ios_base.h:41,
from /usr/include/c++/13/streambuf:43,
from /usr/include/c++/13/bits/streambuf_iterator.h:35,
from /usr/include/c++/13/iterator:66,
from ../include/llvm/ADT/ADL.h:13,
from ../include/llvm/ADT/DenseMap.h:17,
from ../lib/Transforms/Vectorize/VPlanAnalysis.h:12,
from ../lib/Transforms/Vectorize/VPlan.h:27,
from ../lib/Transforms/Vectorize/LoopVectorizationPlanner.h:27, from ../lib/Transforms/Vectorize/VPlanConstruction.cpp:14:
In static member function ‘static _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = llvm::VPBlockBase*; _Up = llvm::VPBlockBase*; bool _IsMove = true]’,
inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:506:30,
inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:533:42,
inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:540:31,
inlined from ‘_OI std::move(_II, _II, _OI) [with _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:665:38,
inlined from ‘llvm::SmallVectorImpl<T>& llvm::SmallVectorImpl<T>::operator=(llvm::SmallVectorImpl<T>&&) [with T = llvm::VPBlockBase*]’ at ../include/llvm/ADT/SmallVector.h:1071:25,
inlined from ‘llvm::SmallVector<T, N>& llvm::SmallVector<T, N>::operator=(llvm::SmallVector<T, N>&&) [with T = llvm::VPBlockBase*; unsigned int N = 1]’ at ../include/llvm/ADT/SmallVector.h:1259:36,
inlined from ‘static void llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&, BatchUpdatePtr) [with DomTreeT = llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’ at ../include/llvm/Support/GenericDomTreeConstruction.h:578:14:
/usr/include/c++/13/bits/stl_algobase.h:437:30: warning: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ reading between 9 and 34359738360 bytes from a region of size 8 [-Wstringop-overread]
437 | __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../lib/Transforms/Vectorize/VPlanDominatorTree.h:23,
from ../lib/Transforms/Vectorize/VPlanConstruction.cpp:17:
../include/llvm/Support/GenericDomTreeConstruction.h: In static member function ‘static void llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&, BatchUpdatePtr) [with DomTreeT = llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’:
../include/llvm/Support/GenericDomTreeConstruction.h:578:25: note: at offset 16 into source object ‘<anonymous>’ of size 24
578 | DT.Roots = FindRoots(DT, PostViewBUI);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
In static member function ‘static _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = llvm::VPBlockBase*; _Up = llvm::VPBlockBase*; bool _IsMove = true]’,
inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:506:30,
inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:533:42,
inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = true; _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:540:31,
inlined from ‘_OI std::move(_II, _II, _OI) [with _II = llvm::VPBlockBase**; _OI = llvm::VPBlockBase**]’ at /usr/include/c++/13/bits/stl_algobase.h:665:38,
inlined from ‘llvm::SmallVectorImpl<T>& llvm::SmallVectorImpl<T>::operator=(llvm::SmallVectorImpl<T>&&) [with T = llvm::VPBlockBase*]’ at ../include/llvm/ADT/SmallVector.h:1094:14,
inlined from ‘llvm::SmallVector<T, N>& llvm::SmallVector<T, N>::operator=(llvm::SmallVector<T, N>&&) [with T = llvm::VPBlockBase*; unsigned int N = 1]’ at ../include/llvm/ADT/SmallVector.h:1259:36,
inlined from ‘static void llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&, BatchUpdatePtr) [with DomTreeT = llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’ at ../include/llvm/Support/GenericDomTreeConstruction.h:578:14:
/usr/include/c++/13/bits/stl_algobase.h:437:30: warning: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ reading between 9 and 34359738352 bytes from a region of size 8 [-Wstringop-overread]
437 | __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/llvm/Support/GenericDomTreeConstruction.h: In static member function ‘static void llvm::DomTreeBuilder::SemiNCAInfo<DomTreeT>::CalculateFromScratch(DomTreeT&, BatchUpdatePtr) [with DomTreeT = llvm::DominatorTreeBase<llvm::VPBlockBase, false>]’:
../include/llvm/Support/GenericDomTreeConstruction.h:578:25: note: at offset 16 into source object ‘<anonymous>’ of size 24
578 | DT.Roots = FindRoots(DT, PostViewBUI);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~
Disable both of these, as they are extremely spammy and seem to
alert on things that aren't an issue in LLVM.
Commit: f15fbd1e9e90f0d639d7283c64ee08f9cd2d0e31
https://github.com/llvm/llvm-project/commit/f15fbd1e9e90f0d639d7283c64ee08f9cd2d0e31
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/vk_binding_attr.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/resources/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/resources/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/resources/resource-bindings.hlsl
M clang/test/CodeGenHLSL/static-local-ctor.hlsl
Log Message:
-----------
[HLSL] Use static create methods to initialize individual resources (#156544)
Use static methods `__createFromBinding` and `__createFromImplicitBinding` to initialize individual resources in Sema
HLSL instead of calling resource constructor with binding information per proposal update https://github.com/llvm/wg-hlsl/pull/336.
Initialization of resources in arrays will be updated in a separate change because that happens in the codegen layer.
Test updates include the use of the `llvm-cxxfilt` tool which takes care of demangling of function names for a more readable test baseline.
Commit: 8b3c91c4fb1b8efaccb71894684e4fb16b0e8945
https://github.com/llvm/llvm-project/commit/8b3c91c4fb1b8efaccb71894684e4fb16b0e8945
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/IR/GlobalObject.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
M llvm/unittests/IR/CMakeLists.txt
A llvm/unittests/IR/GlobalObjectTest.cpp
Log Message:
-----------
Re-apply "[NFCI][Globals] In GlobalObjects::setSectionPrefix, do conditional update if existing prefix is not equivalent to the new one. Returns whether prefix changed." (#159161)
This is a reland of https://github.com/llvm/llvm-project/pull/158460
Test failures are gone once I undo the changes in codegenprepare.
Commit: 4a094095a42d43ba8f7326efa3e9fdc9f03bc467
https://github.com/llvm/llvm-project/commit/4a094095a42d43ba8f7326efa3e9fdc9f03bc467
Author: Alan Li <me at alanli.org>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/MemRef/Transforms/FlattenMemRefs.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
A mlir/test/Dialect/Vector/flatten-memref-and-emulate-narrow-types.mlir
M mlir/test/lib/Dialect/MemRef/TestEmulateNarrowType.cpp
Log Message:
-----------
[MLIR] Make 1-D memref flattening a prerequisite for vector narrow type emulation (#157771)
Addresses: https://github.com/llvm/llvm-project/issues/115653
We already have utilities to flatten memrefs into 1-D. This change makes
memref flattening a prerequisite for vector narrow type emulation,
ensuring that emulation patterns only need to handle 1-D scenarios.
Commit: f562e2a6f5b362f0deabd0234dfdeb702c9b2d5e
https://github.com/llvm/llvm-project/commit/f562e2a6f5b362f0deabd0234dfdeb702c9b2d5e
Author: David Green <david.green at arm.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/test/Analysis/CostModel/ARM/reduce-add.ll
M llvm/test/Analysis/CostModel/ARM/reduce-and.ll
M llvm/test/Analysis/CostModel/ARM/reduce-bit.ll
M llvm/test/Analysis/CostModel/ARM/reduce-fminmax.ll
M llvm/test/Analysis/CostModel/ARM/reduce-fp.ll
M llvm/test/Analysis/CostModel/ARM/reduce-or.ll
M llvm/test/Analysis/CostModel/ARM/reduce-smax.ll
M llvm/test/Analysis/CostModel/ARM/reduce-smin.ll
M llvm/test/Analysis/CostModel/ARM/reduce-umax.ll
M llvm/test/Analysis/CostModel/ARM/reduce-umin.ll
Log Message:
-----------
[ARM] Update a number of reduction tests to use -cost-kind=all. NFC
Commit: ec7a5b4028d192bf1f674554ffd2cfab5ae31412
https://github.com/llvm/llvm-project/commit/ec7a5b4028d192bf1f674554ffd2cfab5ae31412
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/include/llvm/Option/ArgList.h
Log Message:
-----------
[Option] Mark getLastArg(NoClaim) as noinline. (#157163)
After https://github.com/llvm/llvm-project/pull/156730,
getLastArg(NoClaim) are now just below the inlining threshold and
inlining them causes +0.44% code size increase for Clang and a
corresponding compile-time increase without helping compile-time.
Mark them as noinline to recover the original codesize.
http://llvm-compile-time-tracker.com/compare.php?from=a271d07488a85ce677674bbe8101b10efff58c95&to=3b7b312476da2a2b1fd44815532edf9987da337e&stat=instructions:u
PR: https://github.com/llvm/llvm-project/pull/157163
Commit: a3762fb2405475c46c18a647f18d342f5e2332e3
https://github.com/llvm/llvm-project/commit/a3762fb2405475c46c18a647f18d342f5e2332e3
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M llvm/lib/TargetParser/TargetParser.cpp
Log Message:
-----------
[AMDGPU] Add missing bf16-pk-insts feature to gfx1250 (#159167)
Commit: 0021a6b78cac45604416aef7c28436e83c9ce09e
https://github.com/llvm/llvm-project/commit/0021a6b78cac45604416aef7c28436e83c9ce09e
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/XeVMDialect.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/xevm.mlir
Log Message:
-----------
[MLIR][XeVM] Add xevm blockload and blockstore op definition. (#158118)
Add op definition for subgroup block load and store ops:
xevm.blockload and xevm.blockstore
links to related specs:
cl_intel_subgroup: https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroups.html#_add_a_new_section_6_13_x_sub_group_read_and_write_functions
cl_intel_subgroup_local_block_io:
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroup_local_block_io.html
SPV_INTEL_subgroups:
https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_subgroups.html
Commit: 0ed9a4fb86aeaf24b8a8290d00432095ce0b5d64
https://github.com/llvm/llvm-project/commit/0ed9a4fb86aeaf24b8a8290d00432095ce0b5d64
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port 8b3c91c4fb1b
Commit: 973f26a2b42c8a81471f5e3da3549f1db3b1ffb2
https://github.com/llvm/llvm-project/commit/973f26a2b42c8a81471f5e3da3549f1db3b1ffb2
Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[GitHub] [NFC] Add moxinilian to IRDL CODEOWNERS (#159135)
This is so I get notified when an IRDL file is updated.
Commit: 22625538cb13df55cc2ff71831f55b8042f9a26c
https://github.com/llvm/llvm-project/commit/22625538cb13df55cc2ff71831f55b8042f9a26c
Author: David Green <david.green at arm.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
A llvm/test/Analysis/CostModel/ARM/abs.ll
Log Message:
-----------
[ARM] Add a quick abs scalar costmodel test. NFC
Commit: 66524ee7d0fd0f932924f1927459d68d6375fdc3
https://github.com/llvm/llvm-project/commit/66524ee7d0fd0f932924f1927459d68d6375fdc3
Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M openmp/docs/SupportAndFAQ.rst
Log Message:
-----------
[OpenMP] Document how to specify flags to device libraries (#159053)
Add an explanation on how to use RUNTIMES_<triple>_CMAKE_CXX_FLAGS in
order to specify different compiler flags for OpenMP device libraries.
Commit: 59e43fe5d8588d4b77b2ebd5683e6206428743c9
https://github.com/llvm/llvm-project/commit/59e43fe5d8588d4b77b2ebd5683e6206428743c9
Author: Sterling-Augustine <saugustine at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
Log Message:
-----------
Enable string-length wide-reads by default in bazel. (#159177)
Commit: 4ab8dabc252f802134bfea6193f9a274f0bdc143
https://github.com/llvm/llvm-project/commit/4ab8dabc252f802134bfea6193f9a274f0bdc143
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
A llvm/test/CodeGen/AMDGPU/lower-intrinsics-cluster-barrier.ll
Log Message:
-----------
[AMDGPU] Add s_cluster_barrier on gfx1250 (#159175)
Commit: 0e5c32bd6d305f417d1b4fc023616711206eccc4
https://github.com/llvm/llvm-project/commit/0e5c32bd6d305f417d1b4fc023616711206eccc4
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/test/Dialect/Vector/vector-unroll-options.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[MLIR][Vector] Add unrolling pattern for vector StepOp (#157752)
This PR adds unrolling pattern for vector.step op to VectorUnroll
transform.
Commit: 7c861bcedf61607b6c087380ac711eb7ff918ca6
https://github.com/llvm/llvm-project/commit/7c861bcedf61607b6c087380ac711eb7ff918ca6
Author: Hiroshi Yamauchi <56735936+hjyamauchi at users.noreply.github.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Support/Windows/Program.inc
Log Message:
-----------
Fix comment from https://github.com/llvm/llvm-project/pull/158719 (#159157)
Commit: 9855d546a4bfc607631d0e2aa5bae366d9483351
https://github.com/llvm/llvm-project/commit/9855d546a4bfc607631d0e2aa5bae366d9483351
Author: cmtice <cmtice at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M lldb/docs/dil-expr-lang.ebnf
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/test/API/commands/frame/var-dil/expr/Literals/TestFrameVarDILLiterals.py
Log Message:
-----------
[LLDB] Add boolean literals to DIL. (#157992)
This adds the ability to recognize (and create ValueObjects for) boolean
literals ("true", "false") to DIL. This is a preliminary step to adding
type casting (and also for the ternary op).
Commit: e87e028847638b1d405a92d818c67355e916f566
https://github.com/llvm/llvm-project/commit/e87e028847638b1d405a92d818c67355e916f566
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/CodeGenHLSL/resources/res-array-global-dyn-index.hlsl
M clang/test/CodeGenHLSL/resources/res-array-global-multi-dim.hlsl
M clang/test/CodeGenHLSL/resources/res-array-global-subarray-many.hlsl
M clang/test/CodeGenHLSL/resources/res-array-global-subarray-one.hlsl
M clang/test/CodeGenHLSL/resources/res-array-global-unbounded.hlsl
M clang/test/CodeGenHLSL/resources/res-array-global.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
Log Message:
-----------
[HLSL] Use static create methods to initialize resources in arrays (#157005)
Use static methods `__createFromBinding` and `__createFromImplicitBinding` to initialize resources in resource arrays
instead of calling resource constructors with binding information, per proposal update https://github.com/llvm/wg-hlsl/pull/336.
Test updates include the use of the `llvm-cxxfilt` tool which takes care of demangling of function names for a more readable test baseline.
Commit: 82acc31fd4b26723b61dae76da120c0c649d0b97
https://github.com/llvm/llvm-project/commit/82acc31fd4b26723b61dae76da120c0c649d0b97
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/include/llvm/MC/MCDecoderOps.h
M llvm/test/TableGen/DecoderEmitter/additional-encoding.td
M llvm/test/TableGen/DecoderEmitter/trydecode-emission.td
M llvm/test/TableGen/DecoderEmitter/trydecode-emission2.td
M llvm/test/TableGen/DecoderEmitter/trydecode-emission3.td
M llvm/test/TableGen/DecoderEmitter/trydecode-emission4.td
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen][DecoderEmitter] Merge OPC_Decode with OPC_TryDecode (#159178)
OPC_Decode is a specialized OPC_TryDecode. The difference between them
is that OPC_TryDecode performs a "completeness check", while OPC_Decode
asserts that the check passes.
The check is just a boolean test, which is nothing compared to the
complexity of the decoding process, so there is no point in having a
special opcode that optimizes the check.
Commit: 87bceae3fc64359c5a6ca362b466f8e938f4986c
https://github.com/llvm/llvm-project/commit/87bceae3fc64359c5a6ca362b466f8e938f4986c
Author: Vy Nguyen <vyng at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/test/Rewriter/objc-string-concat-1.m
Log Message:
-----------
[clang][nfc]Disable warning triggered in tests (#159216)
Commit: 7bdd88c1e3a70d8213f8bc68403fbd844f11b00c
https://github.com/llvm/llvm-project/commit/7bdd88c1e3a70d8213f8bc68403fbd844f11b00c
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Vector/Transforms/LowerVectorShuffle.cpp
A mlir/test/Dialect/Vector/vector-shuffle-lowering.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][Vector] Add patterns to lower `vector.shuffle` (#157611)
This PR adds patterns to lower `vector.shuffle` with inputs with
different vector sizes more efficiently. The current LLVM lowering for
these cases degenerates to a sequence of `vector.extract` and
`vector.insert` operations. With this PR, the smaller input is promoted
to larger vector size by introducing an extra `vector.shuffle`.
Commit: 96ce9f9d646efbba6aa52555004ac7ffe269b799
https://github.com/llvm/llvm-project/commit/96ce9f9d646efbba6aa52555004ac7ffe269b799
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-control-flow.ll
Log Message:
-----------
[AMDGPU] Prevent re-visits in LowerBufferFatPointers (#159168)
Fixes https://github.com/iree-org/iree/issues/22001
The visitor in SplitPtrStructs would re-visit instructions if an
instruction earlier in program order caused a recursive visit() call via
getPtrParts(). This would cause instructions to be processed multiple
times.
As a consequence of this, PHI nodes could be added to the Conditionals
array multiple times, which would to a conditinoal that was already
simplified being processed multiple times. After the code moved to
InstSimplifyFolder, this re-processing, combined with more agressive
simplifications, would lead to an attempt to replace an instruction with
itself, causing an assertion failure and crash.
This commit resolves the issue and adds the reduced form of the crashing
input as a test.
Commit: 799b80d47abe27d3dbf6ae19cda426021c90d045
https://github.com/llvm/llvm-project/commit/799b80d47abe27d3dbf6ae19cda426021c90d045
Author: hev <wangrui at loongson.cn>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
Log Message:
-----------
[LoongArch] Fix instruction selection failure for BUILD_VECTOR on LA32 (#158788)
Fixes #158625
Commit: cbd99c55a343096d74ecb2fb0825aa54350210cb
https://github.com/llvm/llvm-project/commit/cbd99c55a343096d74ecb2fb0825aa54350210cb
Author: Luo, Yuanke <lyk_03 at hotmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/R600Packetizer.cpp
A llvm/test/TableGen/DFAPacketizer.td
M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
Log Message:
-----------
[TableGen] Add mapping from processor ID to resource index for packetizer (#158182)
Tablegen would generate code to access TargetResourceIndices with
processor ID.
The TargetProcResourceIndexStart[] array is generated for each processor
which has itineraries. The processor which doesn't has itineraries is excluded
from the array. When a target has mixed processors, the processor ID may
exceed the array size and cause the error.
This patch is to generate a table mapping processor with itineraries to
resource index, so that scheduler can get the correct resource index with
processor ID.
Commit: 046d6a39983a9a4ea97343167c92cf8a0a6ff325
https://github.com/llvm/llvm-project/commit/046d6a39983a9a4ea97343167c92cf8a0a6ff325
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/test/Fir/convert-to-llvm.fir
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[Flang][OpenMP] Additional global address space modifications for device (#119585)
A prior PR added a portion of the global address space modifications
required for declare target to, this PR seeks to add
a small amount more leftover from that PR.
The intent is to allow for more correct IR that the backends (in
particular AMDGPU) can treat more aptly for optimisations and code
correctness
1/3 required PRs to enable declare target to mapping, should look at PR
3/3 to check for full green passes (this one will fail a number due to
some dependencies).
Co-authored-by: Raghu Maddhipatla raghu.maddhipatla at amd.com
Commit: 6b07b05daad59141546b0b4a6ce7887f9660cf96
https://github.com/llvm/llvm-project/commit/6b07b05daad59141546b0b4a6ce7887f9660cf96
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/tools/llvm-mca/llvm-mca.cpp
Log Message:
-----------
llvm-mca: Remove unnecessary reconstruction of Triple (#159213)
Commit: 35d6ee63ae0db05c1e1ee2f21a19f5270b24136d
https://github.com/llvm/llvm-project/commit/35d6ee63ae0db05c1e1ee2f21a19f5270b24136d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/tools/llvm-mca/llvm-mca.cpp
Log Message:
-----------
llvm-mca: Error on MCSubtargetInfo construction failure (#159215)
Replace assert with a handled error. The same should probably
be done for all of the MC constructors.
Commit: 049310353ed37d98749fbb060273618230a42787
https://github.com/llvm/llvm-project/commit/049310353ed37d98749fbb060273618230a42787
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/test/Driver/clang_f_opts.c
Log Message:
-----------
NFC: Use descriptive FileCheck prefixes for exec/input-charset
Fixes incorrect use of `INPUT-CHARSET` for `exec-charset` test, etc.
Commit: 2cc8d27b41ef055df71b8e4ffa4c34f031b02dee
https://github.com/llvm/llvm-project/commit/2cc8d27b41ef055df71b8e4ffa4c34f031b02dee
Author: Tomás Longeri <tlongeri at google.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fix bazel build after 4a09409 (#159217)
Commit: d05b7f1bb3e16ce37c1d17cfb170440e09244ce1
https://github.com/llvm/llvm-project/commit/d05b7f1bb3e16ce37c1d17cfb170440e09244ce1
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang-tools-extra/CMakeLists.txt
M clang-tools-extra/clang-tidy/CMakeLists.txt
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidy.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyForceLinker.h
M clang-tools-extra/clang-tidy/ClangTidyModule.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/clang-tidy-config.h.cmake
A clang-tools-extra/clang-tidy/custom/CMakeLists.txt
A clang-tools-extra/clang-tidy/custom/CustomTidyModule.cpp
A clang-tools-extra/clang-tidy/custom/QueryCheck.cpp
A clang-tools-extra/clang-tidy/custom/QueryCheck.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/Contributing.rst
A clang-tools-extra/docs/clang-tidy/QueryBasedCustomChecks.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
A clang-tools-extra/test/clang-tidy/checkers/custom/Inputs/clang-tidy.yml
A clang-tools-extra/test/clang-tidy/checkers/custom/Inputs/incorrect-clang-tidy.yml
A clang-tools-extra/test/clang-tidy/checkers/custom/query-incorrect-query.cpp
A clang-tools-extra/test/clang-tidy/checkers/custom/query-partially-active-check.cpp
A clang-tools-extra/test/clang-tidy/checkers/custom/query.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/append-clang-tidy.yml
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/empty-clang-tidy.yml
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/override-clang-tidy.yml
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/root-clang-tidy.yml
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/vfsoverlay.yaml
A clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check-not-enable.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check.cpp
M clang-tools-extra/unittests/clang-tidy/CMakeLists.txt
M clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
Log Message:
-----------
[clang-tidy] support query based custom check (#131804)
## summary
### Design for Compatibility
For new field design
1. we must make sure the required fields do not change in quiet long
time.
2. we should tolerant the unknown optional field (do not exist now) in
the future.
For large project integration (3rd party)
1. For config itself, since we can tolerant the unknown optional fields
and required fields should not change, the user can decide whether to
use custom check from third-party.
2.For clang-query, if there are some break change, since the query will
be parsed at check time, the user can disable the check and it will not
damage the whole clang-tidy
----
Inherit from #123734
RFC:
https://discourse.llvm.org/t/support-query-based-clang-tidy-external-check/85331
this patch introduce query based custom check by `CustomChecks` options.
The major improvement compared with #123734:
1. don't need to define config yaml file in command line
4. all behavior including `InheritFromParantConfig` is same as other
config.
6. change configuration schema from KV structured to List structured to
make extend new function easier.
7. Split bind string and diag message to two field to give more freedom
to design query.
example:
```yaml
Checks: -*,custom-call-main-function
CustomChecks:
- Name: call-main-function
Query: |
match callExpr(
callee(
functionDecl(isMain()).bind("fn")
)
).bind("callee")
Diagnostic:
- BindName: fn
Message: main function.
Level: Note
- BindName: callee
Message: call to main function.
Level: Warning
```
```c++
int main(); // note: main function.
void bar() {
main(); // warning: call to main function. [custom-call-main-function]
}
```
---
To make this PR don't do too much things that hard to review, here are
some possible features not included in this PR
- support language
- support traverse
- easier used template string in diagnostics message
---------
Co-authored-by: DeNiCoN <denicon1234 at gmail.com>
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
Commit: f7f7abcde48fe1bcf6eaecd06bf2946bdaaf200d
https://github.com/llvm/llvm-project/commit/f7f7abcde48fe1bcf6eaecd06bf2946bdaaf200d
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/propagate-amdgpu-cluster-dims.ll
Log Message:
-----------
[NFC][AMDGPU] Add a missing test case about cluster dims (#159179)
Commit: 7dc7d0e1294cd29fb13b53aaca3f97c266bcbd3d
https://github.com/llvm/llvm-project/commit/7dc7d0e1294cd29fb13b53aaca3f97c266bcbd3d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
Log Message:
-----------
AMDGPU: Remove subtarget feature hacking in AsmParser (#159227)
The wavesize hacking part was already done in
createAMDGPUMCSubtargetInfo, and we can move the default
target hack there too.
Commit: a57c583861d209f440ffa937a29979e116b4716e
https://github.com/llvm/llvm-project/commit/a57c583861d209f440ffa937a29979e116b4716e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/tools/llvm-ml/llvm-ml.cpp
Log Message:
-----------
llvm-ml: Error on MCSubtargetInfo construction failure (#159221)
Replace assert with an error.
Commit: a90a7efc59f816fe0e7ad2a437f8693393432237
https://github.com/llvm/llvm-project/commit/a90a7efc59f816fe0e7ad2a437f8693393432237
Author: Hubert Tong <hstong at ca.ibm.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/test/Driver/clang_f_opts.c
Log Message:
-----------
Revert "NFC: Use descriptive FileCheck prefixes for exec/input-charset"
This reverts commit 049310353ed37d98749fbb060273618230a42787.
Commit: ee9348002ae065e208c1d4ce487d13c34ae53f86
https://github.com/llvm/llvm-project/commit/ee9348002ae065e208c1d4ce487d13c34ae53f86
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M clang/test/Driver/clang_f_opts.c
Log Message:
-----------
NFC: Use descriptive FileCheck prefixes for exec/input-charset
Fixes incorrect use of `INPUT-CHARSET` for `exec-charset` test, etc.
Commit: ef45c9756ad571e5dda3558b3fe6272237b83c26
https://github.com/llvm/llvm-project/commit/ef45c9756ad571e5dda3558b3fe6272237b83c26
Author: Weibo He <NewSigma at 163.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/test/CodeGenCoroutines/coro-builtins.c
M clang/test/CodeGenCoroutines/coro-eh-cleanup.cpp
M clang/test/CodeGenCoroutines/coro-lambda.cpp
M clang/test/CodeGenCoroutines/coro-params.cpp
M llvm/docs/Coroutines.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/Transforms/Coroutines/CoroInstr.h
M llvm/include/llvm/Transforms/Coroutines/CoroShape.h
M llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
M llvm/lib/Transforms/Coroutines/CoroCloner.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
M llvm/test/Analysis/GlobalsModRef/nonescaping-noalias.ll
M llvm/test/Assembler/auto_upgrade_intrinsics.ll
M llvm/test/Instrumentation/AddressSanitizer/coro-byval-param.ll
M llvm/test/Instrumentation/HWAddressSanitizer/coro-byval-param.ll
M llvm/test/Transforms/Coroutines/ArgAddr.ll
M llvm/test/Transforms/Coroutines/coro-align16.ll
M llvm/test/Transforms/Coroutines/coro-align32.ll
M llvm/test/Transforms/Coroutines/coro-align64-02.ll
M llvm/test/Transforms/Coroutines/coro-align64.ll
M llvm/test/Transforms/Coroutines/coro-align8-02.ll
M llvm/test/Transforms/Coroutines/coro-align8.ll
M llvm/test/Transforms/Coroutines/coro-alloc-with-param-O0.ll
M llvm/test/Transforms/Coroutines/coro-alloc-with-param-O2.ll
M llvm/test/Transforms/Coroutines/coro-alloca-01.ll
M llvm/test/Transforms/Coroutines/coro-alloca-02.ll
M llvm/test/Transforms/Coroutines/coro-alloca-03.ll
M llvm/test/Transforms/Coroutines/coro-alloca-04.ll
M llvm/test/Transforms/Coroutines/coro-alloca-05.ll
M llvm/test/Transforms/Coroutines/coro-alloca-06.ll
M llvm/test/Transforms/Coroutines/coro-alloca-07.ll
M llvm/test/Transforms/Coroutines/coro-alloca-08.ll
M llvm/test/Transforms/Coroutines/coro-alloca-09.ll
M llvm/test/Transforms/Coroutines/coro-alloca-loop-carried-address.ll
M llvm/test/Transforms/Coroutines/coro-alloca-outside-frame.ll
M llvm/test/Transforms/Coroutines/coro-alloca-with-addrspace.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-coro-id-async-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-declaration.ll
M llvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
M llvm/test/Transforms/Coroutines/coro-async-end-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-no-cse-swift-async-context-addr.ll
M llvm/test/Transforms/Coroutines/coro-async-nomerge.ll
M llvm/test/Transforms/Coroutines/coro-async-phi.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-handle-in-ramp.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll
M llvm/test/Transforms/Coroutines/coro-byval-param.ll
M llvm/test/Transforms/Coroutines/coro-catchswitch-cleanuppad.ll
M llvm/test/Transforms/Coroutines/coro-catchswitch.ll
M llvm/test/Transforms/Coroutines/coro-debug-O2.ll
M llvm/test/Transforms/Coroutines/coro-debug-coro-frame.ll
M llvm/test/Transforms/Coroutines/coro-debug-dbg.values-not_used_in_frame.ll
M llvm/test/Transforms/Coroutines/coro-debug-dbg.values.ll
M llvm/test/Transforms/Coroutines/coro-debug-frame-variable.ll
M llvm/test/Transforms/Coroutines/coro-debug-spill-dbg.declare.ll
M llvm/test/Transforms/Coroutines/coro-debug.ll
M llvm/test/Transforms/Coroutines/coro-early-twice.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-00.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-01.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-02.ll
M llvm/test/Transforms/Coroutines/coro-frame-arrayalloca.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-00.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-01.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-02.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-03.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-04.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-05.ll
M llvm/test/Transforms/Coroutines/coro-frame-unreachable.ll
M llvm/test/Transforms/Coroutines/coro-frame.ll
M llvm/test/Transforms/Coroutines/coro-lifetime-end.ll
M llvm/test/Transforms/Coroutines/coro-materialize.ll
M llvm/test/Transforms/Coroutines/coro-noalias-param.ll
M llvm/test/Transforms/Coroutines/coro-only-destroy-when-complete.ll
M llvm/test/Transforms/Coroutines/coro-padding.ll
M llvm/test/Transforms/Coroutines/coro-param-copy.ll
M llvm/test/Transforms/Coroutines/coro-readnone-02.ll
M llvm/test/Transforms/Coroutines/coro-readnone.ll
M llvm/test/Transforms/Coroutines/coro-retcon-alloca-opaque-ptr.ll
M llvm/test/Transforms/Coroutines/coro-retcon-alloca.ll
M llvm/test/Transforms/Coroutines/coro-retcon-frame.ll
M llvm/test/Transforms/Coroutines/coro-retcon-once-private.ll
M llvm/test/Transforms/Coroutines/coro-retcon-once-value.ll
M llvm/test/Transforms/Coroutines/coro-retcon-once-value2.ll
M llvm/test/Transforms/Coroutines/coro-retcon-opaque-ptr.ll
M llvm/test/Transforms/Coroutines/coro-retcon-remat.ll
M llvm/test/Transforms/Coroutines/coro-retcon-resume-values.ll
M llvm/test/Transforms/Coroutines/coro-retcon-resume-values2.ll
M llvm/test/Transforms/Coroutines/coro-retcon-unreachable.ll
M llvm/test/Transforms/Coroutines/coro-retcon-value.ll
M llvm/test/Transforms/Coroutines/coro-retcon.ll
M llvm/test/Transforms/Coroutines/coro-spill-after-phi.ll
M llvm/test/Transforms/Coroutines/coro-spill-corobegin.ll
M llvm/test/Transforms/Coroutines/coro-spill-defs-before-corobegin.ll
M llvm/test/Transforms/Coroutines/coro-spill-promise-02.ll
M llvm/test/Transforms/Coroutines/coro-spill-promise.ll
M llvm/test/Transforms/Coroutines/coro-spill-suspend.ll
M llvm/test/Transforms/Coroutines/coro-split-00.ll
M llvm/test/Transforms/Coroutines/coro-split-01.ll
M llvm/test/Transforms/Coroutines/coro-split-02.ll
M llvm/test/Transforms/Coroutines/coro-split-alloc.ll
M llvm/test/Transforms/Coroutines/coro-split-dbg-labels-inlined.ll
M llvm/test/Transforms/Coroutines/coro-split-dbg-labels.ll
M llvm/test/Transforms/Coroutines/coro-split-dbg.ll
M llvm/test/Transforms/Coroutines/coro-split-eh-00.ll
M llvm/test/Transforms/Coroutines/coro-split-eh-01.ll
M llvm/test/Transforms/Coroutines/coro-split-final-suspend.ll
M llvm/test/Transforms/Coroutines/coro-split-hidden.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail-chain-pgo-counter-promo.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail-ppc64le.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail1.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail10.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail12.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail13.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail2.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail3.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail4.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail5.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail6.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail8.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail9.ll
M llvm/test/Transforms/Coroutines/coro-split-no-lifetime.ll
M llvm/test/Transforms/Coroutines/coro-split-noinline.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-02.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-03.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-04.ll
M llvm/test/Transforms/Coroutines/coro-swifterror.ll
M llvm/test/Transforms/Coroutines/coro-zero-alloca.ll
M llvm/test/Transforms/Coroutines/ex0.ll
M llvm/test/Transforms/Coroutines/ex1.ll
M llvm/test/Transforms/Coroutines/ex2.ll
M llvm/test/Transforms/Coroutines/ex3.ll
M llvm/test/Transforms/Coroutines/ex4.ll
M llvm/test/Transforms/Coroutines/ex5.ll
M llvm/test/Transforms/Coroutines/no-suspend.ll
M llvm/test/Transforms/Coroutines/phi-coro-end.ll
M llvm/test/Transforms/Coroutines/remarks.ll
M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
M llvm/test/Transforms/FunctionAttrs/noreturn.ll
M llvm/test/Transforms/LICM/sink-with-coroutine.ll
M llvm/unittests/Transforms/Coroutines/ExtraRematTest.cpp
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
Reapply "[Coroutines] Add llvm.coro.is_in_ramp and drop return value of llvm.coro.end #153404" (#155339)
As mentioned in #151067, current design of llvm.coro.end mixes two
functionalities: querying where we are and lowering to some code. This
patch separate these functionalities into independent intrinsics by
introducing a new intrinsic llvm.coro.is_in_ramp.
Commit: be6129ab6b08965c50f68490f330bb7e2015b6cf
https://github.com/llvm/llvm-project/commit/be6129ab6b08965c50f68490f330bb7e2015b6cf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
Log Message:
-----------
llvm-exegesis: Error on MCSubtargetInfo construction failure (#159223)
Commit: a2644537505989b227a3bbb19ea8ff6976c1dba7
https://github.com/llvm/llvm-project/commit/a2644537505989b227a3bbb19ea8ff6976c1dba7
Author: Weibo He <NewSigma at 163.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/test/CodeGenCoroutines/coro-builtins.c
M clang/test/CodeGenCoroutines/coro-eh-cleanup.cpp
M clang/test/CodeGenCoroutines/coro-lambda.cpp
M clang/test/CodeGenCoroutines/coro-params.cpp
M llvm/docs/Coroutines.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/Transforms/Coroutines/CoroInstr.h
M llvm/include/llvm/Transforms/Coroutines/CoroShape.h
M llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
M llvm/lib/Transforms/Coroutines/CoroCloner.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
M llvm/test/Analysis/GlobalsModRef/nonescaping-noalias.ll
M llvm/test/Assembler/auto_upgrade_intrinsics.ll
M llvm/test/Instrumentation/AddressSanitizer/coro-byval-param.ll
M llvm/test/Instrumentation/HWAddressSanitizer/coro-byval-param.ll
M llvm/test/Transforms/Coroutines/ArgAddr.ll
M llvm/test/Transforms/Coroutines/coro-align16.ll
M llvm/test/Transforms/Coroutines/coro-align32.ll
M llvm/test/Transforms/Coroutines/coro-align64-02.ll
M llvm/test/Transforms/Coroutines/coro-align64.ll
M llvm/test/Transforms/Coroutines/coro-align8-02.ll
M llvm/test/Transforms/Coroutines/coro-align8.ll
M llvm/test/Transforms/Coroutines/coro-alloc-with-param-O0.ll
M llvm/test/Transforms/Coroutines/coro-alloc-with-param-O2.ll
M llvm/test/Transforms/Coroutines/coro-alloca-01.ll
M llvm/test/Transforms/Coroutines/coro-alloca-02.ll
M llvm/test/Transforms/Coroutines/coro-alloca-03.ll
M llvm/test/Transforms/Coroutines/coro-alloca-04.ll
M llvm/test/Transforms/Coroutines/coro-alloca-05.ll
M llvm/test/Transforms/Coroutines/coro-alloca-06.ll
M llvm/test/Transforms/Coroutines/coro-alloca-07.ll
M llvm/test/Transforms/Coroutines/coro-alloca-08.ll
M llvm/test/Transforms/Coroutines/coro-alloca-09.ll
M llvm/test/Transforms/Coroutines/coro-alloca-loop-carried-address.ll
M llvm/test/Transforms/Coroutines/coro-alloca-outside-frame.ll
M llvm/test/Transforms/Coroutines/coro-alloca-with-addrspace.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-coro-id-async-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-declaration.ll
M llvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
M llvm/test/Transforms/Coroutines/coro-async-end-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-no-cse-swift-async-context-addr.ll
M llvm/test/Transforms/Coroutines/coro-async-nomerge.ll
M llvm/test/Transforms/Coroutines/coro-async-phi.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-handle-in-ramp.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll
M llvm/test/Transforms/Coroutines/coro-byval-param.ll
M llvm/test/Transforms/Coroutines/coro-catchswitch-cleanuppad.ll
M llvm/test/Transforms/Coroutines/coro-catchswitch.ll
M llvm/test/Transforms/Coroutines/coro-debug-O2.ll
M llvm/test/Transforms/Coroutines/coro-debug-coro-frame.ll
M llvm/test/Transforms/Coroutines/coro-debug-dbg.values-not_used_in_frame.ll
M llvm/test/Transforms/Coroutines/coro-debug-dbg.values.ll
M llvm/test/Transforms/Coroutines/coro-debug-frame-variable.ll
M llvm/test/Transforms/Coroutines/coro-debug-spill-dbg.declare.ll
M llvm/test/Transforms/Coroutines/coro-debug.ll
M llvm/test/Transforms/Coroutines/coro-early-twice.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-00.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-01.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-02.ll
M llvm/test/Transforms/Coroutines/coro-frame-arrayalloca.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-00.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-01.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-02.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-03.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-04.ll
M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-05.ll
M llvm/test/Transforms/Coroutines/coro-frame-unreachable.ll
M llvm/test/Transforms/Coroutines/coro-frame.ll
M llvm/test/Transforms/Coroutines/coro-lifetime-end.ll
M llvm/test/Transforms/Coroutines/coro-materialize.ll
M llvm/test/Transforms/Coroutines/coro-noalias-param.ll
M llvm/test/Transforms/Coroutines/coro-only-destroy-when-complete.ll
M llvm/test/Transforms/Coroutines/coro-padding.ll
M llvm/test/Transforms/Coroutines/coro-param-copy.ll
M llvm/test/Transforms/Coroutines/coro-readnone-02.ll
M llvm/test/Transforms/Coroutines/coro-readnone.ll
M llvm/test/Transforms/Coroutines/coro-retcon-alloca-opaque-ptr.ll
M llvm/test/Transforms/Coroutines/coro-retcon-alloca.ll
M llvm/test/Transforms/Coroutines/coro-retcon-frame.ll
M llvm/test/Transforms/Coroutines/coro-retcon-once-private.ll
M llvm/test/Transforms/Coroutines/coro-retcon-once-value.ll
M llvm/test/Transforms/Coroutines/coro-retcon-once-value2.ll
M llvm/test/Transforms/Coroutines/coro-retcon-opaque-ptr.ll
M llvm/test/Transforms/Coroutines/coro-retcon-remat.ll
M llvm/test/Transforms/Coroutines/coro-retcon-resume-values.ll
M llvm/test/Transforms/Coroutines/coro-retcon-resume-values2.ll
M llvm/test/Transforms/Coroutines/coro-retcon-unreachable.ll
M llvm/test/Transforms/Coroutines/coro-retcon-value.ll
M llvm/test/Transforms/Coroutines/coro-retcon.ll
M llvm/test/Transforms/Coroutines/coro-spill-after-phi.ll
M llvm/test/Transforms/Coroutines/coro-spill-corobegin.ll
M llvm/test/Transforms/Coroutines/coro-spill-defs-before-corobegin.ll
M llvm/test/Transforms/Coroutines/coro-spill-promise-02.ll
M llvm/test/Transforms/Coroutines/coro-spill-promise.ll
M llvm/test/Transforms/Coroutines/coro-spill-suspend.ll
M llvm/test/Transforms/Coroutines/coro-split-00.ll
M llvm/test/Transforms/Coroutines/coro-split-01.ll
M llvm/test/Transforms/Coroutines/coro-split-02.ll
M llvm/test/Transforms/Coroutines/coro-split-alloc.ll
M llvm/test/Transforms/Coroutines/coro-split-dbg-labels-inlined.ll
M llvm/test/Transforms/Coroutines/coro-split-dbg-labels.ll
M llvm/test/Transforms/Coroutines/coro-split-dbg.ll
M llvm/test/Transforms/Coroutines/coro-split-eh-00.ll
M llvm/test/Transforms/Coroutines/coro-split-eh-01.ll
M llvm/test/Transforms/Coroutines/coro-split-final-suspend.ll
M llvm/test/Transforms/Coroutines/coro-split-hidden.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail-chain-pgo-counter-promo.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail-ppc64le.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail1.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail10.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail12.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail13.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail2.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail3.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail4.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail5.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail6.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail8.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail9.ll
M llvm/test/Transforms/Coroutines/coro-split-no-lifetime.ll
M llvm/test/Transforms/Coroutines/coro-split-noinline.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-02.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-03.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-04.ll
M llvm/test/Transforms/Coroutines/coro-swifterror.ll
M llvm/test/Transforms/Coroutines/coro-zero-alloca.ll
M llvm/test/Transforms/Coroutines/ex0.ll
M llvm/test/Transforms/Coroutines/ex1.ll
M llvm/test/Transforms/Coroutines/ex2.ll
M llvm/test/Transforms/Coroutines/ex3.ll
M llvm/test/Transforms/Coroutines/ex4.ll
M llvm/test/Transforms/Coroutines/ex5.ll
M llvm/test/Transforms/Coroutines/no-suspend.ll
M llvm/test/Transforms/Coroutines/phi-coro-end.ll
M llvm/test/Transforms/Coroutines/remarks.ll
M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
M llvm/test/Transforms/FunctionAttrs/noreturn.ll
M llvm/test/Transforms/LICM/sink-with-coroutine.ll
M llvm/unittests/Transforms/Coroutines/ExtraRematTest.cpp
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
Revert "Reapply "[Coroutines] Add llvm.coro.is_in_ramp and drop return value of llvm.coro.end #153404"" (#159236)
Reverts llvm/llvm-project#155339 because of CI fail
Commit: ab0bb6db39cefa5c27aab0ac6af7c33e652ba28b
https://github.com/llvm/llvm-project/commit/ab0bb6db39cefa5c27aab0ac6af7c33e652ba28b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-16 (Tue, 16 Sep 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sadde-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sadde-rv64.mir
Log Message:
-----------
[RISCV][GISel] Update rv32 s64 G_SADDE legalizer test. (#159153)
We were testing 2 s32 G_SADDE instead of a single s64 G_SADDE.
Similar for s128 on RV64.
Commit: c286a427b977fc1df0871ceed9916070a38a1d22
https://github.com/llvm/llvm-project/commit/c286a427b977fc1df0871ceed9916070a38a1d22
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
A offload/test/offloading/fortran/do-concurrent-to-omp-saxpy-2d.f90
A offload/test/offloading/fortran/do-concurrent-to-omp-saxpy.f90
Log Message:
-----------
[NFC][flang][do concurent] Add saxpy offload tests for OpenMP mapping (#155993)
Adds end-to-end tests for `do concurrent` offloading to the device.
PR stack:
- https://github.com/llvm/llvm-project/pull/155754
- https://github.com/llvm/llvm-project/pull/155987
- https://github.com/llvm/llvm-project/pull/155992
- https://github.com/llvm/llvm-project/pull/155993 ◀️
- https://github.com/llvm/llvm-project/pull/157638
- https://github.com/llvm/llvm-project/pull/156610
- https://github.com/llvm/llvm-project/pull/156837
Commit: 6d5c94203652a52b51b37ad4768bc1a7066f029c
https://github.com/llvm/llvm-project/commit/6d5c94203652a52b51b37ad4768bc1a7066f029c
Author: Tang Jiajun <jiajun.tang at intel.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCUDA.cpp
A clang/test/SemaCUDA/consteval-func.cu
Log Message:
-----------
[clang] [CUDA] Support calling `consteval` function between different target. (#158688)
In CUDA, calling `consteval` functions cross excution space is allowed.
So the function with `consteval` attribute need be treated as a
`__host__ __device__` function.
Commit: ec2ce347735f931c884197fdb4db669e5fb9c5e0
https://github.com/llvm/llvm-project/commit/ec2ce347735f931c884197fdb4db669e5fb9c5e0
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv32zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/xqciac.ll
Log Message:
-----------
[RISCV] Lower (select c, (1 << X) + 1, 0) -> (shXadd c, c) (#158969)
Commit: 5399ca97c4fe61770b5e7d0aeebd8aadf1ea52bc
https://github.com/llvm/llvm-project/commit/5399ca97c4fe61770b5e7d0aeebd8aadf1ea52bc
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[clang][sema][NFC] Use a for-range loop in checkBuiltinVerboseTrap (#159114)
We don't use `I` at all, so use a for-range loop.
Commit: b3a1c777824527bf771c7187a0b685feb7ef04f7
https://github.com/llvm/llvm-project/commit/b3a1c777824527bf771c7187a0b685feb7ef04f7
Author: Umesh Kalvakuntla <80587349+Umesh-k26 at users.noreply.github.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[X86] Fixes for AMD znver5 enablement (#159237)
- cpuid bit for prefetchi is different from Intel
(https://docs.amd.com/v/u/en-US/24594_3.37)
- Fix cpu family model numbers
Commit: ac1012d315fd4cac2a4ac535a00daed682481dc0
https://github.com/llvm/llvm-project/commit/ac1012d315fd4cac2a4ac535a00daed682481dc0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/tools/llvm-mc/llvm-mc.cpp
Log Message:
-----------
llvm-mc: Error on MCSubtargetInfo construction failure (#159226)
We have inconsistent handling of null returns on target MC constructors.
Most tools report an error, but some assert. It's currently not possible
to test this with any in-tree targets. Make this a clean error so in the
future targets can fail the construction.
Commit: 09966960c692be63b192448e8c2b6bfebad3c3b8
https://github.com/llvm/llvm-project/commit/09966960c692be63b192448e8c2b6bfebad3c3b8
Author: David Green <david.green at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Transforms/InstCombine/may-alias-errno.ll
Log Message:
-----------
[BasicAA] Handle scalable vectors in new errno aliasing checks. (#159248)
This is a minor fixup for scalable vectors after f9f62ef4ae555a. It
handles them in the same way as other memory locations that are larger
than errno, preventing the failure on implicit conversion from a
scalable location.
Commit: e8028b2ecb5bda10a45cfa383beee0654d92e611
https://github.com/llvm/llvm-project/commit/e8028b2ecb5bda10a45cfa383beee0654d92e611
Author: Daniel Kuts <kutz at ispras.ru>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Object/Archive.cpp
Log Message:
-----------
[llvm] Validate Parent object before dereference (#157460)
Fixes #157449
Commit: b90af2df59ac3a96761151be1d035cb6fe58cd31
https://github.com/llvm/llvm-project/commit/b90af2df59ac3a96761151be1d035cb6fe58cd31
Author: Martin Storsjö <martin at martin.st>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[CMake] Merge if statements for GCC warning disabling. NFC. (#159172)
Commit: 50f81531b46cb57737a41b6f20d7280377f9fb39
https://github.com/llvm/llvm-project/commit/50f81531b46cb57737a41b6f20d7280377f9fb39
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
Log Message:
-----------
[MLIR] Fix compilation after #157771 (#159257)
The original PR broke pretty much all our bots.
Apologies for the noise in the previous PR.
Commit: 5829652a6def4031853104b43ee6dfd331162352
https://github.com/llvm/llvm-project/commit/5829652a6def4031853104b43ee6dfd331162352
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
A mlir/test/Target/LLVMIR/nvvm/clusterlaunchcontrol.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
Log Message:
-----------
[MLIR][NVVM] Add clusterlaunchcontrol Ops (#156585)
This change adds the `clusterlaunchcontrol.try.cancel` and
`clusterlaunchcontrol.query.cancel` Ops to the NVVM dialect.
Tests are added in `clusterlaunchcontrol.mlir`.
PTX Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#parallel-synchronization-and-communication-instructions-clusterlaunchcontrol-try-cancel
Commit: 2155f17d39f3969ef841c85ef1102a214ab22b30
https://github.com/llvm/llvm-project/commit/2155f17d39f3969ef841c85ef1102a214ab22b30
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
Log Message:
-----------
[clang][bytecode] Optimize InitElem{,Pop} (#159084)
Try harder to avoid creating a new `Pointer` for the element.
Commit: ff05dc4526dce68f10450d77a1da2b8061e80dc2
https://github.com/llvm/llvm-project/commit/ff05dc4526dce68f10450d77a1da2b8061e80dc2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode][NFC] Add some popToAPSInt convenience API (#159252)
Add a variant that takes a QualType and one that takes an expression.
That way we don't have to repeat the clunky classify() calls all over
the place.
Commit: 41cef78227eb909181cb9360099b2d92de8d649f
https://github.com/llvm/llvm-project/commit/41cef78227eb909181cb9360099b2d92de8d649f
Author: Gábor Spaits <gaborspaits1 at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
A llvm/test/Transforms/SimplifyCFG/unreachable-multi-basic-block-funclet.ll
Log Message:
-----------
Reland "[BasicBlockUtils] Handle funclets when detaching EH pad blocks" (#158435)
When removing EH Pad blocks, the value defined by them becomes poison. These poison values are then used by `catchret` and `cleanupret`, which is invalid. This commit replaces those unreachable `catchret` and `cleanupret` instructions with `unreachable`.
Commit: 2ef58b603883c724805fc209ca753987efce3957
https://github.com/llvm/llvm-project/commit/2ef58b603883c724805fc209ca753987efce3957
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/test/Driver/DTLTO/dtlto.c
A clang/test/Driver/DTLTO/filename.py
M clang/test/Driver/DTLTO/ps5-dtlto.c
Log Message:
-----------
[DTLTO][TEST] Make Clang driver tests more robust (#159151)
The Clang driver tests tried to match the Clang executable name via a
regular expression. This failed on some buildbots where the name was not
anticipated.
Make the test more robust by extracting the filename with Python and
appending a line to the output. This is then captured into a FileCheck
variable and used directly in the check for the executable name.
Should fix buildbot failures caused by the merge of PR #159129.
Commit: a393f20e4085521165a5e8de82869f1355f8cc55
https://github.com/llvm/llvm-project/commit/a393f20e4085521165a5e8de82869f1355f8cc55
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for readability-simplify-boolean-expr in TosaOps.cpp (NFC)
Commit: c87be722d60467dfc651186c1b1b058ce2e34644
https://github.com/llvm/llvm-project/commit/c87be722d60467dfc651186c1b1b058ce2e34644
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTMutationListener.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/Basic/ABIVersions.def
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
A clang/test/Modules/Inputs/glob-delete-with-virtual-dtor/glob-delete-with-virtual-dtor.h
A clang/test/Modules/Inputs/glob-delete-with-virtual-dtor/module.modulemap
A clang/test/Modules/glob-delete-with-virtual-dtor.cpp
A clang/test/PCH/Inputs/glob-delete-with-virtual-dtor.h
A clang/test/PCH/glob-delete-with-virtual-dtor.cpp
Log Message:
-----------
[win][clang] Align scalar deleting destructors with MSABI (#139566)
While working on vector deleting destructors support
([GH19772](https://github.com/llvm/llvm-project/issues/19772)), I
noticed that MSVC produces different code in scalar deleting destructor
body depending on whether class defined its own operator delete. In
MSABI deleting destructors accept an additional implicit flag parameter
allowing some sort of flexibility. The mismatch I noticed is that
whenever a global operator delete is called, i.e. `::delete`, in the
code produced by MSVC the implicit flag argument has a value that makes
the 3rd bit set, i.e. "5" for scalar deleting destructors "7" for vector
deleting destructors.
Prior to this patch, clang handled `::delete` via calling global
operator delete direct after the destructor call and not calling class
operator delete in scalar deleting destructor body by passing "0" as
implicit flag argument value. This is fine until there is an attempt to
link binaries compiled with clang with binaries compiled with MSVC. The
problem is that in binaries produced by MSVC the callsite of the
destructor won't call global operator delete because it is assumed that
the destructor will do that and a destructor body generated by clang
will never do.
This patch removes call to global operator delete from the callsite and
add additional check of the 3rd bit of the implicit parameter inside of
scalar deleting destructor body.
---------
Co-authored-by: Tom Honermann <tom at honermann.net>
Commit: 75469bb376b7fa931d03ea95f6b7142d27ef0e51
https://github.com/llvm/llvm-project/commit/75469bb376b7fa931d03ea95f6b7142d27ef0e51
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/include/mlir/Interfaces/LoopLikeInterface.td
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/test/Dialect/SCF/canonicalize.mlir
M mlir/test/Dialect/SCF/for-loop-peeling.mlir
A mlir/test/Dialect/SCF/trip_count.mlir
M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
Log Message:
-----------
[MLIR] Add a getStaticTripCount method to LoopLikeOpInterface (#158679)
This patch adds a `getStaticTripCount` to the LoopLikeOpInterface,
allowing loops to optionally return a static trip count when possible.
This is implemented on SCF ForOp, revamping the implementation of
`constantTripCount`, removing redundant duplicate implementations from
SCF.cpp.
Commit: 46ad5408fc8e31e97f5b1191320ca449c00f4191
https://github.com/llvm/llvm-project/commit/46ad5408fc8e31e97f5b1191320ca449c00f4191
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/test/Conversion/VectorToGPU/vector-to-mma-ops.mlir
Log Message:
-----------
[mlir][gpu][vector] Lower Vector dialect to GPU for element-wise ops only (#159091)
Current convertVectorToMMAOps starts from vector.contract and finds its
dependencies as the targets to convert. In GPU dialect, we have
gpu.subgroup_mma_elementwise operation. We should be able to lower
element-wise operations to GPU MMA operations without vector.contract.
This patch adds this case to the pattern.
Commit: a044d6118208704ee15046abb6060c331e86b481
https://github.com/llvm/llvm-project/commit/a044d6118208704ee15046abb6060c331e86b481
Author: Simon Wallis <simon.wallis2 at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN1.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-misc-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-zero-dependency.s
Log Message:
-----------
[AArch64] Update IssueWidth for Neoverse V1, N1, N3 (#154495)
Recently the IssueWidth in the scheduling model was reduced for
Neoverse-V2 and N2. This patch does the same for Neoverse-V1, N1 and N3.
On Neoverse-V1, various values of IssueWidth (15, 8, 7, 6, 5) were tried
with runs of various workloads.
The highest overall geomean score was achieved with an issue width of 8.
No significant regressions were noted.
On Neoverse-N1, various values of IssueWidth (8, 6, 5, 4, 3) were tried
with runs of various workloads.
The highest overall geomean score was achieved with an issue width of 3.
No significant regressions were noted.
On Neoverse-N3, it makes sense to do exactly the same as was done for
N2. It is proposed to use an issue width of 5.
Related V2 PR: https://github.com/llvm/llvm-project/pull/142565
Related N2 PR: https://github.com/llvm/llvm-project/pull/145717
Commit: 559cfefee1b2d739f4d4ccd89767c63713917122
https://github.com/llvm/llvm-project/commit/559cfefee1b2d739f4d4ccd89767c63713917122
Author: Mary Kassayova <mary.kassayova at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/test/CodeGen/AArch64/sme-callee-save-restore-pairs.ll
M llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
A llvm/test/CodeGen/AArch64/sme-streaming-checkvl-mir.ll
A llvm/test/CodeGen/AArch64/sme-streaming-checkvl.ll
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
M llvm/test/CodeGen/AArch64/spill-reload-remarks.ll
Log Message:
-----------
[AArch64][SME] Introduce CHECK_MATCHING_VL pseudo for streaming transitions (#157510)
This patch adds a new codegen-only pseudo-instruction,
`CHECK_MATCHING_VL`, used when transitioning between non-streaming /
streaming-compatible callers and streaming-enabled callees. The pseudo
verifies that the current SVE vector length (VL) matches the streaming
vector length (SVL); if they differ, we trap.
Commit: 3f6cd761bac2d66cbbfb1d8c3a8407d4f0583093
https://github.com/llvm/llvm-project/commit/3f6cd761bac2d66cbbfb1d8c3a8407d4f0583093
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
Log Message:
-----------
[clang][bytecode] Remove InterpFrame::IsBottom flag (#159279)
The bottom frame is the one without a parent. No need to save that
information separately.
Commit: 4c7de930b3e265f04d86425cbbbc5f78536ce4b2
https://github.com/llvm/llvm-project/commit/4c7de930b3e265f04d86425cbbbc5f78536ce4b2
Author: Elam Cohavi <53015791+elamc-2 at users.noreply.github.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M mlir/docs/Dialects/Affine.md
Log Message:
-----------
[mlir][doc] fix `affine` op header link (#158650)
Commit: 76a11c769d3cc2c1d986e86f58d9fb25fe9830c6
https://github.com/llvm/llvm-project/commit/76a11c769d3cc2c1d986e86f58d9fb25fe9830c6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M libcxx/include/__vector/vector.h
Log Message:
-----------
Reapply "[libc++] Mark __{emplace,push}_back_slow_path as noinline (#94379)" (#158606)
This reverts commit 7f2e9b17098f42c85ef469b029bb84ef4eea189c.
The LLDB failures have been resolved in trunk.
Commit: 948482d83110257036c5fb50c65073bc74cd6c7f
https://github.com/llvm/llvm-project/commit/948482d83110257036c5fb50c65073bc74cd6c7f
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M mlir/test/Target/SPIRV/arithmetic-ops.mlir
M mlir/test/Target/SPIRV/array-two-step-roundtrip.mlir
M mlir/test/Target/SPIRV/array.mlir
M mlir/test/Target/SPIRV/atomic-ops.mlir
M mlir/test/Target/SPIRV/barrier-ops.mlir
M mlir/test/Target/SPIRV/bit-ops.mlir
M mlir/test/Target/SPIRV/cast-ops.mlir
M mlir/test/Target/SPIRV/composite-op.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
M mlir/test/Target/SPIRV/group-ops.mlir
M mlir/test/Target/SPIRV/image-ops.mlir
M mlir/test/Target/SPIRV/image.mlir
M mlir/test/Target/SPIRV/intel-ext-ops.mlir
M mlir/test/Target/SPIRV/khr-cooperative-matrix-ops.mlir
M mlir/test/Target/SPIRV/matrix.mlir
M mlir/test/Target/SPIRV/memory-ops.mlir
M mlir/test/Target/SPIRV/mesh-ops.mlir
M mlir/test/Target/SPIRV/non-uniform-ops.mlir
M mlir/test/Target/SPIRV/ocl-ops.mlir
M mlir/test/Target/SPIRV/physical-storage-buffer.mlir
M mlir/test/Target/SPIRV/primitive-ops.mlir
M mlir/test/Target/SPIRV/spec-constant.mlir
M mlir/test/Target/SPIRV/tensorARM.mlir
M mlir/test/Target/SPIRV/terminator.mlir
M mlir/test/Target/SPIRV/undef.mlir
Log Message:
-----------
[mlir][spirv] Add validation and missing capabilities in Target tests (#159139)
This change adds calls to `spirv-val` in selected Target tests and fixes
missing and broken capabilities. Tests that require fixes beyond simple
capability changes are left untouched.
Commit: b29c7ded31d81ca47aed0157c543c8b6a0f5866c
https://github.com/llvm/llvm-project/commit/b29c7ded31d81ca47aed0157c543c8b6a0f5866c
Author: Hongyu Chen <xxs_chy at outlook.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/abdu.ll
M llvm/test/CodeGen/AArch64/ctpop.ll
Log Message:
-----------
[AArch64] Fold uaddv(a) to a if the all lanes except the 0th are zeros (#159086)
Fixes https://github.com/llvm/llvm-project/issues/158741
Commit: 0969e2c4203ce5ba7c6a042c6542ce45c0ebbae4
https://github.com/llvm/llvm-project/commit/0969e2c4203ce5ba7c6a042c6542ce45c0ebbae4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/test/Other/cgscc-devirt-iteration.ll
M llvm/test/Transforms/Attributor/nocapture-1.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/out-of-bounds-iterator-bug.ll
M llvm/test/Transforms/FunctionAttrs/readattrs.ll
M llvm/test/Transforms/LICM/promote-capture.ll
Log Message:
-----------
[CaptureTracking] Fix handling for non-returning read-only calls (#158979)
We currently infer `captures(none)` for calls that are read-only,
nounwind and willreturn. As pointed out in
https://github.com/llvm/llvm-project/issues/129090, this is not correct
even with this set of pre-conditions, because the function could
conditionally cause UB depending on the address.
As such, change this logic to instead report `captures(address)`. This
also allows dropping the nounwind and willreturn checks, as these can
also only capture the address.
Commit: 56ebbebadad13688b1991703870f21c06c068fb5
https://github.com/llvm/llvm-project/commit/56ebbebadad13688b1991703870f21c06c068fb5
Author: sstipano <sstipano7 at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
Log Message:
-----------
[AMDGPU][NFC] Add back -new-reg-bank-select flag. (#159181)
Commit: b7f68cb08ca6e6d4a935640e8065d54b1590d144
https://github.com/llvm/llvm-project/commit/b7f68cb08ca6e6d4a935640e8065d54b1590d144
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsExpandPseudo.cpp
M llvm/test/CodeGen/Mips/atomic-min-max.ll
Log Message:
-----------
[Mips] Fix atomic min/max generate mips4 instructions when compiling for mips2 (#149983)
Fix #145411.
Commit: 88c64f76ed2ca226da99b99f60d316b1519fc7d8
https://github.com/llvm/llvm-project/commit/88c64f76ed2ca226da99b99f60d316b1519fc7d8
Author: Gábor Spaits <gaborspaits1 at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
R llvm/test/Transforms/SimplifyCFG/unreachable-multi-basic-block-funclet.ll
Log Message:
-----------
Revert "Reland "[BasicBlockUtils] Handle funclets when detaching EH p… (#159292)
…ad blocks" (#158435)"
This reverts commit 41cef78227eb909181cb9360099b2d92de8d649f.
Commit: 0a7a7d56fc882653335beba0d1f8ea9f26089c22
https://github.com/llvm/llvm-project/commit/0a7a7d56fc882653335beba0d1f8ea9f26089c22
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[llvm][CAS] Enable CAS on 32-bit systems again (#159302)
dd56becdbc31cce16973172f0a447207ddf67861 has fixed the alignment problem
we were seeing on Arm 32-bit.
Commit: 47bd16736245f0d95f868267f26a72080c85004f
https://github.com/llvm/llvm-project/commit/47bd16736245f0d95f868267f26a72080c85004f
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/include/llvm/CodeGen/LexicalScopes.h
Log Message:
-----------
[DebugInfo] Remove class and function names from Doxygen comments in LexicalScopes.h (NFC) (#159310)
Duplication of function and class name in the comment is discouraged in
https://llvm.org/docs/CodingStandards.html#doxygen-use-in-documentation-comments.
Commit: 2c764c6fafaacf53a0d873c6db066e7849654f0e
https://github.com/llvm/llvm-project/commit/2c764c6fafaacf53a0d873c6db066e7849654f0e
Author: David Green <david.green at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/test/Analysis/CostModel/ARM/abs.ll
Log Message:
-----------
[ARM] Correct attributes on abs.ll costmodel test. NFC
Adding mve was a mistake and preventing it from testing the expected
architecture levels.
Commit: 4c16cfff6f31ed7d7942a1dacc5848d281f28e6f
https://github.com/llvm/llvm-project/commit/4c16cfff6f31ed7d7942a1dacc5848d281f28e6f
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-one-by-n-vector-ptr-add.ll
Log Message:
-----------
[NFC][LLVM][AArch64] Add use-constant-int-for-* RUN lines to global-isel tests.
CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
CodeGen/AArch64/GlobalISel/irtranslator-one-by-n-vector-ptr-add.ll
Commit: 152ed59a9f2c644d1888f11b9ba0e7245fd26a54
https://github.com/llvm/llvm-project/commit/152ed59a9f2c644d1888f11b9ba0e7245fd26a54
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/InstCombine/exact.ll
M llvm/test/Transforms/InstCombine/load-store-forward.ll
M llvm/test/Transforms/SCCP/overdefined-ext.ll
Log Message:
-----------
[NFC][LLVM][Tests] Add RUN lines to verify Constant{Int/FP} based splats.
llvm/test/Transforms/Attributor/nofpclass.ll
llvm/test/Transforms/InstCombine/exact.ll
llvm/test/Transforms/InstCombine/load-store-forward.ll
llvm/test/Transforms/SCCP/overdefined-ext.ll
Commit: 1773341f2cf932c6b4fe531ad5da3def545def31
https://github.com/llvm/llvm-project/commit/1773341f2cf932c6b4fe531ad5da3def545def31
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/test/Transforms/InstSimplify/ConstProp/bswap.ll
Log Message:
-----------
[NFC] Regenerate checks - llvm/test/Transforms/InstSimplify/ConstProp/bswap.ll
Commit: 5f34d530d2c6c67a1b2d3e64db3d681462c54514
https://github.com/llvm/llvm-project/commit/5f34d530d2c6c67a1b2d3e64db3d681462c54514
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
Log Message:
-----------
llvm-mc-assemble-fuzzer: Error on MCSubtargetInfo construct failure (#159224)
Commit: 07a79285d2d63615070173e6768b6e0174c18084
https://github.com/llvm/llvm-project/commit/07a79285d2d63615070173e6768b6e0174c18084
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Support/raw_socket_stream.cpp
Log Message:
-----------
Fix _WIN32 Wundef warning; NFC (#159301)
The `_WIN32` macro is tested for defined-ness everywhere else. The
instance here triggers a warning when compiling with `-Wundef`.
Commit: 9690a718b8d5344583eadfbc5bf2249d7d39b777
https://github.com/llvm/llvm-project/commit/9690a718b8d5344583eadfbc5bf2249d7d39b777
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/IR/Instructions.cpp
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/infer-align-from-assumption.ll
Log Message:
-----------
[IR][CaptureTracking] Consider assume operand bundles captures(none) (#159083)
Something like `call void @llvm.assume(i1 true) ["align"(ptr %p, i64 8)]`
is equivalent to placing an `align 8` attribute on the parameter
and should not be considered as capturing.
Commit: 1dbb932fd8681930ed98fe621bbe4bdaa5aeaa5c
https://github.com/llvm/llvm-project/commit/1dbb932fd8681930ed98fe621bbe4bdaa5aeaa5c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
A llvm/test/MachineVerifier/AMDGPU/test_copy_physregs_llt_virtreg.mir
M llvm/test/MachineVerifier/test_copy_physregs_x86.mir
Log Message:
-----------
GlobalISel: Relax verifier between physreg and typed vreg (#159281)
Accept mismatched register size and type size if the type is legal
for the register class.
For AMDGPU boolean registers have 2 possible interpretations depending
on the use context type. e.g., these are both equally valid:
%0:_(s1) = COPY $vcc
%1:_(s64) = COPY $vcc
vcc is a 64-bit register, which can be interpreted as a 1-bit or 64-bit
value depending on the use context. SelectionDAG has never required
exact
match between the register size and the used value type. You can assign
a type with a smaller size to a larger register class. Relax the
verifier
to match. There are several hacks holding together these copies in
various places, and this is preparation to remove one of them.
The x86 test change is from what I would consider an X86 usage bug. X86
defines an FR32 register class and F16 register class, but the F16
register
class is functionally an alias of F32 with the same members and size.
There's
no need to have the F16 class.
Commit: 17e008db17be5cf01daf13265adc93d1da257fca
https://github.com/llvm/llvm-project/commit/17e008db17be5cf01daf13265adc93d1da257fca
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Bitcode/upgrade-vector-partial-reduce-add-intrinsic.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-addv.mir
M llvm/test/CodeGen/AArch64/complex-deinterleaving-cdot.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-unrolled-cdot.ll
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/partial-reduction-add.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-partial-reduce.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
M llvm/test/CodeGen/AArch64/sve2p1-dots-partial-reduction.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
M llvm/test/CodeGen/RISCV/rvv/partial-reduction-add.ll
M llvm/test/CodeGen/RISCV/rvv/zvqdotq-sdnode.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
M llvm/test/Transforms/VectorCombine/intrinsic-scalarize.ll
Log Message:
-----------
[IR] NFC: Remove 'experimental' from partial.reduce.add intrinsic (#158637)
The partial reduction intrinsics are no longer experimental, because
they've been used in production for a while and are unlikely to change.
Commit: aac8eb85b223f48bf4b543bcd644e9a62e5d1c0e
https://github.com/llvm/llvm-project/commit/aac8eb85b223f48bf4b543bcd644e9a62e5d1c0e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-copy.mir
Log Message:
-----------
AMDGPU: Fixes for regbankselecting copies of i1 physregs to sgprs (#159283)
If the source register of a copy was a physical sgpr copied to an
s1 value, this would assert.
Commit: d8e1c20a061f4bc2cc87f3f286312f016e571469
https://github.com/llvm/llvm-project/commit/d8e1c20a061f4bc2cc87f3f286312f016e571469
Author: Usha Gupta <usha.gupta at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Clarify norecurse attribute definition when a function could occur in a cycle in dynamic call-graph (#157087)
Update the definition of the `norecurse` attribute to forbid marking a
function as `norecurse` if any call path from its body may reach it
(possibly through an external function without a visible definition).
This makes it clear that `norecurse` excludes both direct and mutual
recursion, even when recursion could arise through callees in separate
modules.
This kind of scenario only arises when norecurse is forced through a llvm user option `-mllvm -force-attribute=<fname>:norecurse`
There are a few examples in
https://github.com/llvm/llvm-project/issues/157081 which shows that the
function attribute inference incorrectly infers norecurse when the
behavior (as per new definition) is not enforced.
Commit: 01ee9fe66c6bd334a66d2d10bbde3ecc5d014df9
https://github.com/llvm/llvm-project/commit/01ee9fe66c6bd334a66d2d10bbde3ecc5d014df9
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
Log Message:
-----------
[clang-tidy] Fix bazel build after #131804 (lazy style). (#159289)
This PR provides a quick fix for the bazel builds that got broken by
#131804. That PR introduced a new CMake option that enables custom
clang-tidy checks that are provided by cmake-query. This PR disables
those checks, which is the minimal fix. A more proper fix would
introduce a new `custom` check that is added to the tool if a particular
flag value is set; however, the library depends on clang-query, which
isn't part of the bazel build, yet, and I don't want to spend the time
now to make all of that work as well. The discussion in the PR provides
my current state in case somebody wants to pick up that work.
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: 385c9f5b0244b6e9ff33856852aafc04e6b370a3
https://github.com/llvm/llvm-project/commit/385c9f5b0244b6e9ff33856852aafc04e6b370a3
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
Log Message:
-----------
[MLIR] Cleanup `constantTripCount()` (NFC) (#159307)
Add post-merge review comments on #158679
Commit: 5cbaf5552e9cab25dc3eb760ffb5ab7d3dd59249
https://github.com/llvm/llvm-project/commit/5cbaf5552e9cab25dc3eb760ffb5ab7d3dd59249
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
M clang/test/Analysis/ArrayBound/assumption-reporting.c
M clang/test/Analysis/ArrayBound/verbose-tests.c
Log Message:
-----------
[analyzer] Show element count in ArrayBound underflow reports (#158639)
The underflow reports of checker security.ArrayBound previously
displayed the (negative) byte offset of the accessed location; but those
numbers were a bit hard to decipher (especially when the elements were
large structs), so this commit replaces the byte offset with an index
value (if the offset is an integer multiple of the size of the accessed
element).
This change only affects the content of the messages; the checker will
find the same issues before and after this commit.
Commit: 6a16f1a6f4aca8957c9c1f672f2572c662ddf562
https://github.com/llvm/llvm-project/commit/6a16f1a6f4aca8957c9c1f672f2572c662ddf562
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][ExprConst] Assert that EvaluateAsInitializer has non-null VD (#159274)
Both the expression (the initializer) as well as the VarDecl can't be
null here. Assert that.
Commit: 6a726e9a4d3d05f9aecf366fb6488d63135f04f3
https://github.com/llvm/llvm-project/commit/6a726e9a4d3d05f9aecf366fb6488d63135f04f3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/test/Analysis/ScalarEvolution/mul-udiv-folds.ll
M llvm/test/Transforms/LoopStrengthReduce/duplicated-phis.ll
Log Message:
-----------
[SCEV] Add more tests for MUL/UDIV folds.
Add additional test coverage for
https://github.com/llvm/llvm-project/pull/157656 covering cases where
the dividend is not a multiple of the divisor, causing the revert of
70012fda631.
Commit: ce5124856e019792783de9630d0c5a1f0aaf2d9d
https://github.com/llvm/llvm-project/commit/ce5124856e019792783de9630d0c5a1f0aaf2d9d
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
Log Message:
-----------
[Clang] Fix an incorrect assertion in `Sema::CheckAddressOfOperand` (#159314)
Not all non-type template arguments are modeled as
NonTypeTemplateParmDecl.
Fixes #151531
Commit: fe8e703aaf2c1a7eeceb153aa7a51bab4c06dab5
https://github.com/llvm/llvm-project/commit/fe8e703aaf2c1a7eeceb153aa7a51bab4c06dab5
Author: Bruno De Fraine <brunodf at synopsys.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseStmt.cpp
Log Message:
-----------
[clang][Parse] Use consistent Scope::ScopeFlags enum values (NFC) (#159275)
Commit 438863a changed the underlying type of the Scope::ScopeFlags from
int to unsigned. This triggers type mismatch warnings from specific
compilers when the enum's values are combined in operations with integer
literal 0. Regardless of these warnings, similar code in other places
uses Scope::NoScope instead of literal 0. For consistency and to avoid
these warnings, we change the uses of literal 0 to Scope::NoScope.
Commit: e969bd71221bd45b5a64aaed5ae1d227b7242c0f
https://github.com/llvm/llvm-project/commit/e969bd71221bd45b5a64aaed5ae1d227b7242c0f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/State.cpp
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][ExprConst] Move getLangOpts() to interp::State subclasses (#159280)
Instead of having `State::getLangOpts()`, which does a virtual call to
`getASTContext()` to call `getLangOpts()` on that, just move
`getLangOpts()` to the subclasses so we can do that without the virtual
call. We never call `getLangOpts()` in `State.cpp`, so it's not needed
in the base class.
Commit: f78150d2d477b31b46d1afdd255020689f2ddccf
https://github.com/llvm/llvm-project/commit/f78150d2d477b31b46d1afdd255020689f2ddccf
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/mul-udiv-folds.ll
M llvm/test/Transforms/LoopStrengthReduce/duplicated-phis.ll
Log Message:
-----------
Reapply "[SCEV] Fold (C1 * A /u C2) -> A /u (C2 /u C1), if C2 > C1." (#158328)
This reverts commit fd58f235f8c5bd40d98acfd8e7fb11d41de301c7.
The recommit contains an extra check to make sure that D is a multiple of
C2, if C2 > C1. This fixes the issue causing the revert fd58f235f8c. Tests
have been added in 6a726e9a4d3d0.
Original message:
If C2 >u C1 and C1 >u 1, fold to A /u (C2 /u C1).
Depends on https://github.com/llvm/llvm-project/pull/157555.
Alive2 Proof: https://alive2.llvm.org/ce/z/BWvQYN
PR: https://github.com/llvm/llvm-project/pull/157656
Commit: eb8e8e87c6b5256f55551cf24f96a4cc54177a42
https://github.com/llvm/llvm-project/commit/eb8e8e87c6b5256f55551cf24f96a4cc54177a42
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.h
Log Message:
-----------
[NFC] Fic clangIR build after #158679
The commit from #158679 added getStaticTripCount to LoopLikeOpInterface,
which the CIRLoopOpInterface uses. However, it doesn't include APInt.
This patch adds an include for APInt to CIRLoopOpInterface, plus a
'using', as we're likely to run into this again.
Commit: e8aa0b688af4f190f6da359f8b3d442bc7cd82a1
https://github.com/llvm/llvm-project/commit/e8aa0b688af4f190f6da359f8b3d442bc7cd82a1
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
Log Message:
-----------
[LV]: Ensure fairness when selecting epilogue VF. (#155547)
Consider IC when deciding if epilogue profitable for scalable vectors,
same as fixed-width vectors.
Commit: db204d92191b370891ef69c621c092a5c9c417bf
https://github.com/llvm/llvm-project/commit/db204d92191b370891ef69c621c092a5c9c417bf
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/include/llvm/MC/MCDecoder.h
M llvm/test/TableGen/BitOffsetDecoder.td
M llvm/test/TableGen/DecoderEmitter/VarLenDecoder.td
M llvm/test/TableGen/DecoderEmitter/operand-decoder.td
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen][DecoderEmitter] Inline `insertBits()` (NFC) (#159353)
`tmp` is always of integer type, so we can use bitwise OR and shift.
Commit: 1f05682d7634d644cd6fd7141c84ee3ab58c26ab
https://github.com/llvm/llvm-project/commit/1f05682d7634d644cd6fd7141c84ee3ab58c26ab
Author: hstk30-hw <hanwei62 at huawei.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
Log Message:
-----------
[clang] Remove redundant conditions (NFC) (#159349)
Commit: 170c0c52250dab52cbb63de25ad16ff97a407cbf
https://github.com/llvm/llvm-project/commit/170c0c52250dab52cbb63de25ad16ff97a407cbf
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Lower/box-address.f90
Log Message:
-----------
[Flang] Handle unused entry dummies before processing shape (#157732)
Check for unused entry dummy arrays with BaseBoxType that calls
genUnusedEntryPointBox() before processing array shapes.
Fixes #132648
Commit: 1c2d7b3065dc143289d1e05caeeb7f77fac6575a
https://github.com/llvm/llvm-project/commit/1c2d7b3065dc143289d1e05caeeb7f77fac6575a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Fix a warning
This patch fixes:
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:19079:7: error:
unused variable 'VT' [-Werror,-Wunused-variable]
Commit: d6315a260baddd5454a02878a78f0e9ae41860d9
https://github.com/llvm/llvm-project/commit/d6315a260baddd5454a02878a78f0e9ae41860d9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[clang][BufferUsage] Fix a StringRef lifetime issue (#159109)
The code before assigned the `std::string` returned from
`tryEvaluateString()` to the `StringRef`, but it was possible that the
underlying data of that string vanished in the meantime, passing invalid
stack memory to `ParsePrintfString`.
Fix this by using two different code paths for the `getCharByteWidth()
== 1` case and the `tryEvaluateString()` one.
Commit: 2b2b580c8d4560e724cca7ca856ce7171c3a4628
https://github.com/llvm/llvm-project/commit/2b2b580c8d4560e724cca7ca856ce7171c3a4628
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation-inst-size-gfx11.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/clamp-modifier.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/rotl.ll
M llvm/test/CodeGen/AMDGPU/rotr.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
M llvm/test/CodeGen/AMDGPU/spillv16.ll
Log Message:
-----------
[AMDGPU][CodeGen][True16] Track waitcnt as vgpr32 instead of vgpr16 for D16 Instructions in GFX11 (#157795)
It seems the VMEM access on hi/lo half could interfere the other half.
Track waitcnt of vgpr32 instead of vgpr16 for 16bit reg in GFX11.
---------
Co-authored-by: Joe Nash <joseph.nash at amd.com>
Commit: 901eaeeb8d8e0e1ec3f2deba9fe8ef292b448757
https://github.com/llvm/llvm-project/commit/901eaeeb8d8e0e1ec3f2deba9fe8ef292b448757
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/include/llvm/Support/YAMLTraits.h
Log Message:
-----------
[Support] Consolidate has_FlowTraits in YAMLTraits.h (NFC) (#159241)
has_FlowTraits has two implementations:
- "class has_FlowTraits" says false on non-class types.
- "struct has_FlowTraits" checks for a "flow" member on class types.
This patch eliminates the former because std::is_class is redundant if
we are checking to see if &U::flow is well formed. The comment block
being removed in this patch has been around since 2012. I'd assume
that host compilers have improved since then. Note that we are now
using is_detected, which wasn't the case back in 2012.
Commit: 36c0eabd0cc077d4b83524771a4d0c85aed54fde
https://github.com/llvm/llvm-project/commit/36c0eabd0cc077d4b83524771a4d0c85aed54fde
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/docs/Passes.rst
Log Message:
-----------
[llvm] Proofread Passes.rst (#159243)
Commit: 562fe413e06aa12fc91eb22ca9c7386239f5af4a
https://github.com/llvm/llvm-project/commit/562fe413e06aa12fc91eb22ca9c7386239f5af4a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/ilist_node.h
Log Message:
-----------
[ADT] Use std::conditional_t to simplify ilist_select_iterator_type (NFC) (#159240)
Without this patch, ilist_select_iterator_type uses a boolean template
parameter to select one of two types. This patch converts that to
std::conditional_t, which is simpler than the two-class solution.
Commit: 80f9c72a1e045aa012b88c1b32cc6c5bb008a3db
https://github.com/llvm/llvm-project/commit/80f9c72a1e045aa012b88c1b32cc6c5bb008a3db
Author: Anton Shepelev <44649959+amemov at users.noreply.github.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/shared/math.h
A libc/shared/math/rsqrtf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/rsqrtf16.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/rsqrtf16.cpp
A libc/src/math/rsqrtf16.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/rsqrtf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/rsqrtf16_test.cpp
M libc/utils/MPFRWrapper/MPCommon.cpp
M libc/utils/MPFRWrapper/MPCommon.h
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math][c23] Add rsqrtf16() function (#137545)
Addresses #132818
Part of #95250
Commit: 8ed489914e5bdfe65e1c8fdeec335f21cd7b33a1
https://github.com/llvm/llvm-project/commit/8ed489914e5bdfe65e1c8fdeec335f21cd7b33a1
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/cmake/caches/PGO.cmake
Log Message:
-----------
Revert "[Clang][CMake] Use IRPGO instead of FE PGO for Cmake Caches (#155957)" (#159367)
This reverts commit 7fca1f841b4c226d50ab7bad64de5db225d4193b.
PR #55957 breaks the BOLT buildbot bolt-aarch64-ubuntu-clang:
https://lab.llvm.org/staging/#/builders/126
Example build:
https://lab.llvm.org/staging/#/builders/126/builds/2628
> ld.lld:
/home/buildbot/workspace/bolt-aarch64-ubuntu-clang/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10194:
bool llvm::LoopVectorizePass::processLoop(llvm::Loop*): Assertion
`!verifyFunction(*F, &dbgs())' failed.
Commit: b2f38637cd3635a186da9d3a8776fe0b395f01de
https://github.com/llvm/llvm-project/commit/b2f38637cd3635a186da9d3a8776fe0b395f01de
Author: pkarveti <quic_pkarveti at quicinc.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
A llvm/test/CodeGen/Hexagon/isel-uinttofp-v32i1tov32f32.ll
A llvm/test/CodeGen/Hexagon/isel-uinttofp-v64i1tov64f16.ll
Log Message:
-----------
[Hexagon] Added v32i1/v64i1 to v32f32/v64f16 lowering (#159355)
This patch introduces uint_to_fp conversions from v32i1 and v64i1
predicate vectors to v32f32 and v64f16 floating-point vectors.
Patch-by: Santanu Das
Co-authored-by: quic-santdas <quic_santdas at quicinc.com>
Commit: acc3a6234a91369b818fdd6482ded0ac32d8ffa6
https://github.com/llvm/llvm-project/commit/acc3a6234a91369b818fdd6482ded0ac32d8ffa6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/__hash_table
M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_range.pass.cpp
Log Message:
-----------
Revert "[libc++] Optimize __hash_table::erase(iterator, iterator) (#1… (#158769)
…52471)"
This reverts commit e4eccd6a3c2415c10bb8217c247d7aca76cc9ad5.
This was causing ASan failures in some situations involving unordered
multimap containers. Details and a reproducer were posted on the
original PR (#152471).
Commit: 51a840e762f506c2473f9f0cbc01b6336f99e6d1
https://github.com/llvm/llvm-project/commit/51a840e762f506c2473f9f0cbc01b6336f99e6d1
Author: Andrew Haberlandt <ndrewh at users.noreply.github.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
M compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
Log Message:
-----------
[sanitizer_common][tsan][Darwin] Improve message for unsupported vm config on Apple platforms (#158665)
An existing log message is triggered in InitializePlatformEarly if the
address space max is not as sufficient for TSAN.
Some Apple platforms expand the address space limit, but reserve much of
the space TSAN needs. Therefore, we now check that the kernel has not
mapped over the address space that we intend to use.
IsAddressInMappedRegion is added to sanitizer_common. This introduces a
new dependency on mach_vm_region_recurse during TSAN startup, so this
intentionally fails softly (to avoid breaking current users who may be
in a sandbox that doesn't allow this).
rdar://135265279
Commit: d2738c0690c3fd6a10fc1ae8c5e1ec9345d06b2d
https://github.com/llvm/llvm-project/commit/d2738c0690c3fd6a10fc1ae8c5e1ec9345d06b2d
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-args.c
Log Message:
-----------
Fix crash in 'malloc' referring to function without a argument (#159371)
As reported in #159080, patch #68059 didn't correctly check for the
argument count of the target function from malloc to ensure it has an
argument. This patch corrects that check.
Fixes: #159080
---------
Co-authored-by: Sergei Barannikov <barannikov88 at gmail.com>
Commit: de4fdccb7a1632923cca19e0e30b0476afb9f3ce
https://github.com/llvm/llvm-project/commit/de4fdccb7a1632923cca19e0e30b0476afb9f3ce
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Test lit when it is changed (#159359)
This patch makes it so that we run the lit tests when lit is changed.
This can make it much easier to catch portability issues with the tests
(like tests not working properly on Windows). It's also helpful as we
spend time working on enabling the internal shell by default.
Commit: c919109aa96cae7b72eb9cc3f1559706e36a3c0b
https://github.com/llvm/llvm-project/commit/c919109aa96cae7b72eb9cc3f1559706e36a3c0b
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
Log Message:
-----------
[scudo] Move the trace point in releaseToOSMaybe (#159204)
Move the trace point until right before the mark free blocks call for
the primary. This avoids adding extra calculations on a fast path.
Commit: 05c4681668d0acd15a5a06e91be94916acd1c799
https://github.com/llvm/llvm-project/commit/05c4681668d0acd15a5a06e91be94916acd1c799
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
A llvm/test/Transforms/SCCP/relax-range-checks.ll
Log Message:
-----------
[SCCP] Relax two-instruction range checks (#158495)
If we know x in R1, the range check `x in R2` can be relaxed into `x in
Union(R2, Inverse(R1))`. The latter one may be more efficient if we can
represent it with one icmp.
Fixes regressions introduced by
https://github.com/llvm/llvm-project/pull/156497.
Proof for `(X & -Pow2) == C -> (X - C) < Pow2`:
https://alive2.llvm.org/ce/z/HMgkuu
Compile-time impact:
https://llvm-compile-time-tracker.com/compare.php?from=ead4f3e271fdf6918aef2ede3a7134811147d276&to=bee3d902dd505cf9b11499ba4f230e4e8ae96b92&stat=instructions%3Au
Commit: 57d67bec6d708b8266f09d06d7841739d4f53d5a
https://github.com/llvm/llvm-project/commit/57d67bec6d708b8266f09d06d7841739d4f53d5a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[DAG] getNode() - reuse result type instead of calling getValueType again. NFC. (#159381)
We have assertions above confirming VT == N1.getValueType() for INSERT_VECTOR_ELT nodes.
Commit: af39a17a699eb0688782cb5f21412cd391bd44a0
https://github.com/llvm/llvm-project/commit/af39a17a699eb0688782cb5f21412cd391bd44a0
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/modernize/return-braced-init-list.cpp
Log Message:
-----------
[clang-tidy] Enable `modernize-return-braced-init-list`'s tests in C++11 (#158196)
The check supports C++11, but isn't tested in it.
Commit: 7a098aecb65cc6ca9c877825c9436a51c36ab48d
https://github.com/llvm/llvm-project/commit/7a098aecb65cc6ca9c877825c9436a51c36ab48d
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv32zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Implement computeKnownBitsForTargetNode for SHL_ADD (#159105)
Commit: 6922f0e0aca40c9a5d160da89453443f902c2951
https://github.com/llvm/llvm-project/commit/6922f0e0aca40c9a5d160da89453443f902c2951
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Remove dead vector.partial.reduce DAGCombine (NFC) (#159362)
This intrinsic is already lowered in SelectionDAGBuilder.cpp into
ISD::PARTIAL_REDUCE_UMLA, so the DAGCombine will never trigger. The
optimisations we were doing are also superseded by generic ones in
DAGCombiner.cpp.
Commit: bf684e0f2f97c56cdea9e36b6dacde48dc5cc269
https://github.com/llvm/llvm-project/commit/bf684e0f2f97c56cdea9e36b6dacde48dc5cc269
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M flang-rt/lib/runtime/namelist.cpp
M flang/docs/Extensions.md
Log Message:
-----------
[flang][runtime] Disable namelist storage sequence input when defined (#158708)
The runtime supports a near-universal extension to namelist input that
allows reading a sequence of values into a storage sequence beginning at
an array element, e.g. &NML A(2)=1. 2. 3. / .
Disable this extension when the type of the array has a defined
formatted READ subroutine defined. That defined input procedure may
itself not be using list-directed input, and might not notice a
following slash or new input item name as such.
Fixes https://github.com/llvm/llvm-project/issues/158496.
Commit: 615977a5bc63fc346d35dff68f69a64be6822301
https://github.com/llvm/llvm-project/commit/615977a5bc63fc346d35dff68f69a64be6822301
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/resolve127.f90
Log Message:
-----------
[flang] Fix name resolution bug (#158749)
When the current scope is an implied DO loop nested within a derived
type declaration, it is possible for name resolution to mistakenly
resolve a name to a component rather than to a name in the outer scope.
Fix.
Fixes https://github.com/llvm/llvm-project/issues/158412.
Commit: 2b0f25d9c3fbabce9e53f349ee6775157755e91d
https://github.com/llvm/llvm-project/commit/2b0f25d9c3fbabce9e53f349ee6775157755e91d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
A flang/test/Semantics/bug158405.f90
Log Message:
-----------
[flang] Fix crash in error recovery (#158750)
Code to attach a procedure's declaration to an error message did not
allow for ENTRY names, which can be in the global scope.
Fixes https://github.com/llvm/llvm-project/issues/158405.
Commit: 8fb02fae9957e828e91b4844bc7514fb319ec5d9
https://github.com/llvm/llvm-project/commit/8fb02fae9957e828e91b4844bc7514fb319ec5d9
Author: Andrew Haberlandt <ndrewh at users.noreply.github.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
A compiler-rt/test/asan/TestCases/Darwin/sandbox-vm-region-recurse.cpp
Log Message:
-----------
[sanitizer-common][Darwin] Improve mach_vm_region_recurse error handling (#158670)
Some sanitizers use mach_vm_region_recurse on macOS to find a
sufficiently large gap to allocate shadow memory. Some sandboxes do not
allow this.
When we get KERN_DENIED, we suggest to the user that it may have been
blocked by the sandbox.
For error codes other than KERN_INVALID_ADDRESS and KERN_DENIED, we make
sure to log a message and not use the address.
rdar://160625998
Commit: deb2861b07e503b729b854edbffdeae7cd4a1aa6
https://github.com/llvm/llvm-project/commit/deb2861b07e503b729b854edbffdeae7cd4a1aa6
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M flang/lib/Semantics/runtime-type-info.cpp
Log Message:
-----------
[flang] Allow for equivalent types in non-TBP defined I/O (#158755)
Non-extensible derived type -- those with SEQUENCE or BIND(C) -- are
allowed as monomorphic "dtv" dummy arguments to defined I/O subroutines.
Fortran's type rules admit structural equivalence for these types, and
it's possible that I/O might be attempted in a scope using a
non-extensible type that's equivalent to a non-type-bound generic
interface's specific procedure's "dtv" dummy argument's type, but not
defined in the same place.
Fixes https://github.com/llvm/llvm-project/issues/158673.
This is an IBM Fortran test case that doesn't need to be duplicated in
LLVM.
Commit: 1b777752ef1b4532710ffe443466c743b9d54e98
https://github.com/llvm/llvm-project/commit/1b777752ef1b4532710ffe443466c743b9d54e98
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M flang-rt/lib/runtime/unit.cpp
Log Message:
-----------
[flang][runtime] Block bad left tabbing in child I/O (#158758)
Child I/O subroutines are not supposed to use T or TL control edit
descriptors in formats to move the position in the current record to a
point before where it stood at the time of their calls (F'2023
12.6.4.8.3 paragraph 18), but we should also guard against attempts to
do so, using the same means used to prevent such attempts in
non-advancing I/O.
Fixes https://github.com/llvm/llvm-project/issues/158723.
Commit: a20f123bab318ae40950d4713b86d9f18d21bba9
https://github.com/llvm/llvm-project/commit/a20f123bab318ae40950d4713b86d9f18d21bba9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Remove unused SDTypeProfile. NFC (#159156)
Commit: fdd989dac0f2bf06501dd115917f403cbfb9dc35
https://github.com/llvm/llvm-project/commit/fdd989dac0f2bf06501dd115917f403cbfb9dc35
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M flang/lib/Parser/characters.cpp
A flang/test/Parser/utf8-01.f90
Log Message:
-----------
[flang] Fix UTF-8 minimality checks (#159142)
UTF-8 encodings are required to be minimal, but the checks for
minimality of 3-byte and 4-byte sequences were incorrect. Fix.
Commit: 59c77e7ec1ad65d630df227a9df13b5f78929b7a
https://github.com/llvm/llvm-project/commit/59c77e7ec1ad65d630df227a9df13b5f78929b7a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-do-forall.h
A flang/test/Semantics/definable07.f90
Log Message:
-----------
[flang] Check I/O implied DO indices better (#159150)
We're not checking READ statement implied DO index variables at all, and
we're not checking them for definability.
Commit: ae46b9ed64d8012435040b4f5924644995f9739f
https://github.com/llvm/llvm-project/commit/ae46b9ed64d8012435040b4f5924644995f9739f
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M flang-rt/lib/runtime/namelist.cpp
Log Message:
-----------
[flang][runtime] Fix bug with NAMELIST in child input (#159173)
Don't let "hitSlash_" flag in child input propagate back to the parent
input statement's state when the child input was NAMELIST and the
NAMELIST input has properly consumed the terminal '/' character. (It can
get set if NAMELIST item input ran into it.) The current failure to
reset that flag is causing list-directed parent input to stop early.
Fixes https://github.com/llvm/llvm-project/issues/159127.
Commit: d90a313b5e90771c0956b5fdd2814bc93bf414de
https://github.com/llvm/llvm-project/commit/d90a313b5e90771c0956b5fdd2814bc93bf414de
Author: Ryan Cowan <ryan at holycowman.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmaximum.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-fminimum.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalize more G_VECREDUCE_FMIN/FMAX operations. (#159082)
Enabling scalarisation for `G_VECREDUCE_FMIN` and `G_VECREDUCE_FMAX`
allows for more instructions to be handled such as `v2fp128`.
Commit: 48f00e81338e637b8210d3320527d4f389d5343b
https://github.com/llvm/llvm-project/commit/48f00e81338e637b8210d3320527d4f389d5343b
Author: Dave Bartolomeo <dave_bartolomeo at apple.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
A clang/lib/StaticAnalyzer/Core/PlistDiagnostics.h
M clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
A clang/lib/StaticAnalyzer/Core/SarifDiagnostics.h
A clang/test/Analysis/diagnostics/Inputs/expected-plists/plist-html.c.plist
M clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif
A clang/test/Analysis/diagnostics/plist-html.c
M clang/test/Analysis/diagnostics/sarif-multi-diagnostic-test.c
Log Message:
-----------
[analyzer] Prevent triplicate warnings for `sarif-html` (#158112)
When `-analyzer-output=sarif-html` is specified, the analyzer was
reporting each warning to the console three times. This is because the
code to create the diagnostic consumers for `sarif-html` was calling the
code for `sarif` and `html` separately, each of which also creates its
own console text consumer. Then the `sarif-html` code itself created a
third.
The fix is to factor out the creation of the SARIF and HTML consumers
from the text consumers, so `sarif-html` just calls the code to create
the SARIF and HTML consumers without the text consumers.
The same fix applies for `plist-html`.
I've updated one of the SARIF tests to specify `sarif-html`. This test
would fail in the regular `-verify` validation due to the triplicated
warnings, but now passes with my fix.
Fixes #158103
rdar://160383710
Commit: 2ce04d0a410d3c7c6b13b869bd34ec462d285a91
https://github.com/llvm/llvm-project/commit/2ce04d0a410d3c7c6b13b869bd34ec462d285a91
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Refactor a long `if` into an early `return` (#156410)
Commit: 97dfc09c235d23f8da33dddbb902e9e03eb51b44
https://github.com/llvm/llvm-project/commit/97dfc09c235d23f8da33dddbb902e9e03eb51b44
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
A clang/test/AST/cfi-unchecked-callee.cpp
M clang/test/Frontend/cfi-unchecked-callee-attribute.cpp
Log Message:
-----------
[clang] Do not diagnose conflicting types for cfi_unchecked_callee (#157762)
Clang would complain about conflicting types between a function
declaration and definition if the declaraion was marked with the
attribute but the definition wasn't. Do not treat this as an error. It
should only be necessary to mark the declaration with the attribute.
Commit: c9285166214db4236f26312f68bba91f6437bd6f
https://github.com/llvm/llvm-project/commit/c9285166214db4236f26312f68bba91f6437bd6f
Author: Sterling-Augustine <saugustine at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/SFrame.h
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSFrame.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSFrame.cpp
A llvm/test/MC/ELF/cfi-sframe-encoding.s
A llvm/test/MC/ELF/cfi-sframe-fre-cases.s
M llvm/test/MC/ELF/cfi-sframe.s
Log Message:
-----------
[SFrames] Emit and relax FREs (#158154)
This PR emits and relaxes the FREs generated in the previous PR.
After this change llvm emits usable sframe sections that can be
linked with the gnu linker. There are a few remaining cfi directives to
handle before they are generally usable, however.
The output isn't identical with gnu-gas in every case (this code
produces
fewer identical FREs in a row than gas), but I'm reasonably sure that
they are correct regardless. There are even more size optimizations that
can be done later.
Also, while working on the tests, I found a few bugs in older portions
and cleaned those up.
This is a fairly big commit, but I'm not sure how to make it smaller.
Commit: d0bdc5d94502b9fb829bb7cb5f9d2f5bbccdbb2f
https://github.com/llvm/llvm-project/commit/d0bdc5d94502b9fb829bb7cb5f9d2f5bbccdbb2f
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M lldb/test/API/functionalities/postmortem/netbsd-core/TestNetBSDCore.py
Log Message:
-----------
[lldb][test] Disable parallel module loading for TestNetBSDCore.py (#159395)
Since #157170 this test has been flakey on several LLDB buildbots. I
suspect it's to do with mutli-threading, there are more details in
#159377.
Disable parallel loading for now so we are not spamming people making
unrelated changes.
Commit: a50c11a71515bacb0ece27fceec52fc120e85710
https://github.com/llvm/llvm-project/commit/a50c11a71515bacb0ece27fceec52fc120e85710
Author: David Green <david.green at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/test/CodeGen/AArch64/aarch64-tail-dup-size.ll
M llvm/test/CodeGen/AArch64/global-merge-external.ll
M llvm/test/CodeGen/AArch64/local-bounds-single-trap.ll
Log Message:
-----------
[AArch64] Enable GlobalMerge on externals (#158592)
GlobalMerge has been enabled for minsize for a while, this patch enables
it more generally. In my testing it did not affect performance very
much, especially with the linker relaxations we already perform, but
should help reduce code size a little.
Commit: 5f8bce4900b65b509ca1f9bf0a616409a77ced37
https://github.com/llvm/llvm-project/commit/5f8bce4900b65b509ca1f9bf0a616409a77ced37
Author: David Green <david.green at arm.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
Log Message:
-----------
[GlobalISel] Remove virtual from GISelValueTracking computeKnownBitsImpl. (#158558)
As far as I understand, GISelValueTracking::computeKnownBitsImpl does
not need to be virtual, as no-one is specializing / overriding it, which
means it is not necessary for the destructor either.
Commit: 00dc72fa1f328ae52554c5d404460de7381cb7f7
https://github.com/llvm/llvm-project/commit/00dc72fa1f328ae52554c5d404460de7381cb7f7
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[CAS] LLVM_ENABLE_ONDISK_CAS requires `flock` on UNIX (#159207)
As a follow up to #159122, after figure out reason why CAS unit tests
are failing on Solaris, update the CMake configuration to build ondisk
CAS implementation. We now check the existance of `flock` before
enabling the configuration.
In the future, we can find ways to support OnDiskCAS on other platforms
that do not have `flock`. This can techinically be done with a POSIX
compilant file lock but that will put a restriction on the usage of CAS.
Commit: 087f4fc91b9665dced0007f82a38a0ddb0be79fd
https://github.com/llvm/llvm-project/commit/087f4fc91b9665dced0007f82a38a0ddb0be79fd
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
Log Message:
-----------
[HLSL] Remove resource constructors with binding (#157008)
Removes resource constructors that take binding information per proposal update https://github.com/llvm/wg-hlsl/pull/336. The constructors are replaced by static `__createFromBinding` and `__createFromImplicitBinding` methods on the resource class.
Commit: 6fdecaa7709a395c3ad5f47928f0290fbd0446c9
https://github.com/llvm/llvm-project/commit/6fdecaa7709a395c3ad5f47928f0290fbd0446c9
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang-tools-extra/CMakeLists.txt
M clang-tools-extra/clang-tidy/CMakeLists.txt
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidy.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyForceLinker.h
M clang-tools-extra/clang-tidy/ClangTidyModule.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/clang-tidy-config.h.cmake
R clang-tools-extra/clang-tidy/custom/CMakeLists.txt
R clang-tools-extra/clang-tidy/custom/CustomTidyModule.cpp
R clang-tools-extra/clang-tidy/custom/QueryCheck.cpp
R clang-tools-extra/clang-tidy/custom/QueryCheck.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/Contributing.rst
R clang-tools-extra/docs/clang-tidy/QueryBasedCustomChecks.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
R clang-tools-extra/test/clang-tidy/checkers/custom/Inputs/clang-tidy.yml
R clang-tools-extra/test/clang-tidy/checkers/custom/Inputs/incorrect-clang-tidy.yml
R clang-tools-extra/test/clang-tidy/checkers/custom/query-incorrect-query.cpp
R clang-tools-extra/test/clang-tidy/checkers/custom/query-partially-active-check.cpp
R clang-tools-extra/test/clang-tidy/checkers/custom/query.cpp
R clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/append-clang-tidy.yml
R clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/empty-clang-tidy.yml
R clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/override-clang-tidy.yml
R clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/root-clang-tidy.yml
R clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/vfsoverlay.yaml
R clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check-not-enable.cpp
R clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check.cpp
M clang-tools-extra/unittests/clang-tidy/CMakeLists.txt
M clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
Log Message:
-----------
Revert "[clang-tidy] support query based custom check" (#159380)
Reverts llvm/llvm-project#131804.
This breaks a build bot; see discussion in the original PR. I could
reproduce this problem locally. The problem is that the original PR
makes use of `registerCustomChecks` in `ClangTidy.cpp` but does not add
the new custom module to the dependencies of the target that builds that
file. Adding the dependency would create a cyclic dependency, so the fix
doesn't seem obvious. See details in the PR description.
Commit: 2bf62e767119369e90670ca5bdd73a54193041e2
https://github.com/llvm/llvm-project/commit/2bf62e767119369e90670ca5bdd73a54193041e2
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
Log Message:
-----------
Revert "[clang-tidy] Fix bazel build after #131804 (lazy style)." (#159382)
Reverts llvm/llvm-project#159289.
This is a fix for #131804, which is being reverted.
Commit: 0227b791ff0860dca9c5a79fe229cfb1cb886db1
https://github.com/llvm/llvm-project/commit/0227b791ff0860dca9c5a79fe229cfb1cb886db1
Author: Zhixun Tan <phisiart at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/DeadCodeAnalysis.h
M mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
Log Message:
-----------
[mlir][nfc] Minor cleanups in DeadCodeAnalysis (#159232)
* Remove `getOperandValuesImpl` since its only used once.
* Extract common logic from
`DeadCodeAnalysis::visitRegion{BranchOperation,Terminator}` into a new
function `DeadCodeAnalysis::visitRegionBranchEdges`.
In particular, both functions do the following:
* Detect live region branch edges (similar to CFGEdge);
* For each edge, mark the successor program point as executable (so that
subsequent program gets visited);
* For each edge, store the information of the predecessor op and
arguments (so that other analyses know what states to join into the
successor program point).
One caveat is that, before this PR, in `visitRegionTerminator`, the
successor program point is only marked as live if it is the start of a
block; after this PR, the successor program point is consistently marked
as live regardless what it is, which makes the behavior equal to
`visitBranchOperation`. This minor fix improves consistency, but at this
point it is still NFC, because the rest of the dataflow analysis
framework only cares about liveness at block level, and the liveness
information in the middle of a block isn't read anyway. This probably
will change once
[early-exits](https://discourse.llvm.org/t/rfc-region-based-control-flow-with-early-exits-in-mlir/76998)
are supported.
Commit: 9e3ec0e371e08eaf3a876072ea8ea4187d86e2e0
https://github.com/llvm/llvm-project/commit/9e3ec0e371e08eaf3a876072ea8ea4187d86e2e0
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M flang-rt/lib/runtime/misc-intrinsic.cpp
Log Message:
-----------
[Flang][runtime] Fix RENAME intrinsic, remove trailing blanks (#159123)
The RENAME intrinsic did not correctly remove trailing spaces from
filenames. This PR introduces code to remove trailing blanks as
documented by GFortran.
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: 453e4102bd32b892e7fda2aea3f3ef9e9b038580
https://github.com/llvm/llvm-project/commit/453e4102bd32b892e7fda2aea3f3ef9e9b038580
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
A flang/test/Integration/debug-dwarf-flags.f90
A flang/test/Transforms/debug-dwarf-version.fir
Log Message:
-----------
[flang] Lowering support for -gdwarf-N flag. (#159137)
This PR builds on the https://github.com/llvm/llvm-project/pull/158314
and adds the lowering support for `-gdwarf-N` flag. The changes to pass
the information to `AddDebugInfo` pass are mostly mechanical. The
`AddDebugInfo` pass adds `ModuleFlagsOp` in the module which gets
translated to correct llvm metadata during mlir->llvmir translation.
There is minor correction where the version is set to 0 in case no
-debug-version flag is provided. Previously it was set to 2 in this case
due to misreading of clang code.
Commit: 6bbf734ecac35a5a1c3bcb680d20519dfd46da11
https://github.com/llvm/llvm-project/commit/6bbf734ecac35a5a1c3bcb680d20519dfd46da11
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
A clang/test/CodeGen/AArch64/ptrauth-fmv.c
A clang/test/CodeGen/AArch64/resolver-attributes.c
Log Message:
-----------
[FMV] Set default attributes on the resolver functions (#141573)
There is a number of attributes that is expected to be set on functions
by default. This patch implements setting more such attributes on the
FMV resolver functions generated by Clang. On AArch64, this makes the
resolver functions use the default PAC and BTI hardening settings.
Commit: 2caf4c1b26878ebfb8112ddfea35777d8017affa
https://github.com/llvm/llvm-project/commit/2caf4c1b26878ebfb8112ddfea35777d8017affa
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/AST/QualTypeNames.cpp
M clang/unittests/AST/CMakeLists.txt
A clang/unittests/AST/QualTypeNamesTest.cpp
Log Message:
-----------
[AST] Fix an assertion failure in TypeName::getFullyQualifiedName (#159312)
This popped up during our internal integrates of upstream changes. It
started happening after ba9d1c41c41d568a798e0a8c38a89d294647c28d, which
started using `TemplateSpecializationType` in this place and the code
was not prepared to handle it.
Commit: 4ff113f0aa906b130cd19d2a2a61a477c336c315
https://github.com/llvm/llvm-project/commit/4ff113f0aa906b130cd19d2a2a61a477c336c315
Author: Martin Storsjö <martin at martin.st>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp
M lldb/source/Plugins/Process/wasm/ProcessWasm.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb] Add unreachable after fully covered switches, avoid GCC warnings. NFC. (#159327)
This avoids the following kind of warning with GCC:
warning: control reaches end of non-void function [-Wreturn-type]
Commit: ea8555b33e745c8643b20bbf61414328843b5a62
https://github.com/llvm/llvm-project/commit/ea8555b33e745c8643b20bbf61414328843b5a62
Author: Martin Storsjö <martin at martin.st>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Avoid warning about comparison of different signedness. NFC. (#159337)
This fixes the following warning when compiled with GCC:
../lib/Target/AArch64/AArch64ISelLowering.cpp: In function ‘bool shouldLowerTailCallStackArg(const llvm::MachineFunction&, const llvm::CCValAssign&, llvm::SDValue, llvm::ISD::ArgFlagsTy, int)’:
../lib/Target/AArch64/AArch64ISelLowering.cpp:9310: warning: comparison of integer expressions of different signedness: ‘uint64_t’ {aka ‘long unsigned int’} and ‘int64_t’ {aka ‘long int’} [-Wsign-compare]
9310 | if (SizeInBits / 8 != MFI.getObjectSize(FI))
|
Commit: 1c5fcb13e0ef82bacdab3b1d0a63a95f29e76306
https://github.com/llvm/llvm-project/commit/1c5fcb13e0ef82bacdab3b1d0a63a95f29e76306
Author: Martin Storsjö <martin at martin.st>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M lldb/source/Host/common/File.cpp
M lldb/source/Host/windows/Host.cpp
Log Message:
-----------
[lldb] Avoid build warnings when building for Windows. NFC. (#159345)
This avoids the following warnings from Clang:
../../lldb/source/Host/windows/Host.cpp:324:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
324 | default:
| ^
../../lldb/source/Host/common/File.cpp:662:26: warning: cast from 'const void *' to 'char *' drops const qualifier [-Wcast-qual]
662 | .write((char *)buf, num_bytes);
| ^
Commit: 95f213f37c8e1800f7769885a5cd0f0da994a085
https://github.com/llvm/llvm-project/commit/95f213f37c8e1800f7769885a5cd0f0da994a085
Author: Martin Storsjö <martin at martin.st>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
Log Message:
-----------
[clang] Add unreachable after fully covered switches, avoid GCC warnings. NFC. (#159330)
This avoids the following warnings:
../../clang/lib/AST/ExprConstant.cpp: In member function ‘bool {anonymous}::IntExprEvaluator::VisitBuiltinCallExpr(const clang::CallExpr*, unsigned int)’:
../../clang/lib/AST/ExprConstant.cpp:14104:3: warning: this statement may fall through [-Wimplicit-fallthrough=]
14104 | }
| ^
../../clang/lib/AST/ExprConstant.cpp:14105:3: note: here
14105 | case Builtin::BIstrlen:
| ^~~~
../../clang/lib/Driver/ToolChains/CommonArgs.cpp: In function ‘std::string clang::driver::tools::complexRangeKindToStr(clang::LangOptionsBase::ComplexRangeKind ’:
../../clang/lib/Driver/ToolChains/CommonArgs.cpp:3523:1: warning: control reaches end of non-void function [-Wreturn-type]
3523 | }
| ^
Commit: 6db244a58626e885ba010b3d6813191485e18e90
https://github.com/llvm/llvm-project/commit/6db244a58626e885ba010b3d6813191485e18e90
Author: Martin Storsjö <martin at martin.st>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M llvm/tools/llvm-lipo/llvm-lipo.cpp
Log Message:
-----------
Add parentheses to clarify operator ordering in asserts. NFC. (#159333)
This avoids the following kind of warning with GCC:
../tools/llvm-lipo/llvm-lipo.cpp: In function ‘void printInfo(llvm::LLVMContext&, llvm::ArrayRef<llvm::object::OwningBinary<llvm::object::Binary> >)’:
../tools/llvm-lipo/llvm-lipo.cpp:464:34: warning: suggest parentheses around ‘& ’ within ‘||’ [-Wparentheses]
464 | Binary->isArchive() && "expected MachO binary");
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
Commit: f0090bacc14db0e262c276670ff0afeadbf4d309
https://github.com/llvm/llvm-project/commit/f0090bacc14db0e262c276670ff0afeadbf4d309
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/addrspacecast-gas.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
M llvm/test/CodeGen/AMDGPU/scale-offset-flat.ll
Log Message:
-----------
[AMDGPU] Fold copies of constant physical registers into their uses (#154410)
Co-authored-by: Jay Foad <Jay.Foad at amd.com>
Co-authored-by: Jay Foad <Jay.Foad at amd.com>
Commit: 4e3aa76d7f5629e7577f837d0e2397cafd85e6c5
https://github.com/llvm/llvm-project/commit/4e3aa76d7f5629e7577f837d0e2397cafd85e6c5
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvm] Pretty printing for trap intrinsics (#159385)
Commit: e56b479d9f096171287e23169ce23295046535c0
https://github.com/llvm/llvm-project/commit/e56b479d9f096171287e23169ce23295046535c0
Author: Benedikt Lukas Huber <benedikt.huber at tuwien.ac.at>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonCallingConv.td
A llvm/test/CodeGen/Hexagon/vararg-musl.ll
Log Message:
-----------
[Hexagon] Bugfix in VarArg lowering: Special case for musl (#157564)
While debugging #145206 I found that a possible cause for the problem is
the call to printf, which is variadic.
In a musl environment VarArgs are treated like *non* VarArgs.
The handling of this special case was bypassed by the commit
a4f85515c20566a3c059aacd1ee3554b598f33f0.
The reason is that the arguement `TreatAsVarArg` is only set to `true`
in
an *non* musl env. `TreatAsVarArg` determines the result of
`isVarArg()`.
The `CCIfArgVarArg` class only checks each individual
variable, but not whether `isVarArg()` is true.
Without the special case, the unnamed arguments are always passed
on the stack, as is standard calling convention. But with musl
also unnamed arguments can be passed in registers.
Possibly, this fixes #145206.
Commit: 432b58915ad7257c432a403efe194e5033a53ab0
https://github.com/llvm/llvm-project/commit/432b58915ad7257c432a403efe194e5033a53ab0
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/include/llvm/CodeGen/DebugHandlerBase.h
M llvm/include/llvm/CodeGen/LexicalScopes.h
M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfFile.h
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/CodeGen/LexicalScopes.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugVariables.cpp
M llvm/test/CodeGen/X86/dbg-distringtype-uint.ll
A llvm/test/DebugInfo/AArch64/debug-types.ll
A llvm/test/DebugInfo/AArch64/populate-abstract-sp-once.ll
A llvm/test/DebugInfo/Generic/inlined-static-var.ll
M llvm/unittests/CodeGen/InstrRefLDVTest.cpp
M llvm/unittests/CodeGen/LexicalScopesTest.cpp
M llvm/unittests/CodeGen/MFCommon.inc
Log Message:
-----------
[DebugInfo][DwarfDebug] Separate creation and population of abstract subprogram DIEs (#159104)
With this change, construction of abstract subprogram DIEs is split in
two stages/functions:
creation of DIE (in DwarfCompileUnit::getOrCreateAbstractSubprogramDIE)
and its population with children (in
DwarfCompileUnit::constructAbstractSubprogramScopeDIE).
With that, abstract subprograms can be created/referenced from
DwarfDebug::beginModule, which should solve the issue with static local
variables DIE creation of inlined functons with optimized-out
definitions. It fixes https://github.com/llvm/llvm-project/issues/29985.
LexicalScopes class now stores mapping from DISubprograms to their
corresponding llvm::Function's. It is supposed to be built before
processing of each function (so, now LexicalScopes class has a method
for "module initialization" alongside the method for "function
initialization"). It is used by DwarfCompileUnit to determine whether a
DISubprogram needs an abstract DIE before DwarfDebug::beginFunction is
invoked.
DwarfCompileUnit::getOrCreateSubprogramDIE method is added, which can
create an abstract or a concrete DIE for a subprogram. It accepts
llvm::Function* argument to determine whether a concrete DIE must be
created.
This is a temporary fix for
https://github.com/llvm/llvm-project/issues/29985. Ideally, it will be
fixed by moving global variables and types emission to
DwarfDebug::endModule (https://reviews.llvm.org/D144007,
https://reviews.llvm.org/D144005).
Some code proposed by Ellis Hoag <ellis.sparky.hoag at gmail.com> in
https://github.com/llvm/llvm-project/pull/90523 was taken for this
commit.
Commit: f549bb2ddc9c106724d4f443aaf2cbe75d25942d
https://github.com/llvm/llvm-project/commit/f549bb2ddc9c106724d4f443aaf2cbe75d25942d
Author: lntue <lntue at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M libc/src/__support/math/rsqrtf16.h
M libc/test/src/math/rsqrtf16_test.cpp
M libc/test/src/math/smoke/rsqrtf16_test.cpp
Log Message:
-----------
[libc][math] Adjust rsqrtf16 exception checks. (#159411)
Commit: def202048586dad7029c9458a39dcb0e3cdb6c33
https://github.com/llvm/llvm-project/commit/def202048586dad7029c9458a39dcb0e3cdb6c33
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Utility/StopInfoMachException.h
Log Message:
-----------
[lldb] Recognize MTE fault Mach exceptions (#159117)
Recognize an MTE tag fault Mach exception. A tag fault is an error
reported by Arm's Memory Tagging Extension (MTE) when a memory access
attempts to use a pointer with a tag that doesn't match the tag stored
with the memory. LLDB will print the tag and address to make the issue
easier to diagnose.
This was hand tested by debugging an MTE enabled binary on an iPhone 17
running iOS 26.
rdar://113575216
Commit: b241cc9bd581a3e6900d0090f427e9dcc4a19a07
https://github.com/llvm/llvm-project/commit/b241cc9bd581a3e6900d0090f427e9dcc4a19a07
Author: Javier Lopez-Gomez <javier.lopez.gomez at proton.me>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[ADT] Fix llvm::concat_iterator for `ValueT == common_base_class *` (#144744)
Fix `llvm::concat_iterator` for the case of `ValueT` being a pointer to
a common base class to which the result of dereferencing any iterator in
`ItersT` can be casted to.
Commit: 3a2eb08de659bf0b87291377cfcf7fa8b8e70bf7
https://github.com/llvm/llvm-project/commit/3a2eb08de659bf0b87291377cfcf7fa8b8e70bf7
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/AST/BUILD.gn
Log Message:
-----------
[gn build] Port 2caf4c1b2687
Commit: e8fd84de173979e0af73f87ed190d35fee6bbae1
https://github.com/llvm/llvm-project/commit/e8fd84de173979e0af73f87ed190d35fee6bbae1
Author: lntue <lntue at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M libc/test/src/math/smoke/rsqrtf16_test.cpp
Log Message:
-----------
[libc] Temporarily disable floating point exception check for rsqrtf16 on aarch64. (#159417)
Commit: 4bac9d4911a14c5d444f8a6b94c449e5a2c4a332
https://github.com/llvm/llvm-project/commit/4bac9d4911a14c5d444f8a6b94c449e5a2c4a332
Author: Ying Wang <yingwang1555 at linux.alibaba.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZfbfmin.td
A llvm/test/CodeGen/RISCV/bfloat-convert-half.ll
Log Message:
-----------
[RISCV] Add isel for bitcasting between bfloat and half types (#158828)
There is no RISCV isel for bitcast between f16 and bf16 which will
trigger "cannot select" fatal error.
Co-authored-by: Ying Wang <wy446777 at alibaba-inc.com>
Commit: 2c2fec331d550a894b7af1de4ed492119a7733eb
https://github.com/llvm/llvm-project/commit/2c2fec331d550a894b7af1de4ed492119a7733eb
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen][DecoderEmitter] Simplify FilterChooser::getIslands() (NFC) (#159218)
Also turn the method into a static function so it can be used without
an instance of the class.
Commit: 6ad0f8e16b223707827efbf2cd0825b793b1db14
https://github.com/llvm/llvm-project/commit/6ad0f8e16b223707827efbf2cd0825b793b1db14
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/test/Driver/DTLTO/dtlto.c
M clang/test/Driver/DTLTO/ps5-dtlto.c
Log Message:
-----------
[DTLTO][TEST] Make Clang driver tests even more robust (#159418)
Remove XFAILs for llvm-driver. DTLTO is still incompatible with
llvm-driver, but these tests now pass after #159151.
Modify a missed regex to use filename.py (missed in #159151).
Tighten overly greedy regexes to prevent spurious failures.
Commit: aa5558d12cbbb6a039955fcb174129b57d182642
https://github.com/llvm/llvm-project/commit/aa5558d12cbbb6a039955fcb174129b57d182642
Author: Muzammil <55665739+Muzammiluddin-Syed-ECE at users.noreply.github.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M mlir/include/mlir/Conversion/ArithToAMDGPU/ArithToAMDGPU.h
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/test/Conversion/ArithToAMDGPU/scaling-extf.mlir
M mlir/test/Conversion/ArithToAMDGPU/scaling-truncf.mlir
Log Message:
-----------
[mlir][ArithToAMDGPU] limit scaling truncf/extf support to gfx950 (#155431)
The current chip guard fails to prevent scaling_extf/truncf patterns
from being applied on gfx1100 which does not have scaling support.
---------
Signed-off-by: Muzammiluddin Syed <muzasyed at amd.com>
Commit: 0d989b2aefe8d8f66981f1d39f56ce0214b5de86
https://github.com/llvm/llvm-project/commit/0d989b2aefe8d8f66981f1d39f56ce0214b5de86
Author: Martin Storsjö <martin at martin.st>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
Log Message:
-----------
[clang] Avoid warnings about enum mismatch in ternary expressions. NFC. (#159338)
This avoids the following kind of warning when built with GCC:
../../clang/lib/Sema/SemaStmtAttr.cpp: In function ‘clang::Attr* ProcessStmtAttribute(clang::Sema&, clang::Stmt*, const clang::ParsedAttr&, clang::SourceRange)’:
../../clang/lib/Sema/SemaStmtAttr.cpp:677:30: warning: enumerated mismatch in conditional expression: ‘clang::diag::<unnamed enum>’ vs ‘clang::diag::<unnamed enum>’ [-Wenum-compare]
676 | S.Diag(A.getLoc(), A.isRegularKeywordAttribute()
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
677 | ? diag::err_keyword_not_supported_on_targe
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
678 | : diag::warn_unhandled_ms_attribute_ignore )
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
These enums are non-overlapping, but due they are defined in different
enum scopes due to how they are generated with tablegen.
Commit: 5cb7bf63eda283fb2b079458010467f00d52d78c
https://github.com/llvm/llvm-project/commit/5cb7bf63eda283fb2b079458010467f00d52d78c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/include/llvm/Support/FormatVariadicDetails.h
Log Message:
-----------
[Support] Simplify has_StreamOperator (NFC) (#159242)
Without this patch, we are doing a roundtrip on types. Specifically,
if decltype(...) is well formed, std::is_same_v evaluates to a boolean
value. We then pass the boolean value to std::enable_if_t, go through
the sizeof(char)/sizeof(double) trick, and then come back to a boolean
value.
This patch simplifies all this by having test() return
std::is_same<...>. The "caller" attaches ::value, so effectively we
are using std::is_same<...>::value when decltype(...) is well formed,
bypassing std::enable_if_t and the sizeof(char)/sizeof(double) trick.
If we did not care about the return type of the shift operator, we
could use llvm::is_detected, but the return type check doesn't allow
us to simplify things that far.
Commit: dffd7f3d9a3294d21205251b986e76ec841cc750
https://github.com/llvm/llvm-project/commit/dffd7f3d9a3294d21205251b986e76ec841cc750
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
Log Message:
-----------
[LLVM] Fix offload and update CUDA ABI for all SM values (#159354)
Summary:
Turns out the new CUDA ABI now applies retroactively to all the other
SMs if you upgrade to CUDA 13.0. This patch changes the scheme, keeping
all the SM flags consistent but using an offset.
Fixes: https://github.com/llvm/llvm-project/issues/159088
Commit: 7dc8753e8eebdde4e9e42d194c0ba1d56d59e924
https://github.com/llvm/llvm-project/commit/7dc8753e8eebdde4e9e42d194c0ba1d56d59e924
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[profcheck] Exclude LoopVectorize tests introduced in #155301 (#159440)
Commit: f992b5b3715a387ad2ead21f0c20445d95395607
https://github.com/llvm/llvm-project/commit/f992b5b3715a387ad2ead21f0c20445d95395607
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[profcheck] exclude test introduced in #158328 (#159441)
Commit: e556dc0b232b553d7894a22603d8ee46e78fbd99
https://github.com/llvm/llvm-project/commit/e556dc0b232b553d7894a22603d8ee46e78fbd99
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/include/clang/Basic/OffloadArch.h
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/cuda-bad-arch.cu
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-cooperative-atomics.cl
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNProcessors.td
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
A llvm/test/MC/AMDGPU/hsa-gfx1251-v4.s
M llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
M llvm/test/tools/llvm-readobj/ELF/AMDGPU/elf-headers.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[AMDGPU] Add gfx1251 subtarget (#159430)
Commit: 835d6b3d1754f927cd384d7d4a444f3934a1fb00
https://github.com/llvm/llvm-project/commit/835d6b3d1754f927cd384d7d4a444f3934a1fb00
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[profcheck] exclude LV test introduced in #155547 (#159443)
Commit: 7fb3a91418df61a81b1386eba3c29bc0df9e0787
https://github.com/llvm/llvm-project/commit/7fb3a91418df61a81b1386eba3c29bc0df9e0787
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[PatternMatch] Introduce match functor (NFC) (#159386)
A common idiom is the usage of the PatternMatch match function within a
functional algorithm like all_of. Introduce a match functor to shorten
this idiom.
Co-authored-by: Luke Lau <luke at igalia.com>
Commit: 6c8fcd6089b936d9211faff4ef4b16d1024902a9
https://github.com/llvm/llvm-project/commit/6c8fcd6089b936d9211faff4ef4b16d1024902a9
Author: Sterling-Augustine <saugustine at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/SFrame.h
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSFrame.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSFrame.cpp
R llvm/test/MC/ELF/cfi-sframe-encoding.s
R llvm/test/MC/ELF/cfi-sframe-fre-cases.s
M llvm/test/MC/ELF/cfi-sframe.s
Log Message:
-----------
Revert "[SFrames] Emit and relax FREs (#158154)" (#159436)
Breaks some buildbots
This reverts commit c9285166214db4236f26312f68bba91f6437bd6f.
Commit: 96f2ab28fcf010fffc83b7c87707f27bf637fb92
https://github.com/llvm/llvm-project/commit/96f2ab28fcf010fffc83b7c87707f27bf637fb92
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
Log Message:
-----------
[RISCV][NFC] Merge some WriteRes entries in SiFive7 scheduling model (#159448)
NFC.
Commit: 1c4c7bd808e7de02a1d1ec7432333f14de132a95
https://github.com/llvm/llvm-project/commit/1c4c7bd808e7de02a1d1ec7432333f14de132a95
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/concat-vector-add-combine.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vw-web-simplification.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[SelectionDAG] Deal with POISON for INSERT_VECTOR_ELT/INSERT_SUBVECTOR (#143102)
As reported in https://github.com/llvm/llvm-project/issues/141034
SelectionDAG::getNode had some unexpected
behaviors when trying to create vectors with UNDEF elements. Since
we treat both UNDEF and POISON as undefined (when using isUndef())
we can't just fold away INSERT_VECTOR_ELT/INSERT_SUBVECTOR based on
isUndef(), as that could make the resulting vector more poisonous.
Same kind of bug existed in DAGCombiner::visitINSERT_SUBVECTOR.
Here are some examples:
This fold was done even if vec[idx] was POISON:
INSERT_VECTOR_ELT vec, UNDEF, idx -> vec
This fold was done even if any of vec[idx..idx+size] was POISON:
INSERT_SUBVECTOR vec, UNDEF, idx -> vec
This fold was done even if the elements not extracted from vec could
be POISON:
sub = EXTRACT_SUBVECTOR vec, idx
INSERT_SUBVECTOR UNDEF, sub, idx -> vec
With this patch we avoid such folds unless we can prove that the
result isn't more poisonous when eliminating the insert.
Fixes https://github.com/llvm/llvm-project/issues/141034
Commit: 4a8008ce226b23c829173da2a6b16473ebd6259c
https://github.com/llvm/llvm-project/commit/4a8008ce226b23c829173da2a6b16473ebd6259c
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/always_uniform.ll
Log Message:
-----------
[AMDGPU] Mark cluster_workgroup_id_* intrinsics always uniform (#159439)
Commit: 221f8eef9d807f7fb46defb0f2f1c8067b143a23
https://github.com/llvm/llvm-project/commit/221f8eef9d807f7fb46defb0f2f1c8067b143a23
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-cooperative-atomics.cl
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cooperative.atomic-basic.ll
M llvm/test/Verifier/AMDGPU/llvm.amdgcn.cooperative.atomic.ll
Log Message:
-----------
[AMDGPU] Add gfx1251 runlines to cooperative atomcis tests. NFC (#159437)
Commit: 5f105fe806ec228545e64d3dff6a62a434b61033
https://github.com/llvm/llvm-project/commit/5f105fe806ec228545e64d3dff6a62a434b61033
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU] Update documentation about DWARF registers mapping. NFC (#159447)
Commit: 7cc5989593711ea4d6b5e13879b2ec3ba9a88171
https://github.com/llvm/llvm-project/commit/7cc5989593711ea4d6b5e13879b2ec3ba9a88171
Author: lntue <lntue at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/bit.h
M libc/src/__support/CPP/new.h
M libc/src/__support/big_int.h
M libc/src/__support/math_extras.h
Log Message:
-----------
[libc] Some MSVC compatibility fixes in src/__support. (#159428)
Commit: 6af5b41e4b4e303589ff709efaf783828dc3f75a
https://github.com/llvm/llvm-project/commit/6af5b41e4b4e303589ff709efaf783828dc3f75a
Author: Justin Stitt <justinstitt at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
A clang/test/Frontend/cir-not-built.c
M clang/test/lit.cfg.py
Log Message:
-----------
[CIR] Change unreachable to diagnostic for ill-equipped clang (#152614)
Commit: e86a8e33f9170b5582a33ba133257a61db27dd99
https://github.com/llvm/llvm-project/commit/e86a8e33f9170b5582a33ba133257a61db27dd99
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
AMDGPU: Set RegTupleAlignUnits on _Lo256_Align2 class (#159383)
Commit: d57aa484e12ae7a76228bca4de01139fdd1f5373
https://github.com/llvm/llvm-project/commit/d57aa484e12ae7a76228bca4de01139fdd1f5373
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
AMDGPU: Constrain regclass when replacing SGPRs with VGPRs (#159369)
Commit: 1d2007ba6f7bacda8848e35298a1833e79f4abd5
https://github.com/llvm/llvm-project/commit/1d2007ba6f7bacda8848e35298a1833e79f4abd5
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M lldb/source/Expression/DWARFExpression.cpp
M lldb/unittests/Expression/CMakeLists.txt
M lldb/unittests/Expression/DWARFExpressionTest.cpp
Log Message:
-----------
[lldb] Fix OP_deref evaluation for large integer results (#159460)
When evaluating any DWARF expression that ended in OP_deref and whose
previous value on the dwarf stack -- the pointer address for the deref
-- was a load address, we were treating the result itself as a pointer,
calling Process:FixCodeAddress(result). This is wrong: there's no
guarantee that the result is a pointer itself.
Commit: 1a4685df13282ae5c1d7dce055a71a7130bfab3c
https://github.com/llvm/llvm-project/commit/1a4685df13282ae5c1d7dce055a71a7130bfab3c
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M lldb/source/Expression/DWARFExpression.cpp
M lldb/unittests/Expression/CMakeLists.txt
M lldb/unittests/Expression/DWARFExpressionTest.cpp
Log Message:
-----------
Revert "[lldb] Fix OP_deref evaluation for large integer results (#159460)"
This reverts commit 1d2007ba6f7bacda8848e35298a1833e79f4abd5.
Commit: c744f6168f6f817c7a2dcd493a8e29a0c1f8a3bb
https://github.com/llvm/llvm-project/commit/c744f6168f6f817c7a2dcd493a8e29a0c1f8a3bb
Author: Druzhkov Sergei <serzhdruzhok at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/EventHelper.h
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Add memory event (#158437)
This patch adds support for the `memory` event from the
[DAP](https://microsoft.github.io/debug-adapter-protocol/specification#Events_Memory).
After this event is emitted, VS Code refetches the corresponding memory
range and re-renders the memory view. I think this patch and
[PR](https://github.com/llvm/llvm-project/pull/151884) can improve
experience for users who use `setVariable` request.
Commit: bb263f5a4d5be259c0f6110ee2561850d079b37a
https://github.com/llvm/llvm-project/commit/bb263f5a4d5be259c0f6110ee2561850d079b37a
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/examples/IRTransforms/SimplifyCFG.cpp
Log Message:
-----------
[examples] Fix invalid #ifndef LLVM_*_LINK_INTO_TOOLS (#144340)
The setting LLVM_SIMPLIFYCFG_LINK_INTO_TOOLS doesn't exist, it's called
LLVM_EXAMPLEIRTRANSFORMS_LINK_INTO_TOOLS
Commit: 53e9d31fd4d76f9b0792859021e297e7a521477d
https://github.com/llvm/llvm-project/commit/53e9d31fd4d76f9b0792859021e297e7a521477d
Author: cmtice <cmtice at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Add missing bazel dependency for __support_math_rsqrt16 (#159473)
Commit: 18420d833d895f0e90d951a6adbef3e4e663e36a
https://github.com/llvm/llvm-project/commit/18420d833d895f0e90d951a6adbef3e4e663e36a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/include/llvm/Target/Target.td
Log Message:
-----------
CodeGen: Do not define LOCAL_ESCAPE with ptr_rc (#158765)
ptr_rc is used to resolve an operand to a register class. This
is not used with a virtual register, but a label so remove
the use.
Commit: d46715aaa0203cc95f3749d386745ae293f0109f
https://github.com/llvm/llvm-project/commit/d46715aaa0203cc95f3749d386745ae293f0109f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/tools/driver/cc1as_main.cpp
Log Message:
-----------
clang: Emit error if assembler fails to construct subtarget (#159219)
We do not have consistent or good error handling of this situation.
Some tools check for errors, some just assert. The backend has no
proper way of reporting an invalid subtarget specification.
MCSubtargetInfo
currently does unreasonable things like spam warnings to errs, and then
silently proceed in an invalid state. I have a patch which starts
returning
null on some invalid subtargets, but all the tools need to start
erroring
cleanly first. I don't think there is a reliable way to test this today.
It
would have to be an incomplete backend. Ideally we would thread through
some kind of error context from the target to report the reason it's
an invalid subtarget.
Commit: 5cc41936f22da6edd4a85927774df17b1e7c945e
https://github.com/llvm/llvm-project/commit/5cc41936f22da6edd4a85927774df17b1e7c945e
Author: John Harrison <harjohn at google.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M lldb/include/lldb/Host/JSONTransport.h
M lldb/include/lldb/Protocol/MCP/Server.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Protocol/MCP/Server.cpp
M lldb/unittests/Host/JSONTransportTest.cpp
M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
Log Message:
-----------
[lldb-mcp] Fix servers accepting more than one client. (#158357)
This fixes an issue where the MCP server would stop the main loop after
the first client disconnects.
This moves the MainLoop out of the Server instance and lifts the server
up into the ProtocolServerMCP object instead. This allows us to register
the client with the main loop used to accept and process requests.
Commit: 7f3661128b1e5dda69586afcff99a8f662e4126f
https://github.com/llvm/llvm-project/commit/7f3661128b1e5dda69586afcff99a8f662e4126f
Author: Wenju He <wenju.he at intel.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M libclc/clc/include/clc/clcfunc.h
M libclc/clc/include/clc/misc/shuffle2_def.inc
M libclc/clc/include/clc/misc/shuffle_def.inc
M libclc/clc/lib/generic/atomic/clc_atomic_compare_exchange.inc
M libclc/clc/lib/generic/atomic/clc_atomic_def.inc
M libclc/clc/lib/generic/math/clc_sincos_helpers.inc
Log Message:
-----------
[libclc] Remove __attribute__((always_inline)) (#158791)
always_inline doesn't guarantee performance improvement.
Target-specific optimizations decide whether inlining is profitable.
Changes to amdgcn--amdhsa.bc:
* _Z9__clc_logDv16_f and _Z15__clc_remainderDv16_fS_ are not inlined.
* sincos vector function code size has doubled due to apparent
duplication.
Also replace typo _CLC_DECL with _CLC_DEF for function definition.
Commit: 658bb98e00016680a5157a19c453a1c6f1f909db
https://github.com/llvm/llvm-project/commit/658bb98e00016680a5157a19c453a1c6f1f909db
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[TableGen] Increase IndexWidth DAGISelMatcherEmitter. (#159479)
RISC-V has over a million bytes in the table.
Commit: bb013a4a220d423e64ecadd3f337b7f95368786d
https://github.com/llvm/llvm-project/commit/bb013a4a220d423e64ecadd3f337b7f95368786d
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M lldb/source/Expression/DWARFExpression.cpp
M lldb/unittests/Expression/CMakeLists.txt
M lldb/unittests/Expression/DWARFExpressionTest.cpp
Log Message:
-----------
Reland "Revert "[lldb] Fix OP_deref evaluation for large integer resu… (#159482)
…lts (#159460)""
The original had an issue on "AArch-less" bots.
Fixed it with some ifdefs around the presence of the AArch ABI plugin.
This reverts commit 1a4685df13282ae5c1d7dce055a71a7130bfab3c.
Commit: aa8b6245182c122127af7c6ac179f9743bca0d78
https://github.com/llvm/llvm-project/commit/aa8b6245182c122127af7c6ac179f9743bca0d78
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
AMDGPU: Remove unnecessary operand legalization for WMMAs (#159370)
The operand constraints already express this constraint, and
InstrEmitter will respect them.
Commit: 38f2a1cb9b25ef2967661865458d6a919ce82aaa
https://github.com/llvm/llvm-project/commit/38f2a1cb9b25ef2967661865458d6a919ce82aaa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-uadde-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-uadde-rv64.mir
Log Message:
-----------
[RISCV][GISel] Test legalizing s64 G_UADDE on RV32. And s128 on RV64. NFC (#159412)
Commit: f3c9c6c0c51880109b39411be4e6d742c16210d1
https://github.com/llvm/llvm-project/commit/f3c9c6c0c51880109b39411be4e6d742c16210d1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/benchmarks/CMakeLists.txt
Log Message:
-----------
RuntimeLibcalls: Use get_host_tool_path for executables used in benchmark (#153955)
Copied from what the llvm-shlib build is doing.
This reverts commit 0b1b567d9f84e67124c58d69b5aa375357d68c9e.
Commit: 43ec53b8493752669dc24a6e2b6c66c4449a9e76
https://github.com/llvm/llvm-project/commit/43ec53b8493752669dc24a6e2b6c66c4449a9e76
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M clang/lib/Sema/HeuristicResolver.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
Log Message:
-----------
[clang][HeuristicResolver] Default argument heuristic for template template parameters (#156404)
Fixes https://github.com/clangd/clangd/issues/2478
Commit: 44b7abcc75b005ab87e11e2beac155bf0b155992
https://github.com/llvm/llvm-project/commit/44b7abcc75b005ab87e11e2beac155bf0b155992
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/benchmarks/CMakeLists.txt
Log Message:
-----------
Revert "RuntimeLibcalls: Use get_host_tool_path for executables used … (#159488)
…in benchmark (#153955)"
This reverts commit f3c9c6c0c51880109b39411be4e6d742c16210d1.
Fails fuschia bot.
Commit: 91c72e8169208099f85d0129f25c3a706265bc19
https://github.com/llvm/llvm-project/commit/91c72e8169208099f85d0129f25c3a706265bc19
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/cdefined.f90
Log Message:
-----------
[flang] Add a warning for CDEFINED declarations that have initializers (#159456)
CDEFINED declarations are similar to "extern" declarations in C. If they
have initializers, this could lead to linker errors. clang warns about
"extern" declarations with initializers. Add similar warning to flang:
```
$ flang -c cdefined.f90 -pedantic
./cdefined.f90:3:57: warning: CDEFINED variable should not have an initializer [-Wcdefined-init]
integer(c_int), bind(C, name='c_global', CDEFINED) :: c = 4
^
```
Commit: 7ca448e47965005b24d107aff6fab4644b8b81b4
https://github.com/llvm/llvm-project/commit/7ca448e47965005b24d107aff6fab4644b8b81b4
Author: hev <wangrui at loongson.cn>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
M llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-m.ll
Log Message:
-----------
[LoongArch] Fix MergeBaseOffset for constant pool index operand (#159336)
Fixes #159200
Commit: 1a172b9924948f10f1bd3db07a83fe5e884f7b64
https://github.com/llvm/llvm-project/commit/1a172b9924948f10f1bd3db07a83fe5e884f7b64
Author: woruyu <1214539920 at qq.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ssube-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ssube-rv64.mir
Log Message:
-----------
[RISCV][GISel] Lower G_SSUBE (#157855)
### Summary
Try to implemente Lower G_SSUBE in LegalizerHelper::lower
Commit: c78239e3113986238c4d9012c4d2897f6f5edefd
https://github.com/llvm/llvm-project/commit/c78239e3113986238c4d9012c4d2897f6f5edefd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/benchmarks/CMakeLists.txt
Log Message:
-----------
Reapply "RuntimeLibcalls: Use get_host_tool_path for executables used … (#159488) (#159489)
This reverts commit 44b7abcc75b005ab87e11e2beac155bf0b155992.
Add additional if TARGET checks
Commit: e03a7c124d50fa9449a81fe21cc958a18919a4ea
https://github.com/llvm/llvm-project/commit/e03a7c124d50fa9449a81fe21cc958a18919a4ea
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/icmp-range.ll
Log Message:
-----------
[InstCombine] Generalize `foldAndOrOfICmpsUsingRanges` to handle more cases. (#158498)
Closes https://github.com/llvm/llvm-project/issues/158326.
Closes https://github.com/llvm/llvm-project/issues/59555.
Proof for `(X & -Pow2) == C -> (X - C) < Pow2`:
https://alive2.llvm.org/ce/z/HMgkuu
Commit: 27f8f9e1f1dcf00df8c338df29193833e6d807f8
https://github.com/llvm/llvm-project/commit/27f8f9e1f1dcf00df8c338df29193833e6d807f8
Author: Boyao Wang <wangboyao at bytedance.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZibi.td
M llvm/lib/Target/RISCV/RISCVInstrPredicates.td
A llvm/test/CodeGen/RISCV/zibi.ll
Log Message:
-----------
[RISCV][CodeGen] Add CodeGen support of Zibi experimental extension (#146858)
This adds the CodeGen support of Zibi v0.1 experimental extension, which
depends on #127463.
Commit: 8548fa00f1d57c39119a24cfda4ef84232ead7e0
https://github.com/llvm/llvm-project/commit/8548fa00f1d57c39119a24cfda4ef84232ead7e0
Author: Jim Lin <jim at andestech.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
Log Message:
-----------
[RISCV] Match fmaxnum and fminnum to reduction ops. (#159244)
This patch tries to match fmaxnum and fminnum to vector reductions.
Commit: b6e440b3a3f16245ec410e29ff4fcc079e8456ca
https://github.com/llvm/llvm-project/commit/b6e440b3a3f16245ec410e29ff4fcc079e8456ca
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[libc][bazel] Add BUILD rules for fma and fmaf functions. (#159502)
This change adds the capability to build fma/fmaf with Bazel (fmal,
fmaf128 variants are not implemented yet), and run smoke tests.
BUILD rules for regular MPFR-based tests will be added later, since they
require support for building rand/srand as well, which is missing in
Bazel for now.
Commit: 4663d2521c65827ca22884e12a96ddd437377e31
https://github.com/llvm/llvm-project/commit/4663d2521c65827ca22884e12a96ddd437377e31
Author: Luke Lau <luke at igalia.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
M llvm/test/Other/loop-pm-invalidation.ll
Log Message:
-----------
[NewPM] Don't preserve BlockFrequencyInfo in FunctionToLoopPassAdaptor (#157888)
Function analyses in LoopStandardAnalysisResults are marked as preserved
by the loop pass adaptor, because LoopAnalysisManagerFunctionProxy
manually invalidates most of them.
However the proxy doesn't invalidate BFI, since it is only preserved on
a "lossy" basis: see https://reviews.llvm.org/D86156 and
https://reviews.llvm.org/D110438.
So any changes to the CFG will result in BFI giving incorrect results,
which is fine for loop passes which deal with the lossiness.
But the loop pass adapator still marks it as preserved, which causes the
lossy result to leak out into function passes.
This causes incorrect results when viewed from e.g. LoopVectorizer,
where an innermost loop header may be reported to have a smaller
frequency than its successors.
This fixes this by dropping the call to preserve, and adds a test with
the -O1 pipeline which shows the effects whenever the CFG is changed and
UseBlockFrequencyInfo is set.
I've also dropped it for BranchProbabilityAnalysis too, but I couldn't
test for it since UseBranchProbabilityInfo always seems to be false?
This may be dead code.
Commit: ac2b51e6ce157b430b3823ebc90def9f1d49d36e
https://github.com/llvm/llvm-project/commit/ac2b51e6ce157b430b3823ebc90def9f1d49d36e
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/pr133720.cppm
A clang/test/Modules/pr159424.cppm
Log Message:
-----------
[C++20] [Modules] Fix issues with non-exported in-class friend declarations
Close https://github.com/llvm/llvm-project/issues/159424
Close https://github.com/llvm/llvm-project/issues/133720
For in-class friend declaration, it is hard for the serializer to decide
if they are visible to other modules. But luckily, Sema can handle it
perfectly enough. So it is fine to make all of the in-class friend
declaration as generally visible in ASTWriter and let the Sema to make
the final call. This is safe as long as the corresponding class's
visibility are correct.
Commit: 5e1b416472cdf38af49e895079fb0ab282e861c4
https://github.com/llvm/llvm-project/commit/5e1b416472cdf38af49e895079fb0ab282e861c4
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp
Log Message:
-----------
[clang-tidy][NFC] Construct map at compile time (#158166)
The important part of this PR is the changes to
`getDurationInverseForScale`. I changed the other `get*ForScale`
functions so that they all follow the same pattern, but those aren't as
important.
Commit: 5f76369997cc4b75c62d34729266ddb20e4f5ef9
https://github.com/llvm/llvm-project/commit/5f76369997cc4b75c62d34729266ddb20e4f5ef9
Author: lntue <lntue at google.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M libc/test/src/math/smoke/FmaTest.h
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[libc][math] Update test/src/math/smoke/FmaTest.h to not rely on compiler runtime. (#159503)
Commit: 93faaf47f334cb144e8204704ad4fa97d7c1a74d
https://github.com/llvm/llvm-project/commit/93faaf47f334cb144e8204704ad4fa97d7c1a74d
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/lib/AsmParser/Parser.cpp
M mlir/test/IR/invalid.mlir
Log Message:
-----------
[mlir] Expand error message to include unregistered dialects. (#158028)
It is possible to load unregistered dialects, this can result in a
confusing error message. Mark unregistered but loaded dialects.
This is currently done as a merged list as that is most concise but
requires some additional preprocessing (did merge sort given the other
two lists are, could do it shorter and probably at not too much extra
cost if I just used SetVectors - so alternative which uses less code and
may be preferred as performance not critical here).
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: ddb9c785cd64835de84ecf394401ad98a6f087cd
https://github.com/llvm/llvm-project/commit/ddb9c785cd64835de84ecf394401ad98a6f087cd
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
Log Message:
-----------
[clang][Expr][NFC] Fix some doc comments (#159504)
Use proper doc comments here instead of regular comments.
Commit: ddf0f6fe91eda2b0986cda405eaba4318ac08ac5
https://github.com/llvm/llvm-project/commit/ddf0f6fe91eda2b0986cda405eaba4318ac08ac5
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsExpandPseudo.cpp
M llvm/test/CodeGen/Mips/atomic-min-max.ll
Log Message:
-----------
Revert "[Mips] Fix atomic min/max generate mips4 instructions when compiling for mips2" (#159495)
Reverts llvm/llvm-project#149983
Commit: 304454980b9122e8037f857c577a7af981c5c884
https://github.com/llvm/llvm-project/commit/304454980b9122e8037f857c577a7af981c5c884
Author: Abhinav Kumar <96587705+kr-2003 at users.noreply.github.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/unittests/Interpreter/CMakeLists.txt
Log Message:
-----------
[clang-repl] Disable out of process JIT tests on non-unix platforms (#159404)
Co-authored-by: kr-2003 <kumar.kr.abhinav at gmail.com>
Co-authored-by: Anutosh Bhat <andersonbhat491 at gmail.com>
Commit: e7db709eab7999e6bdb40328c091b8432ae416cc
https://github.com/llvm/llvm-project/commit/e7db709eab7999e6bdb40328c091b8432ae416cc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/benchmarks/CMakeLists.txt
Log Message:
-----------
benchmarks: Skip runtime libcalls benchmark for llvm-driver build (#159513)
Apparently if you enable LLVM_TOOL_LLVM_DRIVER_BUILD, many individual
tool binaries are not built and instead create object targets which
are linked into an llvm-driver tool which you need to use instead.
In principle we could reconstruct this command with llvm-driver, but
I can't get a build to complete when I turn this on as a standalone
option.
Commit: c1fca0fa1408a2d2ea24fe43058e53c0d1df82ce
https://github.com/llvm/llvm-project/commit/c1fca0fa1408a2d2ea24fe43058e53c0d1df82ce
Author: Ruoyu Qiu <cabbaken at outlook.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/test/tools/llvm-readobj/ELF/malformed-pt-dynamic.test
M llvm/test/tools/obj2yaml/ELF/program-headers.yaml
M llvm/test/tools/yaml2obj/ELF/program-header-size-offset.yaml
Log Message:
-----------
[llvm][yaml2obj] Modify section header overriding timing (#130942)
yaml2obj should determine the program header offset (and other
properties) based on the intended values rather than the final
`sh_offset` of the section header.
`setProgramHeaderLayout` uses section offsets for determining
`p_offset`. Move section header overriding after
`setProgramHeaderLayout` to prevent `ShOffset` from affecting program
header `p_offset`.
This change adjusts the timing of when the section header is overridden
to ensure that the program headers are set correctly.
More details
[here](https://github.com/llvm/llvm-project/pull/126537#issuecomment-2700421989).
---------
Signed-off-by: Ruoyu Qiu <cabbaken at outlook.com>
Signed-off-by: Ruoyu Qiu <qiuruoyu at xiaomi.com>
Co-authored-by: Ruoyu Qiu <qiuruoyu at xiaomi.com>
Commit: 53c386fa84ecd53c4f881e5a9272984563c7bf1b
https://github.com/llvm/llvm-project/commit/53c386fa84ecd53c4f881e5a9272984563c7bf1b
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/test/Lower/OpenACC/acc-firstprivate-derived-allocatable-component.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-pointer-component.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived.f90
Log Message:
-----------
[flang][openacc] allocate scalar derived type private copies in recipes (#159374)
Generate alloca in the init region of recipes for scalar derived types.
Note: I will do the array case separately (currently a TODO), and also
deal with private derived type default initialization which is missing
for PRIVATE (not needed for FIRSTPRIVATE since the value is copied from
the privatized variable).
Commit: 9df83619fbfe5b079c50e88df304d27d3fbf4846
https://github.com/llvm/llvm-project/commit/9df83619fbfe5b079c50e88df304d27d3fbf4846
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerInvalidHoisting.td
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
Log Message:
-----------
[GlobalISelMatchTable] Don't hoist C++ predicates over operand recorders (#159329)
The pattern optimizations in GlobalISelMatchTable.cpp can extract common
predicates out of pattern alternatives by putting the pattern alternatives into
a GroupMatcher and moving common predicates into the GroupMatcher's predicate
list. This patch adds checks to avoid hoisting a common predicate before
matchers that record named operands that the predicate uses, which would lead
to segfaults when the imported patterns are matched.
See the added test for a concrete example inspired by the AMDGPU backend.
This fixes a bug encountered in #143881.
Commit: cac389405455659a150caf2402d1541d7009cab0
https://github.com/llvm/llvm-project/commit/cac389405455659a150caf2402d1541d7009cab0
Author: Urvi Rav <94829943+ravurvi20 at users.noreply.github.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/target_uses_allocators_messages.cpp
Log Message:
-----------
[OpenMP 5.2] New syntax for 'uses_allocators' clause (#157025)
This patch updates the parsing changes to handle the new syntax of the
`uses_allocators` clause as defined in OpenMP 5.2(Section 6.8).
```
// Case 1: Allocator without traits
// < 5.2 → error
// ≥ 5.2 → OK, empty traits set
#pragma omp target teams uses_allocators(cgroup_alloc)
// Case 2: Allocator with traits
// Old syntax (< 5.2):
#pragma omp target teams uses_allocators(cgroup_alloc(cgroup_traits))
// New syntax (≥ 5.2):
#pragma omp target teams uses_allocators(traits(cgroup_traits) : cgroup_alloc)
// Case 3: Multiple allocators
// Old syntax (< 5.2), comma-separated:
#pragma omp target teams uses_allocators(cgroup_alloc(cgroup_traits), aligned_alloc(aligned_traits))
// New syntax (≥ 5.2), semicolon-separated:
#pragma omp target teams uses_allocators(traits(cgroup_traits) : cgroup_alloc; traits(aligned_traits) : aligned_alloc)
```
---------
Co-authored-by: urvi-rav <urvi.rav at hpe.com>
Commit: 1aded51d7478df41c30eba85e0fefaca031f23d2
https://github.com/llvm/llvm-project/commit/1aded51d7478df41c30eba85e0fefaca031f23d2
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Prepare to handle diff type sizes (NFC) (#122318)
As depend_diff_types shows, there are several places where the
HasSameSize check can be relaxed for higher analysis precision. As a
first step, return both the source size and the sink size from
getDependenceDistanceStrideAndSize, along with a HasSameSize boolean for
the moment.
Commit: efa7385831503b38b45f8b4eca3e21ba7a261097
https://github.com/llvm/llvm-project/commit/efa7385831503b38b45f8b4eca3e21ba7a261097
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/test/Target/SPIRV/entry-point.mlir
M mlir/test/Target/SPIRV/logical-ops.mlir
M mlir/test/Target/SPIRV/sampled-image.mlir
Log Message:
-----------
[mlir][spirv] Fix entry point, logical ops and sampled image Target tests (#159376)
For the entry point an incorrect combination of execution model and mode
was used as well as arguments were specified for the entry function (the
function should take no arguments). For logical ops the test was failing
as using scalar condition with vector objects are not supported in spv1.0.
Sampled image test was using incorrect *Sampled* and *Dim* values.
Sampled images need to have *Sampled* operand of 0 or 1, but not 2
(`NoSampler`), and `SubpassData` is not allowed.
Commit: d76d0a5139010068aceaedcd3683d9500800ee98
https://github.com/llvm/llvm-project/commit/d76d0a5139010068aceaedcd3683d9500800ee98
Author: David Green <david.green at arm.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64-known-bits-hadd.ll
M llvm/test/CodeGen/AArch64/aarch64-mulv.ll
M llvm/test/CodeGen/AArch64/arm64-fp-contract-zero.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-subvector-extend.ll
M llvm/test/CodeGen/AArch64/arm64-vadd.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
M llvm/test/CodeGen/AArch64/call-rv-marker.ll
M llvm/test/CodeGen/AArch64/callbr-prepare.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
M llvm/test/CodeGen/AArch64/fnmul.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-fp16.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-vector.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
M llvm/test/CodeGen/AArch64/freeze.ll
M llvm/test/CodeGen/AArch64/ldexp-arm64ec.ll
M llvm/test/CodeGen/AArch64/neon-addlv.ll
M llvm/test/CodeGen/AArch64/ptrauth-fpac.ll
M llvm/test/CodeGen/AArch64/remat-const-float-simd.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
M llvm/test/CodeGen/AArch64/sme-avoid-coalescing-locally-streaming.ll
M llvm/test/CodeGen/AArch64/sme-za-exceptions.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-index.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp-undef.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-pmov-to-pred.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
Log Message:
-----------
[AArch64] Regenerate and update a number of check lines. NFC
Commit: 88b5c7435e70702d54772c1ec3864013099edc6c
https://github.com/llvm/llvm-project/commit/88b5c7435e70702d54772c1ec3864013099edc6c
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
Log Message:
-----------
[lldb] Correct 32-bit build failure in StopInfoMachException.cpp (#159523)
uintptr_t is usually a good idea when handling pointers, but lldb has to
handle 64-bit addresses that might be from a remote system, on a 32-bit
system.
So I've changed a few instances here to use addr_t which is 64-bit
everywhere.
Before we got:
https://lab.llvm.org/buildbot/#/builders/18/builds/21247
```
../llvm-project/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp:81:28: error: constexpr variable 'g_mte_tag_mask' must be initialized by a constant expression
81 | static constexpr uintptr_t g_mte_tag_mask = (uintptr_t)0x0f << g_mte_tag_shift;
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../llvm-project/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp:81:61: note: shift count 56 >= width of type 'uintptr_t' (aka 'unsigned int') (32 bits)
81 | static constexpr uintptr_t g_mte_tag_mask = (uintptr_t)0x0f << g_mte_tag_shift;
| ^
1 error generated.
```
Original code added by #159117.
Commit: 18630b0633bd550ad6675e155f42365ae42eb919
https://github.com/llvm/llvm-project/commit/18630b0633bd550ad6675e155f42365ae42eb919
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang] Remove Diag parameter from Expr::EvaluateKnownConstInt (#159512)
If it's truly a known const int, it won't emit any diagnostics anyway.
And if it did, we wouldn't notice because no call site passed something
non-null.
Commit: 98ebb64a1639fa20e2cfa44bc796dfc28db1f691
https://github.com/llvm/llvm-project/commit/98ebb64a1639fa20e2cfa44bc796dfc28db1f691
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/MIRPrinter.cpp
Log Message:
-----------
[NFC][MIRPrinter] Use `std::move` to avoid copy (#157832)
Commit: a868f28c6e9beecb2b3fbe8acfbe0d272fabd14d
https://github.com/llvm/llvm-project/commit/a868f28c6e9beecb2b3fbe8acfbe0d272fabd14d
Author: nerix <nerixdev at outlook.de>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
Log Message:
-----------
[LLDB][ProcessWindows] Set exit status on instance rather than going through all targets (#159308)
When quitting LLDB on Windows while a process was still running, LLDB
would take unusually long to exit. This was due to a temporary deadlock:
The main thread was destroying the processes. In doing so, it iterated
over the target list:
https://github.com/llvm/llvm-project/blob/88c64f76ed2ca226da99b99f60d316b1519fc7d8/lldb/source/Core/Debugger.cpp#L1095-L1098
This locks the list for the whole iteration. Finalizing the process
would eventually lead to `DebuggerThread::StopDebugging`, which
terminates the process and waits for it to exit:
https://github.com/llvm/llvm-project/blob/88c64f76ed2ca226da99b99f60d316b1519fc7d8/lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp#L196
The debugger loop (on a separate thread) would see that the process
exited and call
[`ProcessWindows::OnExitProcess`](https://github.com/llvm/llvm-project/blob/88c64f76ed2ca226da99b99f60d316b1519fc7d8/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp#L656-L673).
This calls the static function
[`Process::SetProcessExitStatus`](https://github.com/llvm/llvm-project/blob/0a7a7d56fc882653335beba0d1f8ea9f26089c22/lldb/source/Target/Process.cpp#L1098-L1126).
This tries to find the process by its ID from the debugger's target
list. Doing so requires locking the list, so the debugger thread would
then be stuck on
https://github.com/llvm/llvm-project/blob/0a7a7d56fc882653335beba0d1f8ea9f26089c22/lldb/source/Target/TargetList.cpp#L403
After 5s, the main thread would give up waiting. So every exit where the
process was still running would be delayed by about 5s.
Since `ProcessWindows` would find itself when calling
`SetProcessExitStatus`, we can call `SetExitStatus` directly.
This can also make some tests run faster. For example, the DIA PDB tests
previously took 15s to run on my PC (24 jobs) and now take 5s. For all
shell tests, the difference isn't that big (only about 3s), because most
don't run into this and the tests run in parallel.
Commit: 2f6b433f2898f6d431dfefd393c2c7777c740418
https://github.com/llvm/llvm-project/commit/2f6b433f2898f6d431dfefd393c2c7777c740418
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization/linalg-ops-with-patterns.mlir
M mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
Log Message:
-----------
[mlir][linalg] Update vectorization logic for linalg.pack (#149156) (#158926)
NOTE: See #149156 for a smilar change for `linalg.unpack`
This PR makes sure that we don't generate unnecessary `tensor.empty`
when vectorizing `linalg.pack`.
To better visualize the changes implemented here, consider this IR:
```mlir
func.func @example(
%src: tensor<64x4xf32>,
%dest: tensor<2x4x16x2xf32>) -> tensor<2x4x16x2xf32> {
%pack = linalg.pack %src
outer_dims_perm = [1, 0]
inner_dims_pos = [0, 1]
inner_tiles = [16, 2]
into %dest : tensor<64x4xf32> -> tensor<2x4x16x2xf32>
return %pack : tensor<2x4x16x2xf32>
}
```
Below is the output after vectorization, BEFORE and AFTER this PR.
BEFORE (note `tensor.empty` and the fact that `%arg1` is not used):
```mlir
func.func @example(%arg0: tensor<64x4xf32>, %arg1: tensor<2x4x16x2xf32>) -> tensor<2x4x16x2xf32> {
%cst = arith.constant 0.000000e+00 : f32
%c0 = arith.constant 0 : index
%0 = vector.transfer_read %arg0[%c0, %c0], %cst {in_bounds = [true, true]} : tensor<64x4xf32>, vector<64x4xf32>
%1 = vector.shape_cast %0 : vector<64x4xf32> to vector<4x16x2x2xf32>
%2 = vector.transpose %1, [2, 0, 1, 3] : vector<4x16x2x2xf32> to vector<2x4x16x2xf32>
%3 = tensor.empty() : tensor<2x4x16x2xf32>
%c0_0 = arith.constant 0 : index
%4 = vector.transfer_write %2, %3[%c0_0, %c0_0, %c0_0, %c0_0] {in_bounds = [true, true, true, true]} : vector<2x4x16x2xf32>, tensor<2x4x16x2xf32>
return %4 : tensor<2x4x16x2xf32>
}
```
AFTER (note that `%arg1` is correctly used):
```mlir
func.func @example(%arg0: tensor<64x4xf32>, %arg1: tensor<2x4x16x2xf32>) -> tensor<2x4x16x2xf32> {
%cst = arith.constant 0.000000e+00 : f32
%c0 = arith.constant 0 : index
%0 = vector.transfer_read %arg0[%c0, %c0], %cst {in_bounds = [true, true]} : tensor<64x4xf32>, vector<64x4xf32>
%1 = vector.shape_cast %0 : vector<64x4xf32> to vector<4x16x2x2xf32>
%2 = vector.transpose %1, [2, 0, 1, 3] : vector<4x16x2x2xf32> to vector<2x4x16x2xf32>
%c0_0 = arith.constant 0 : index
%3 = vector.transfer_write %2, %arg1[%c0_0, %c0_0, %c0_0, %c0_0] {in_bounds = [true, true, true, true]} : vector<2x4x16x2xf32>, tensor<2x4x16x2xf32>
return %3 : tensor<2x4x16x2xf32>
}
```
ADDITIONAL CHANGES:
* Adds missing `CHECK-LABEL` in tests.
* Capitalize LIT test variables names.
Commit: 573b3775e43c7d03d162f868e06253e0ef199bc4
https://github.com/llvm/llvm-project/commit/573b3775e43c7d03d162f868e06253e0ef199bc4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
A llvm/test/CodeGen/X86/avx512-mask-bit-manip.ll
Log Message:
-----------
[X86] Add test coverage for #158649 (#159524)
Demonstrates the failure to keep avx512 mask predicate bit manipulation
patterns (based off the BMI1/BMI2/TBM style patterns) on the predicate
registers - unless the pattern is particularly complex the cost of
transferring to/from gpr outweighs any gains from better scalar
instructions
I've been rather random with the mask types for the tests, I can adjust
later on if there are particular cases of interest
Commit: 85527609a05f64ea7d1ad14f4ae84435ce7efd37
https://github.com/llvm/llvm-project/commit/85527609a05f64ea7d1ad14f4ae84435ce7efd37
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
Log Message:
-----------
[AMDGPU] kernel-argument-dag-lowering.ll - regenerate test coverage (#159526)
Commit: 0384f6c9dbdcce283088b5207a56b1567590f927
https://github.com/llvm/llvm-project/commit/0384f6c9dbdcce283088b5207a56b1567590f927
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[VPlanPatternMatch] Introduce match functor (NFC) (#159521)
Follow up on 7fb3a91 ([PatternMatch] Introduce match functor) to
introduce the VPlanPatternMatch version of the match functor to shorten
some idioms.
Co-authored-by: Luke Lau <luke at igalia.com>
Commit: c5062d7d6358d73931b4791c77500f476606b003
https://github.com/llvm/llvm-project/commit/c5062d7d6358d73931b4791c77500f476606b003
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.td
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
R mlir/lib/Dialect/SCF/Transforms/IfConditionPropagation.cpp
M mlir/test/Dialect/SCF/canonicalize.mlir
R mlir/test/Dialect/SCF/if-cond-prop.mlir
Log Message:
-----------
Revert "[mlir] move if-condition propagation to a standalone pass" (#159535)
Reverts llvm/llvm-project#150278
Multiple post-merge comment remained undressed, and some more
fundamental issues were also reported in #159165
Commit: 4625c8f076a85a4b3799a71b9299424a426a9de3
https://github.com/llvm/llvm-project/commit/4625c8f076a85a4b3799a71b9299424a426a9de3
Author: nerix <nerixdev at outlook.de>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/test/Shell/SymbolFile/NativePDB/inline_sites.test
M lldb/test/Shell/SymbolFile/PDB/type-quals.test
Log Message:
-----------
[LLDB][NativePDB] Add modifiers to modified type name (#159296)
When creating LLDB types from `LF_MODIFIER` records, the type name of
the modified type was used. This didn't include the modifiers
(`const`/`volatile`/`__unaligned`). With this PR, they're included.
The DIA plugin had a test for this. That test also assumed that function
types had a name. I removed that check here, because function/procedure
types themselves in PDB don't have a name:
```
0x1015 | LF_ARGLIST [size = 20, hash = 0xBCB6]
0x0074 (int): `int`
0x1013: `int* __restrict`
0x1014: `int& __restrict`
0x1016 | LF_PROCEDURE [size = 16, hash = 0x3F611]
return type = 0x0003 (void), # args = 3, param list = 0x1015
calling conv = cdecl, options = None
```
I assume DIA gets the name from the function symbol itself. In the
native plugin, that name isn't included and multiple functions with the
same signature will reuse one type, whereas DIA would create a new type
for each function. The
[Shell/SymbolFile/PDB/func-symbols.test](https://github.com/llvm/llvm-project/blob/b29c7ded31d81ca47aed0157c543c8b6a0f5866c/lldb/test/Shell/SymbolFile/PDB/func-symbols.test)
also relies on this.
Commit: 8fcb073e125dac1e049244cc6ee948223d267f76
https://github.com/llvm/llvm-project/commit/8fcb073e125dac1e049244cc6ee948223d267f76
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvm] Use prop-dict for `ubsantrap` (#159470)
https://github.com/llvm/llvm-project/pull/159385#discussion_r2356872047
Commit: 1dc6bf3ff98c25dd29c6db3407c81d2064bc6977
https://github.com/llvm/llvm-project/commit/1dc6bf3ff98c25dd29c6db3407c81d2064bc6977
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py
M lldb/test/API/tools/lldb-dap/step/TestDAP_step.py
M lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
Log Message:
-----------
[lldb][lldb-dap] Disable all lldb-dap tests on Windows on Arm (#159542)
This reverts the following commits:
a0a82ee19d6f2ff1013407ba4c973bfe5428423f
757bb36a58c7d7151a28c6a5fc7caa2e1f44de87
83b48b13f3a70bf56053e92593270c519859cfd7
b45f1fb377636a34c01e34b89341c97d19975554
d2e153981e62fb2ea781ef456ff744f9893e0733
e2d1bbebbb099c7010a31fad62a9128166ef14a0
71cae12442e7476e6397fd73db05e127bfe2d035
7dd879bdc01297a551196a60bb5a5a90ca4dd1ed
f3b542e3148cfc244f63cb7c987ccf8ebc71942b
Where I had disabled specific tests due to them being flakey on our
Windows on Arm bot.
Clearly this strategy isn't working because
every day I see a new random test failing.
Until something can be done about this, disable
every lldb-dap test on Windows on Arm. The coverage we get is just not
worth spamming contributors
who have nothing to do with lldb-dap.
See #137660
Commit: af66368ff641137bc4bc9818a170d43abfa6df44
https://github.com/llvm/llvm-project/commit/af66368ff641137bc4bc9818a170d43abfa6df44
Author: Ritanya-B-Bharadwaj <ritanya.b.bharadwaj at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTMutationListener.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/DeclOpenMP.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DeclNodes.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclOpenMP.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTCommon.cpp
A clang/test/OpenMP/groupprivate_ast_print.cpp
A clang/test/OpenMP/groupprivate_messages.cpp
M clang/tools/libclang/CIndex.cpp
M flang/include/flang/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[clang] [OpenMP] New OpenMP 6.0 - Parsing and Sema support for groupprivate (#158134)
Commit: 77028d6574acb92a165d4926f8ea1312c71fbfc9
https://github.com/llvm/llvm-project/commit/77028d6574acb92a165d4926f8ea1312c71fbfc9
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/test/lib/Dialect/Linalg/TestLinalgRankReduceContractionOps.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for modernize-use-equals-default in TestLinalgRankReduceContractionOps.cpp (NFC)
Commit: 74090dec4c0df617821dd72febddaa5778816ee8
https://github.com/llvm/llvm-project/commit/74090dec4c0df617821dd72febddaa5778816ee8
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Dialect/SPIRV/IR/types.mlir
Log Message:
-----------
[mlir][spirv] Verify SampledImageType Dim (#159397)
This patches adds check for: "It [ImageType] must not have a Dim of
SubpassData. Additionally, starting with version 1.6, it must not have a
Dim of Buffer." as defined in "3.3.6. Type-Declaration Instructions" of
SPIR-V spec.
Commit: 226b0a9170267cbad13a695fa591cfe6ee56d304
https://github.com/llvm/llvm-project/commit/226b0a9170267cbad13a695fa591cfe6ee56d304
Author: moorabbit <moorabbit at proton.me>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512vlbwintrin.h
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vlbw-builtins.c
Log Message:
-----------
[Headers][X86] Add constexpr support for some AVX512 masked extension/truncation intrinsics. (#158663)
The following AVX[512] intrinsics are now constexpr:
- `_mm512_mask_cvtepi8_epi32`
- `_mm512_maskz_cvtepi8_epi32`
- `_mm512_mask_cvtepi8_epi64`
- `_mm512_maskz_cvtepi8_epi64`
- ` _mm512_mask_cvtepi16_epi32`
- ` _mm512_maskz_cvtepi16_epi32`
- ` _mm512_mask_cvtepi16_epi64`
- ` _mm512_maskz_cvtepi16_epi64`
- ` _mm512_mask_cvtepi32_epi64`
- ` _mm512_maskz_cvtepi32_epi64`
- ` _mm512_mask_cvtepu8_epi32`
- ` _mm512_maskz_cvtepu8_epi32`
- ` _mm512_mask_cvtepu8_epi64`
- ` _mm512_maskz_cvtepu8_epi64`
- ` _mm512_mask_cvtepu16_epi32`
- ` _mm512_maskz_cvtepu16_epi32`
- `_mm512_mask_cvtepu16_epi64`
- `_mm512_maskz_cvtepu16_epi64`
- `_mm512_mask_cvtepu32_epi64`
- `_mm512_maskz_cvtepu32_epi64`
- `_mm512_mask_cvtepi8_epi16`
- `_mm512_maskz_cvtepi8_epi16`
- `_mm512_mask_cvtepu8_epi16`
- `_mm512_maskz_cvtepu8_epi16`
- `_mm_cvtepi16_epi8`
- `_mm256_cvtepi16_epi8`
- `_mm256_mask_cvtepi16_epi8`
- `_mm256_maskz_cvtepi16_epi8`
This PR is part 1 of a series of PRs fixing [#154539](https://github.com/llvm/llvm-project/issues/154539)
Commit: f5ffedf81a1db4f0e149acb1b49cdc940e8c4233
https://github.com/llvm/llvm-project/commit/f5ffedf81a1db4f0e149acb1b49cdc940e8c4233
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Source.h
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[clang][bytecode] Pass `SourceInfo` objects by value (#159532)
They are only pointer-sized and copying them is cheaper than taking the
const ref.
Commit: 3defab36b73d60e616f5d6fe0e88e435c3dfc0dc
https://github.com/llvm/llvm-project/commit/3defab36b73d60e616f5d6fe0e88e435c3dfc0dc
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen][DecoderEmitter] Sink repeated code after the switch (NFC) (#159549)
Commit: 15b665b129cf77abd7c51ffb5dc67a21847a37e9
https://github.com/llvm/llvm-project/commit/15b665b129cf77abd7c51ffb5dc67a21847a37e9
Author: sskzakaria <ssskzakaria at proton.me>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/lib/Headers/avx512vlfp16intrin.h
M clang/test/CodeGen/X86/avx512vlfp16-builtins.c
Log Message:
-----------
[Headers][X86] Add constexpr support for some AVX512 int to f16 intrinsics. (#159231)
Added constexpr to the remaining intrinsics:
_mm256_cvtepu16_ph
_mm256_mask_cvtepu16_ph
_mm256_maskz_cvtepu16_ph
_mm256_cvtepi32_ph
_mm256_mask_cvtepi32_ph
_mm256_maskz_cvtepi32_ph
_mm256_cvtepu32_ph
_mm256_mask_cvtepu32_ph
_mm256_maskz_cvtepu32_ph
Last part fixing #155798
Commit: f334ac66656ed8c6aca9ff5d6f9422d3b980089a
https://github.com/llvm/llvm-project/commit/f334ac66656ed8c6aca9ff5d6f9422d3b980089a
Author: Ross Brunton <bruntonross at protonmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M offload/tools/deviceinfo/llvm-offload-device-info.cpp
Log Message:
-----------
[Offload] Include product name in llvm-offload-device-info (#159384)
Commit: 0ac13afc2de80badc86f921c02a0c2e3ccb230fa
https://github.com/llvm/llvm-project/commit/0ac13afc2de80badc86f921c02a0c2e3ccb230fa
Author: nerix <nerixdev at outlook.de>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
Log Message:
-----------
[llvm-pdbutil] Pass filename when formatting `setfile` annotation (#149705)
When dumping a PDB with an inlinesite that had a ChangeFile annotation,
the `Filename` wasn't passed to the format string. This hit an assertion
in debug mode and silently failed in release mode.
Commit: e6c27b37d7ed9a00e33ab0ec84f0160617da5cfc
https://github.com/llvm/llvm-project/commit/e6c27b37d7ed9a00e33ab0ec84f0160617da5cfc
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/spirv-amd-toolchain.c
Log Message:
-----------
[Driver][AMDGPU][HIP][SPIRV] Disable optimizations for AMDGCN SPIR-V (#154765)
SPIR-V specific optimizations can inadvertently remove information that
is important for the AMDGPU BE / break certain code patterns we rely on.
Therefore, for AMDGCN flavoured SPIR-V we disable optimizations over IR,
to ensure that we operate directly on the output of Clang CodeGen when
we finalise.
Commit: f68f3b9a7efdcf1bd56744f3c31056f5d03fb212
https://github.com/llvm/llvm-project/commit/f68f3b9a7efdcf1bd56744f3c31056f5d03fb212
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Allow zero-operand m_VPInstruction (NFC) (#159550)
Commit: 1fc9b344889aeb1f83cfee29f61d844ec927a5cd
https://github.com/llvm/llvm-project/commit/1fc9b344889aeb1f83cfee29f61d844ec927a5cd
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M lldb/unittests/Host/posix/SupportTest.cpp
Log Message:
-----------
[lldb][test] Disable a procfile test when threading is not enabled (#159559)
As is done for other procfile tests.
Commit: c379127c123e8346f764630dc659e0871099f2fb
https://github.com/llvm/llvm-project/commit/c379127c123e8346f764630dc659e0871099f2fb
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.h
M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.h
Log Message:
-----------
[AArch64] Refactor and move common code to `AArch64PrologueEpilogue` (NFCI) (#158920)
This is the final patch in a series reworking the structure of the
prologue/epilogue code. This patch moves some methods from
`AArch64FrameLowering` to `Arch64PrologueEpilogue` as they are only used
by `.emitPrologue/Epilogue`. This includes:
- `shouldCombineCSRLocalStackBump()`
- `shouldCombineCSRLocalStackBumpInEpilogue()`
- `allocateStackSpace()`
- `convertCalleeSaveRestoreToSPPrePostIncDec()`
- `fixupCalleeSaveRestoreStackOffset()`
Common code/methods have been factored into a
`AArch64PrologueEpilogueCommon` base class used by both
`AArch64PrologueEmitter` and `AArch64EpilogueEmitter`.
Finally, some redundant fetching of target classes has been removed from
methods.
Commit: 6acfc029222e244421feb261369b9d1fd388b587
https://github.com/llvm/llvm-project/commit/6acfc029222e244421feb261369b9d1fd388b587
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M libcxx/test/std/re/re.alg/re.alg.match/awk.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.match/basic.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.match/ecma.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.match/extended.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.search/awk.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.search/basic.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.search/ecma.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.search/extended.locale.pass.cpp
M libcxx/test/std/re/re.traits/lookup_collatename.pass.cpp
Log Message:
-----------
[libc++] XFAIL regex tests that are currently failing on macOS (#159260)
It seems that an OS update changed the localization on macOS. This
XFAILs the tests to make sure the CI is green again until the tests can
be updated.
Commit: 69a07420f999f6f93fb3930ecb104a9d19ba1d65
https://github.com/llvm/llvm-project/commit/69a07420f999f6f93fb3930ecb104a9d19ba1d65
Author: Vladimír Štill <git at vstill.eu>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/include/mlir/Interfaces/LoopLikeInterface.td
Log Message:
-----------
[mlir] Fix unqualified APInt in LoopLikeOpInterface tablegen (#159561)
In the recent change adding `getStaticTripCount` there is an omitted
namespace on `APInt` which means the build fails for projects using this
interface outside of `llvm` namespace (or `using llvm::APInt`).
Commit: 868aa5f19cd71e3ff6dfce021f1bd68b4c8248e8
https://github.com/llvm/llvm-project/commit/868aa5f19cd71e3ff6dfce021f1bd68b4c8248e8
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/__memory/compressed_pair.h
M libcxx/include/ext/hash_map
M libcxx/include/map
M libcxx/include/unordered_map
Log Message:
-----------
[libc++] Introduce _LIBCPP_COMPRESSED_ELEMENT (#134253)
We have multiple classes with an empty base optimization that contains
just a single type. This patch introduces `_LIBCPP_COMPRESSED_ELEMENT`
to refactor these classes to avoid having them essentially twice,
reducing the amount of code significantly.
Commit: 4dc0513f6196d0ead5cf3cdfa23752d88b783a9e
https://github.com/llvm/llvm-project/commit/4dc0513f6196d0ead5cf3cdfa23752d88b783a9e
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_enums.py
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[libclang/python] Sync python kinds with Index.h enums (#143264)
Add tests to ensure that all C-enum variants are defined on Python side,
and that the Python bindings do not contain variants not defined on the C side
Commit: 8dae17be2991cd7f0d7fd9aa5aecd064520a14f6
https://github.com/llvm/llvm-project/commit/8dae17be2991cd7f0d7fd9aa5aecd064520a14f6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M libcxx/include/__memory/allocate_at_least.h
M libcxx/include/string
M libcxx/src/string.cpp
Log Message:
-----------
[libc++] Refactor memory allocation in basic_string (#128423)
This patch introduces a string-internal API to make the allocation and
deallocation the long string simpler. Before this we had a lot of code
duplication, so ensuring that things were actually correct was
non-trivial.
Commit: 2ec7959b96ecc85fef3dcb50bab54b9f76f603d4
https://github.com/llvm/llvm-project/commit/2ec7959b96ecc85fef3dcb50bab54b9f76f603d4
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.signal.isfirst.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.signal.isfirst.mir
M llvm/test/CodeGen/AMDGPU/s-barrier.ll
A llvm/test/CodeGen/AMDGPU/waitcnt-kmcnt-scc-different-block.mir
Log Message:
-----------
[AMDGPU][SIInsertWaitcnts] Track SCC. Insert KM_CNT waits for SCC writes. (#157843)
Add new event SCC_WRITE for s_barrier_signal_isfirst and s_barrier_leave,
instructions that write to SCC, counter is KM_CNT.
Also start tracking SCC for reads and writes.
s_barrier_wait on the same barrier guarantees that the SCC write from
s_barrier_signal_isfirst has landed, no need to insert s_wait_kmcnt.
Commit: 72596b333fef81275d281081cfdb63f3f1eb940a
https://github.com/llvm/llvm-project/commit/72596b333fef81275d281081cfdb63f3f1eb940a
Author: Luke Lau <luke at igalia.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAnalysisManager.h
M llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
Log Message:
-----------
[NewPM] Remove BranchProbabilityInfo from FunctionToLoopPassAdaptor. NFCI (#159516)
No loop pass seems to use now it after LoopPredication stopped using it
in https://reviews.llvm.org/D111668
Commit: 01b4b2a5b88c4b93d635a5049fa85e569b405982
https://github.com/llvm/llvm-project/commit/01b4b2a5b88c4b93d635a5049fa85e569b405982
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/fold-gep-offset.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.load.async.to.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.async.to.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.store.async.from.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.monitor.gfx1250.ll
M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
M llvm/test/CodeGen/AMDGPU/ptradd-sdag.ll
M llvm/test/CodeGen/AMDGPU/scale-offset-flat.ll
M llvm/test/CodeGen/AMDGPU/scale-offset-global.ll
Log Message:
-----------
[AMDGPU][SDAG] Handle ISD::PTRADD in VOP3 patterns (#143881)
This patch mirrors similar patterns for ISD::ADD. The main difference is
that ISD::ADD is commutative, so that a pattern definition for, e.g.,
(add (mul x, y), z), automatically also handles (add z, (mul x, y)).
ISD::PTRADD is not commutative, so we would need to handle these cases
explicitly. This patch only implements (ptradd z, (op x, y)) patterns,
where the nested operation (shift or multiply) is the offset of the
ptradd (i.e., the right operand), since base pointers that are the
result of a shift or multiply seem less likely.
For SWDEV-516125.
Commit: dcd0a2eecca38bbe7813ab1d99639b2d33d9f9ad
https://github.com/llvm/llvm-project/commit/dcd0a2eecca38bbe7813ab1d99639b2d33d9f9ad
Author: Ryan Mansfield <rmansfield at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/test/tools/llvm-size/totals.test
M llvm/tools/llvm-size/llvm-size.cpp
Log Message:
-----------
[llvm-size] Fix --totals option for Mach-O files (#157904)
The --totals option was not working for Mach-O files because the Darwin
segment size calculation skipped the totals accumulation.
---------
Co-authored-by: James Henderson <James.Henderson at sony.com>
Commit: 29620d9b8971c4eea7f5407ca206ba04c6f78d01
https://github.com/llvm/llvm-project/commit/29620d9b8971c4eea7f5407ca206ba04c6f78d01
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/ByteCode/InterpStack.h
Log Message:
-----------
[clang][bytecode] Optimize InterpStack (#159400)
Replace `StackChunk::End` with `StackChunk::Size`, mark the allocating
code paths as unlikely and move `grow()` into the header, which allows
us to template this for the `Size` parameter. Since we only push our
primitive types on the stack and all the sizes are aligned to pointer
size multiples, this only results in a few instantiations.
Commit: 81aaca359b2d5a6529d9620fa4181c4d89c83c7c
https://github.com/llvm/llvm-project/commit/81aaca359b2d5a6529d9620fa4181c4d89c83c7c
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/utils/TableGen/CIRLoweringEmitter.cpp
M clang/utils/TableGen/CMakeLists.txt
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[CIR][NFC] Use TableGen to generate LLVM lowering patterns (#159390)
Most lowering patterns have exactly the same class declaration with
different names and different `matchAndRewrite` implementations, yet
their declaration occupies near 1000 lines of code in `LowerToLLVM.h`,
making this file difficult to read and boring to maintain. In this
patch, I migrate their declarations to be generated from `CIROps.td`
using `clang-tblgen`. Some extra `CIR_Op` TableGen fields are introduced
to help this:
- The `CIR_Op` class now defines a `bit` field `hasLLVMLowering` which
defaults to `true`. If its value is `true`, `clang-tblgen` would
generate an LLVM lowering pattern declaration for the operation.
- Some LLVM lowering patterns has bounded recursion. This could be
enabled by setting the `isLLVMLoweringRecursive` field in a `CIR_Op`
record to `true`.
- Some LLVM lowering patterns have defined additional class members.
They could be listed in the `extraLLVMLoweringPatternDecl` field.
Note that in the incubator we have a similar TableGen code generator
that generates LLVM lowering code for CIR builtin ops which has a
one-to-one correspondence to LLVM dialect operations. This patch does
NOT try to upstream it.
Some additional noticeable changes made by this patch:
- This patch adds the `dataLayout` member to every LLVM lowering pattern
class to make the job easier for a code generator. In the future we
might want to add more members to the lowering patterns, and we will
need to update the code generator to make such changes.
Commit: d62505f77d7aad8379b3d6f54b19bac1758ca1c2
https://github.com/llvm/llvm-project/commit/d62505f77d7aad8379b3d6f54b19bac1758ca1c2
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/utils/TableGen/BUILD.gn
Log Message:
-----------
[gn build] Port 81aaca359b2d
Commit: b405e3249bb64824587e2c5d98751f3d6ce636e0
https://github.com/llvm/llvm-project/commit/b405e3249bb64824587e2c5d98751f3d6ce636e0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/test/CodeGen/RISCV/builtin-cpu-is.c
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add MVendorID, MArchID, and MImpID for sifive-p550. (#159465)
Commit: 31e43e2fb8634f35a70699f636c49c9d2451e81c
https://github.com/llvm/llvm-project/commit/31e43e2fb8634f35a70699f636c49c9d2451e81c
Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR] [OpenMP] Modify definition of ALLOCATOR clause to support allocator type defined in user program. (#157399)
Earlier only predefined allocator types mentioned in OpenMP spec were allowed. This patch addresses support for user defined allocator type in allocator clause increasing the scope of allocator clause.
Commit: 4f72abd8404efa3de32188429d5f079ad12264e3
https://github.com/llvm/llvm-project/commit/4f72abd8404efa3de32188429d5f079ad12264e3
Author: Walter Erquinigo <werquinigo at nvidia.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
M lldb/include/lldb/Utility/StringExtractorGDBRemote.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
M lldb/source/Utility/StringExtractorGDBRemote.cpp
M lldb/unittests/tools/lldb-server/tests/LLGSTest.cpp
Log Message:
-----------
[LLDB] Add support for the structured data plugins in lldb-server (#159457)
The LLDB client has support for structured data plugins, but lldb-server
doesn't have corresponding support for it. This patch adds the missing
functionality in LLGS for servers to register their supported plugins
and send corresponding async messages.
Commit: 09e0f1e035b348e2cd694e5f4b943a78cb6ad639
https://github.com/llvm/llvm-project/commit/09e0f1e035b348e2cd694e5f4b943a78cb6ad639
Author: Vy Nguyen <vyng at google.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
Log Message:
-----------
[LLDB]Fix buffer-over-flow bug introduced in 157170 (#159588)
If `pr_name` is longer than 16, it would be a non-null terminated
string. Assigning it to `std::string m_executable_name` would cause an
overflow read. Instead, just copy the name from thread_data.name.
To repro, run the `elf-core/TestLinuxCore.py` with asan
(Question: why is the new variable needed in the first place? can't the
thread_data.name be used?)
Commit: 902ddda120a55789f761165442a375ca6c916752
https://github.com/llvm/llvm-project/commit/902ddda120a55789f761165442a375ca6c916752
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/test/CodeGen/inline-asm-x86-flag-output.c
A llvm/include/llvm/Transforms/Scalar/DropUnnecessaryAssumes.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Scalar/CMakeLists.txt
A llvm/lib/Transforms/Scalar/DropUnnecessaryAssumes.cpp
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
A llvm/test/Transforms/DropUnnecessaryAssumes/basic.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
M llvm/test/Transforms/PhaseOrdering/pr45682.ll
M llvm/test/Transforms/PhaseOrdering/pr45687.ll
M llvm/test/Transforms/PhaseOrdering/pr98799-inline-simplifycfg-ub.ll
Log Message:
-----------
[DropUnnecessaryAssumes] Add pass for dropping assumes (#159403)
This adds a new pass for dropping assumes that are unlikely to be useful
for further optimization.
It works by discarding any assumes whose affected values are one-use
(which implies that they are only used by the assume, i.e. ephemeral).
This pass currently runs at the start of the module optimization
pipeline, that is post-inline and post-link. Before that point, it is
more likely for previously "useless" assumes to become useful again,
e.g. because an additional user of the value is introduced after
inlining + CSE.
Commit: ad68e5d56c0258cf6c20657bebc9ef0ad5b20551
https://github.com/llvm/llvm-project/commit/ad68e5d56c0258cf6c20657bebc9ef0ad5b20551
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/LiveDebugVariables.cpp
A llvm/test/DebugInfo/X86/live-debug-vars-bundle.mir
Log Message:
-----------
[LiveDebugVariables] Use bundle-aware iterators consistently (#159471)
Most of the pass works in terms of MachineBasicBlock::iterator
(MachineInstrBundleIterator), but here one is constructed from an
arbitrary instruction which may be within a bundle, causing an
assertion.
Commit: 5399aa1f6aa9548ae5f097db2369cfea50bd7987
https://github.com/llvm/llvm-project/commit/5399aa1f6aa9548ae5f097db2369cfea50bd7987
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn
Log Message:
-----------
[gn build] Port 902ddda120a5
Commit: 9b681ea50d1864c15bb4ff2d302caf4e973c8c71
https://github.com/llvm/llvm-project/commit/9b681ea50d1864c15bb4ff2d302caf4e973c8c71
Author: Elvin Wang <elvin.wang at intel.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/test/TableGen/intrinsic-attrs.td
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
Log Message:
-----------
[IntrinsicEmitter] Make AttributesMap bound inclusive (#158714)
This is a minor fix from comment
https://github.com/llvm/llvm-project/pull/157965/files#r2347317186
introduced in #157965.
Commit: adaf5ba6791e7b32dd6dca2f857d588a5304d7e7
https://github.com/llvm/llvm-project/commit/adaf5ba6791e7b32dd6dca2f857d588a5304d7e7
Author: gbMattN <matthew.nagy at sony.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_file.cpp
Log Message:
-----------
Fix possible underflow in ParseAndSetPath (#159389)
If an empty path is passed, the internal_strlen -1 below will loop round
to become uptr max. Adding this check ensures that this would be caught
Commit: b417161ad0b664dd07933e749ba1604af255ba7b
https://github.com/llvm/llvm-project/commit/b417161ad0b664dd07933e749ba1604af255ba7b
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M flang/lib/Lower/ConvertArrayConstructor.cpp
A flang/test/Lower/array-constructor-exactly-once.f90
Log Message:
-----------
[Flang] Wrap array constructors within a hlfir.exactly_once op (#159442)
When inside a WHERE construct, the array constructor should be generated
within an hlfir.exactly_once region.
Fixes #130532
Commit: 6e47bff24d83ea4db74cf548146baf6170aeb9f0
https://github.com/llvm/llvm-project/commit/6e47bff24d83ea4db74cf548146baf6170aeb9f0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
Log Message:
-----------
[AMDGPU] callee-special-input-vgprs.ll / callee-special-input-vgprs-packed.ll - regenerate test coverage (#159587)
Commit: 44a1f7e7cabebff853ccfbbb669f79673a2ec335
https://github.com/llvm/llvm-project/commit/44a1f7e7cabebff853ccfbbb669f79673a2ec335
Author: David Peixotto <peix at meta.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/test/API/functionalities/postmortem/netbsd-core/TestNetBSDCore.py
Log Message:
-----------
[lldb] Fix unsafe map mutation in ProcessElfCore::FindModuleUUID (#159444)
The `ProcessElfCore::FindModuleUUID` function can be called by multiple
threads at the same time when `target.parallel-module-load` is true. We
were using the `operator[]` to lookup the UUID which will mutate the map
when the key is not present. This is unsafe in a multi-threaded contex
so we now use a read-only `find` operation and explicitly return an
invalid UUID when the key is not present.
The `m_uuids` map can follow a create-then-query pattern. It is
populated in the `DoLoadCore` function which looks like it is only
called in a single-threaded context so we do not need extra locking as
long as we keep the other accesses read-only.
Other fixes I considered
* Use a lock to protect access - We don't need to modify the map after
creation so we can allow concurrent read-only access.
* Store the map in a const pointer container to prevent accidental
mutation in other places.
- Only accessed in one place currently so just added a comment.
* Store the UUID in the NT_FILE_Entry after building the mapping
correctly in `UpdateBuildIdForNTFileEntries`. - The map lets us avoid a
linear search in `FindModuleUUID`.
This commit also reverts the temporary workaround from #159395 which
disabled parallel module loading to avoid the test failure.
Fixes #159377
Commit: 6b99a7bbed8ddb0eebcc8b40b91b8d74a8487165
https://github.com/llvm/llvm-project/commit/6b99a7bbed8ddb0eebcc8b40b91b8d74a8487165
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/unittests/Transforms/Vectorize/CMakeLists.txt
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
A llvm/unittests/Transforms/Vectorize/VPlanUncountableExitTest.cpp
Log Message:
-----------
[LV] Provide utility routine to find uncounted exit recipes (#152530)
Splitting out just the recipe finding code from #148626 into a utility
function (along with the extra pattern matchers). Hopefully this makes
reviewing a bit easier.
Added a gtest, since this isn't actually used anywhere yet.
Commit: f7b1b397673a234b62dc4ec68d9afa423fe4f520
https://github.com/llvm/llvm-project/commit/f7b1b397673a234b62dc4ec68d9afa423fe4f520
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 6b99a7bbed8d
Commit: 5b2af16be591172cde8203160d1e01f5815a16ac
https://github.com/llvm/llvm-project/commit/5b2af16be591172cde8203160d1e01f5815a16ac
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
A flang/test/Driver/fatlto-err.f90
A flang/test/Driver/lto-fatlto.f90
A flang/test/Driver/lto-lld-flags.f90
Log Message:
-----------
[flang][Driver] Enables lto-partitions and fat-lto-object. (#158125)
Commit: ab00172e2c5d799bbe9daff4347e1319b82400ed
https://github.com/llvm/llvm-project/commit/ab00172e2c5d799bbe9daff4347e1319b82400ed
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMapInfo.h
Log Message:
-----------
[ADT] Simplify isEqualImpl in DenseMapInfo.h (NFC) (#159508)
This patch replaces the recursive implementation of isEqualImpl with a
C++17 fold expression.
Commit: deb95201b2795b74f6269e5b8e126fb2ba8fb380
https://github.com/llvm/llvm-project/commit/deb95201b2795b74f6269e5b8e126fb2ba8fb380
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/ilist_node_options.h
Log Message:
-----------
[ADT] Simplify check_options with std::conjunction (NFC) (#159509)
This patch replaces the recursion with std::conjunction for
readability and brevity.
Commit: d6b7ac830ab4c1b26a1b2eecd15306eccf9cea90
https://github.com/llvm/llvm-project/commit/d6b7ac830ab4c1b26a1b2eecd15306eccf9cea90
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/IR/Metadata.cpp
Log Message:
-----------
[IR] Simplify HasCachedHash with is_detected (NFC) (#159510)
With is_detected, we don't need to implement a SFINAE trick on our own.
Commit: df6dce181c6211c1617ed8724897a67940bd3d9d
https://github.com/llvm/llvm-project/commit/df6dce181c6211c1617ed8724897a67940bd3d9d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/docs/GettingStartedVS.rst
Log Message:
-----------
[llvm] Proofread GettingStartedVS.rst (#159511)
Commit: 97e544f617a10011a5415b39a892de9d1aa88fd0
https://github.com/llvm/llvm-project/commit/97e544f617a10011a5415b39a892de9d1aa88fd0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/PointerSumType.h
Log Message:
-----------
[ADT] Use C++17 fold expression in PointerSumType (NFC) (#159560)
This patch simplifes the recursive Checker template with a C++17 fold
expression and "inlines" it right into the `static_assert`.
Commit: 24504c366146fd55352dcb695d81259bb5f5eb88
https://github.com/llvm/llvm-project/commit/24504c366146fd55352dcb695d81259bb5f5eb88
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/unittests/CAS/ProgramTest.cpp
Log Message:
-----------
[test][CAS] Fix unused variable warning in unittest (#159594)
Fix unused variable warning blocking AIX bot.
Commit: 8b9c70dcdbc80f01945c6560232717afd228d532
https://github.com/llvm/llvm-project/commit/8b9c70dcdbc80f01945c6560232717afd228d532
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Vector/Transforms/LowerVectorFromElements.cpp
R mlir/lib/Dialect/Vector/Transforms/LowerVectorToElements.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/test/Conversion/ConvertToSPIRV/vector-unroll.mlir
Log Message:
-----------
[mlir] Move vector.{to_elements,from_elements} unrolling to `VectorUnroll.cpp` (#159118)
This PR moves the patterns that unroll vector.to_elements and
vector.from_elements into the file with other vector unrolling
operations. This PR also adds these unrolling patterns into the
`populateVectorUnrollPatterns`. And renames
`populateVectorToElementsLoweringPatterns`
`populateVectorFromElementsLoweringPatterns` to
`populateVectorToElementsUnrollPatterns`
`populateVectorFromElementsUnrollPatterns`.
Commit: 4fabe6ffae885bddc52500ad59bc535febfaa494
https://github.com/llvm/llvm-project/commit/4fabe6ffae885bddc52500ad59bc535febfaa494
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/test/Transforms/Coroutines/coro-noop-pacbti.ll
M llvm/test/Transforms/Coroutines/coro-noop.ll
Log Message:
-----------
Use internal linkage for __NoopCoro_ResumeDestroy (#159407)
`__NoopCoro_ResumeDestroy` currently has private linkage, which causes
[issues for
Arm64EC](https://github.com/llvm/llvm-project/issues/158341). The
Arm64EC lowering is trying to mangle and add thunks for
`__NoopCoro_ResumeDestroy`, since it sees that it's address is taken
(and, therefore, might be called from x64 code via a function pointer).
MSVC's linker requires that the function be placed in COMDAT (`LNK1361:
non COMDAT symbol '.L#__NoopCoro_ResumeDestroy' in hybrid binary`) which
trips an assert in the verifier (`comdat global value has private
linkage`) and the subsequent linking step fails since the private symbol
isn't in the symbol table.
Since there is no reason to use private linkage for
`__NoopCoro_ResumeDestroy` and other coro related functions have also
been [switched to internal linkage to improve
debugging](https://github.com/llvm/llvm-project/pull/151224), this
change switches to using internal linkage.
Fixes #158341
Commit: b8649098a7fcf598406d8d8b7d68891d1444e9c8
https://github.com/llvm/llvm-project/commit/b8649098a7fcf598406d8d8b7d68891d1444e9c8
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
A mlir/test/Interfaces/TilingInterface/tile-using-custom-op.mlir
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td
Log Message:
-----------
[mlir][SCF] Allow using a custom operation to generate loops with `mlir::tileUsingSCF`. (#159506)
This change adds an option to use a custom operation to generate the
inter-tile loops during tiling. When the loop type is set to
`scf::SCFTilingOptions::LoopType::CustomOp`, the method
`mlir::tileUsingSCF` provides two callback functions
1. First one to generate the header of the loop.
2. Second one to generate the terminator of the loop.
These methods receive the information needed to generate the
loops/terminator and expect to return information needed to generate
the code for the intra-tile computation. See comments for more
details.
Presently this is adds support only for tiling. Subsequent commits
will update this to add support for fusion as well.
The PR is split into two commits.
1) The first commit is an NFC that just refactors the code (and cleans
up some naming) to make it easier to add the support for custom loop
operations.
2) The second commit adds the support for using a custom loop operation,
as well as a test to exercise this path.
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
---------
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: 0ade3461ffd78ba91e7abf69ee499d4befe009df
https://github.com/llvm/llvm-project/commit/0ade3461ffd78ba91e7abf69ee499d4befe009df
Author: Aditya Chaudhari <98672108+AdityaC4 at users.noreply.github.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512dq-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vldq-builtins.c
Log Message:
-----------
[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow AVX/AVX512 subvector insertion intrinsics to be used in constexpr #157709 (#158778)
AVX/AVX512 vector insert intrinsics now support constexpr evaluation in both the AST evaluator and bytecode interpreter paths.
FIXES: #157709
Commit: bbcb5f421d062d79e726abdbe5f014a2119a5567
https://github.com/llvm/llvm-project/commit/bbcb5f421d062d79e726abdbe5f014a2119a5567
Author: Alexey Karyakin <akaryaki at quicinc.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
A llvm/test/CodeGen/Hexagon/hvx-vdeal-vpack.ll
Log Message:
-----------
Shuffle patterns to vdeal + vpack (#159464)
Lowering shuffle patterns to vdeal + vpack caused an assertion because
the vdeal parameter value is negative but an unsigned one was expected.
Commit: b4d274f3d97c72364cc29f650423dca7b5b763ed
https://github.com/llvm/llvm-project/commit/b4d274f3d97c72364cc29f650423dca7b5b763ed
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
A clang/test/CIR/CodeGen/opaque.c
Log Message:
-----------
[CIR] Implement OpaqueValueExpr for Complex in C (#158423)
This change adds support for the OpaqueValueExpr for Complex in C
Issue: https://github.com/llvm/llvm-project/issues/141365
Commit: 652325866ad7c08e8b457d59cd361bf27ed7698c
https://github.com/llvm/llvm-project/commit/652325866ad7c08e8b457d59cd361bf27ed7698c
Author: Dan Bonachea <dobonachea at lbl.gov>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M flang/docs/ParallelMultiImageFortranRuntime.md
Log Message:
-----------
[flang] Update docs link to latest PRIF Specification (#159233)
The PRIF Committee is pleased to announce the publication of the
Parallel
Runtime Interface for Fortran (PRIF) Specification, Revision 0.6. The
latest
iteration of this specification represents the efforts of a
collaborative
design process involving multiple individuals across several
institutions.
The document is available here: <https://doi.org/10.25344/S4M01X>
The PRIF specification is now governed by a formal PRIF Committee.
For more details, see: <https://go.lbl.gov/prif-governance>
The Committee vote to approve the technical content in this revision
began on 2025-08-22 and concluded on 2025-09-07 with unanimous approval.
The 7-day Committee comment period for cosmetic feedback began on
2025-09-08 and concluded on 2025-09-15 with no comments.
See the Change Log in Section 1 of the document for the list of changes
relative to the prior revision.
Commit: b7f0bb9c29e9d62eb1790d4762b6a939abbd3eca
https://github.com/llvm/llvm-project/commit/b7f0bb9c29e9d62eb1790d4762b6a939abbd3eca
Author: Michael Jones <michaelrj at google.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M libc/src/stdio/printf_core/vasprintf_internal.h
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/asprintf_test.cpp
M libc/test/src/stdio/vasprintf_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
Log Message:
-----------
[libc][bazel] Add (v)asprintf targets and tests (#159476)
Commit: ea48d14faff82beea4181b72986c72a8929a3186
https://github.com/llvm/llvm-project/commit/ea48d14faff82beea4181b72986c72a8929a3186
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
Log Message:
-----------
[Clangd] [NFC] Fix dereference of null value (#159566)
This is a find from static analysis tool complaining about potential
dereference of `nullptr` for `RD`.
Commit: 6ec08132ee413512c937fb09adaa3344355c1ecb
https://github.com/llvm/llvm-project/commit/6ec08132ee413512c937fb09adaa3344355c1ecb
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for readability-identifier-naming in AMDGPUDialect.cpp (NFC)
Commit: c3383d74a735decd70088f382466b4a7d699f948
https://github.com/llvm/llvm-project/commit/c3383d74a735decd70088f382466b4a7d699f948
Author: Shaoce SUN <sunshaoce at outlook.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCVGISel.td
A llvm/test/CodeGen/RISCV/GlobalISel/addiw-sext-inreg.ll
Log Message:
-----------
[RISCV][GlobalIsel] Remove redundant sext.w for ADDIW (#159597)
This is the minimal case generated by clang at `-O0`; I'm not sure if
writing the test this way is appropriate.
Commit: 113357f1a8feb0bfa337bb8a0b9d1d6eaa2d4f0f
https://github.com/llvm/llvm-project/commit/113357f1a8feb0bfa337bb8a0b9d1d6eaa2d4f0f
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
[lldb][nfc] Remove no-op calls to Fix*Address (#159586)
The first call, in InitializeNonZerothFrame, is inside a logging branch.
For that, it's better to log the real value instead of the fixed one.
The second call, inside RegisterContextUnwind::ReadFrameAddress, is
computing an address which is then passed to
ReadRegisterValueFromMemory, which boils down to a Process::ReadMemory,
which fixes the address if it wants to. The current variable names are
misleading, making readers believe it is the cfa value itself that is
being passed to Fix*Address; that's not the case. This commit renames
the variable to make this abundantly clear.
Commit: 8616dda07ca28cffd283c489037412842b606d8b
https://github.com/llvm/llvm-project/commit/8616dda07ca28cffd283c489037412842b606d8b
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Support type promotion for Scalar unary real & imag ops (#158473)
This change adds support for type promotion in Scalar unary real & imag
ops
Issue: https://github.com/llvm/llvm-project/issues/141365
Commit: b2ad5f5992dc3844caf4b065c57963ae7da98816
https://github.com/llvm/llvm-project/commit/b2ad5f5992dc3844caf4b065c57963ae7da98816
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/smoke/acoshf16_test.cpp
M libc/test/src/math/smoke/acospif16_test.cpp
M libc/test/src/math/smoke/asinpif16_test.cpp
M libc/test/src/math/smoke/cospif16_test.cpp
M libc/test/src/math/smoke/expf16_test.cpp
M libc/test/src/math/smoke/rsqrtf16_test.cpp
M libc/test/src/math/smoke/sinpif16_test.cpp
Log Message:
-----------
[libc][math] Fix sNaN tests for AArch64 (#159483)
Fixes: #134917,
https://github.com/llvm/llvm-project/pull/100632#issuecomment-2258772681,
#159417
---------
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: 7200425ac60819c45c901728ed258f7d9f81f2f4
https://github.com/llvm/llvm-project/commit/7200425ac60819c45c901728ed258f7d9f81f2f4
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/unary.cpp
Log Message:
-----------
[CIR] Support type promotion for Scalar unary plus & minus ops (#158486)
Support type promotion for Scalar unary plus & minus ops
Commit: 10516bea2f24c2a247143ec273d01e5449316303
https://github.com/llvm/llvm-project/commit/10516bea2f24c2a247143ec273d01e5449316303
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M flang/test/CMakeLists.txt
Log Message:
-----------
[flang]enable llvm-readelf and llvm-objdump (#159607)
https://github.com/llvm/llvm-project/pull/158125 resulted in CI failure
as `llvm-readelf` and `llvm-objcopy` were not listed in flang test deps.
This PR fixes it.
Commit: 5a339b074e625a7e9c92ae98b93a2bb5e1ae9524
https://github.com/llvm/llvm-project/commit/5a339b074e625a7e9c92ae98b93a2bb5e1ae9524
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
Log Message:
-----------
[clang] Only set non-empty bypass to scan VFS (#159605)
Normalizing an empty modules cache path results in an incorrect
non-empty path (the working directory). This PR conditionalizes more
code to avoid this. Tested downstream by swift/llvm-project and the
`DependencyScanningCAPITests.DependencyScanningFSCacheOutOfDate` unit
test.
Commit: b59af5cc9c7f6794a51db189521cad22d97a1605
https://github.com/llvm/llvm-project/commit/b59af5cc9c7f6794a51db189521cad22d97a1605
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for readability-simplify-boolean-expr in LinalgInterfaces.cpp (NFC)
Commit: cda542dd21eb550c58b398f1a47216ed55edf72d
https://github.com/llvm/llvm-project/commit/cda542dd21eb550c58b398f1a47216ed55edf72d
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/include/clang/Frontend/ASTUnit.h
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Frontend/ASTMerge.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/tools/c-index-test/core_main.cpp
M clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
Log Message:
-----------
[clang] Pass VFS into `ASTUnit::LoadFromASTFile()` (#159166)
This PR makes the `VFS` parameter to `ASTUnit::LoadFromASTFile()`
required and explicit, rather than silently defaulting to the real file
system. This makes it easy to correctly propagate the fully-configured
VFS and load any input files like the rest of the compiler does.
Commit: a858c9071c25826d7d60af420e4dcf9106bf7cc0
https://github.com/llvm/llvm-project/commit/a858c9071c25826d7d60af420e4dcf9106bf7cc0
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for readability-simplify-boolean-expr in InlinerInterfaceImpl.cpp (NFC)
Commit: 50b9ca4ddaea08fc72b7dcba1390c1689eed9a17
https://github.com/llvm/llvm-project/commit/50b9ca4ddaea08fc72b7dcba1390c1689eed9a17
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/aarch64-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fixed-wide-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave-allocsize-not-equal-typesize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_known_tc.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invariant-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/licm-calls.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr151664-cost-hoisted-vector-scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-wide-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-constant-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-derived-ivs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-insertelt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/AArch64/wider-VF-for-callinst.ll
M llvm/test/Transforms/LoopVectorize/AMDGPU/packed-math.ll
M llvm/test/Transforms/LoopVectorize/ARM/active-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-loop-hint.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-call.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-vfabi-attr.ll
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-prune-vf.ll
M llvm/test/Transforms/LoopVectorize/RISCV/remark-reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vector-loop-backedge-elimination-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vf-will-not-generate-any-vector-insts.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-conditional-branches.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-constant-known-via-scev.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-ptradd-with-replicated-operand.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-hoist-load-across-store.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-sink-store-across-load.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
M llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
M llvm/test/Transforms/LoopVectorize/X86/pr131359-dead-for-splice.ll
M llvm/test/Transforms/LoopVectorize/X86/pr141968-instsimplifyfolder.ll
M llvm/test/Transforms/LoopVectorize/X86/pr34438.ll
M llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
M llvm/test/Transforms/LoopVectorize/X86/pr51366-sunk-instruction-used-outside-of-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
M llvm/test/Transforms/LoopVectorize/X86/replicate-recipe-with-only-first-lane-used.ll
M llvm/test/Transforms/LoopVectorize/X86/replicate-uniform-call.ll
M llvm/test/Transforms/LoopVectorize/X86/scev-checks-unprofitable.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_load.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
M llvm/test/Transforms/LoopVectorize/X86/vplan-native-inner-loop-only.ll
M llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/assume.ll
M llvm/test/Transforms/LoopVectorize/blend-in-header.ll
M llvm/test/Transforms/LoopVectorize/bsd_regex.ll
M llvm/test/Transforms/LoopVectorize/check-prof-info.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/constantfolder-infer-correct-gepty.ll
M llvm/test/Transforms/LoopVectorize/constantfolder.ll
M llvm/test/Transforms/LoopVectorize/create-induction-resume.ll
M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/debugloc-optimize-vfuf-term.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size-needs-loop-guards.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-const-TC.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/expand-scev-after-invoke.ll
M llvm/test/Transforms/LoopVectorize/extract-from-end-vector-constant.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-with-uniform-ops.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/flags.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/induction-multiple-uses-in-same-instruction.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/instruction-only-used-outside-of-loop.ll
M llvm/test/Transforms/LoopVectorize/interleave-with-i65-induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-different-insert-position.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-gep-nowrap-flags.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-metadata.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-requiring-scev-predicates.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/invalidate-scev-at-scope-after-vectorization.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/lcssa-crashes.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-neg-off.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-poison-ub-ops-feeding-pointer.ll
M llvm/test/Transforms/LoopVectorize/load-of-struct-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/make-followup-loop-id.ll
M llvm/test/Transforms/LoopVectorize/memdep-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/metadata.ll
M llvm/test/Transforms/LoopVectorize/min-trip-count-known-via-scev.ll
M llvm/test/Transforms/LoopVectorize/minimumnum-maximumnum-reductions.ll
M llvm/test/Transforms/LoopVectorize/miniters.ll
M llvm/test/Transforms/LoopVectorize/multiple-address-spaces.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar.ll
M llvm/test/Transforms/LoopVectorize/nested-loops-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/noalias-scope-decl.ll
M llvm/test/Transforms/LoopVectorize/non-const-n.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
M llvm/test/Transforms/LoopVectorize/phi-cost.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction-index-width-smaller-than-iv-width.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction-unroll.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr154045-dont-fold-extractelement-livein.ll
M llvm/test/Transforms/LoopVectorize/pr36983-multiple-lcssa.ll
M llvm/test/Transforms/LoopVectorize/pr39417-optsize-scevchecks.ll
M llvm/test/Transforms/LoopVectorize/pr44488-predication.ll
M llvm/test/Transforms/LoopVectorize/pr45525.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
M llvm/test/Transforms/LoopVectorize/pr50686.ll
M llvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/pr66616.ll
M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-min-max.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/remarks-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-needed-but-empty.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-readonly.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/select-neg-cond.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-cond-poison.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-hint.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_with_outer_loop.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/strided-accesses-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/struct-return-replicate.ll
M llvm/test/Transforms/LoopVectorize/struct-return.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll
M llvm/test/Transforms/LoopVectorize/trunc-loads-p16.ll
M llvm/test/Transforms/LoopVectorize/trunc-reductions.ll
M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll
M llvm/test/Transforms/LoopVectorize/uitofp-preserve-nneg.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_and.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_div_urem.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_lshr.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
M llvm/test/Transforms/LoopVectorize/unroll_nonlatch.ll
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-branch-weights.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-outside-iv-users.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-widen-call-instruction.ll
M llvm/test/Transforms/LoopVectorize/vplan-widen-select-instruction.ll
M llvm/test/Transforms/LoopVectorize/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/LoopVectorize/widen-intrinsic.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reduction-known-first-value.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
Log Message:
-----------
[VPlan] Simplify Plan's entry in removeBranchOnConst. (#154510)
After https://github.com/llvm/llvm-project/pull/153643, there may be a
BranchOnCond with constant condition in the entry block.
Simplify those in removeBranchOnConst. This removes a number of
redundant conditional branch from entry blocks.
In some cases, it may also make the original scalar loop unreachable,
because we know it will never execute. In that case, we need to remove
the loop from LoopInfo, because all unreachable blocks may dominate each
other, making LoopInfo invalid. In those cases, we can also completely
remove the loop, for which I'll share a follow-up patch.
Depends on https://github.com/llvm/llvm-project/pull/153643.
PR: https://github.com/llvm/llvm-project/pull/154510
Commit: 36692aa7a40183c1b43358288c83f5cc08abf8f1
https://github.com/llvm/llvm-project/commit/36692aa7a40183c1b43358288c83f5cc08abf8f1
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
Log Message:
-----------
[CIR] Implement Logical OR for VectorType (#158668)
This change adds support for local OR op for VectorType
Issue #136487
Commit: d2ba0da7959d545aefd321466c738345c633c09f
https://github.com/llvm/llvm-project/commit/d2ba0da7959d545aefd321466c738345c633c09f
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/lib/Tools/PDLL/ODS/Context.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for misc-use-internal-linkage in Context.cpp (NFC)
Commit: f1ba44f50a07fbc559e3c40308623dd6b6ab2c47
https://github.com/llvm/llvm-project/commit/f1ba44f50a07fbc559e3c40308623dd6b6ab2c47
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
Log Message:
-----------
[VPlan] Strip dead code in cst live-in match (NFC) (#159589)
A live-in constant can never be of vector type.
Commit: e19fa930ca838715028c00c234874d1db4f93154
https://github.com/llvm/llvm-project/commit/e19fa930ca838715028c00c234874d1db4f93154
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/lib/Dialect/Quant/IR/TypeParser.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-else-after-return in TypeParser.cpp (NFC)
Commit: 70a7ffdc290ab466c2394d22f38c0368ce5266d1
https://github.com/llvm/llvm-project/commit/70a7ffdc290ab466c2394d22f38c0368ce5266d1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
Log Message:
-----------
[LV] Add missing test cover for replicating load/store costs.
Commit: 53a18ebdcff6ac7584fe5cb27aa651746f39b3d2
https://github.com/llvm/llvm-project/commit/53a18ebdcff6ac7584fe5cb27aa651746f39b3d2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-qualified-auto in VectorUtils.cpp (NFC)
Commit: 3ad40d1535809f354b39e410231da4eea0a6eea4
https://github.com/llvm/llvm-project/commit/3ad40d1535809f354b39e410231da4eea0a6eea4
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Use getNegative instead of manually sub with 0 (NFC) (#158511)
Commit: 3e0c58be49c81931daf285c0973db5fb763e51e4
https://github.com/llvm/llvm-project/commit/3e0c58be49c81931daf285c0973db5fb763e51e4
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/IR/Metadata.cpp
Log Message:
-----------
Revert "[IR] Simplify HasCachedHash with is_detected (NFC) (#159510)" (#159622)
This reverts commit d6b7ac830ab4c1b26a1b2eecd15306eccf9cea90. Build
breakages reported on the PR hint at not working with certain versions
of the host compiler.
Commit: 8c41859a21a4d0cfda164cc58f4a5336dbcd30d1
https://github.com/llvm/llvm-project/commit/8c41859a21a4d0cfda164cc58f4a5336dbcd30d1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/non-sched-inst-has-copyable-before.ll
Log Message:
-----------
[SLP]Clear the operands deps of non-schedulable nodes, if previously all operands were copyable
If all operands of the non-schedulable nodes were previously only
copyables, need to clear the dependencies of the original schedule data
for such copyable operands and recalculate them to correctly handle
number of dependecies.
Fixes #159406
Commit: 9628061e055c9f695ff80f9a74e4f6e524b34993
https://github.com/llvm/llvm-project/commit/9628061e055c9f695ff80f9a74e4f6e524b34993
Author: Muzammil <55665739+Muzammiluddin-Syed-ECE at users.noreply.github.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/AMDGPU/IR/CMakeLists.txt
M mlir/test/Dialect/AMDGPU/canonicalize.mlir
Log Message:
-----------
[mlir][AMDGPU] Add canonicalization pattern to pack scales for ScaledMFMAOp (#155951)
The ScaledMFMAOp accepts scales as a vector of 4 bytes
(`vector<4xf8E8M0FNU>`) that can be stored in a single register with a
particular scale accessed using the `OpSel` attribute. Currently, we
only use one byte in this 4-byte vector, resulting in 3 wasted
registers.
This is fixed by identifying when single byte extractions are performed
and rewriting them into extractions of 4-byte vectors.
Example:
```
%unit = vector.extract %ScaleSrc[offsets] : f8E8M0FNU from vector<?x?x?xf8E8M0FNU>
%scale = vector.insert %unit, ... : f8E8M0FNU into vector<4xf8E8M0FNU>
amdgpu.scaled_mfma(%scale[0] * ...
```
to
```
%reshaped = vector.shape_cast %ScaleSrc : vector<?x?x?xf8E8M0FNU> to vector<?x4xf8E8M0FNU>
%scale = vector.extract %reshaped[?] : vector<4xf8E8M0FNU> from vector<?x4xf8E8M0FNU>
amdgpu.scaled_mfma(%scale[0-3] * ...
```
---------
Signed-off-by: Muzammiluddin Syed <muzasyed at amd.com>
Commit: de9a50a8a4151e194559b38a7bd56a9aa5bd2539
https://github.com/llvm/llvm-project/commit/de9a50a8a4151e194559b38a7bd56a9aa5bd2539
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Port #155951: amdgpu dialect deps (#159633)
Commit: e8311f8ebc18066e774832b9c594697f28b6ca60
https://github.com/llvm/llvm-project/commit/e8311f8ebc18066e774832b9c594697f28b6ca60
Author: Qiu Chaofan <qcf at ecnelises.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
A llvm/test/DebugInfo/X86/split-dwarf-inline.ll
Log Message:
-----------
[DebugInfo] Emit skeleton to avoid mismatching inlining flags (#153568)
This actually reverts 418120556398c01550d42500d56e6d328290185b.
The original commit omits unit with all symbols inlined into current
one, which leads to crash when a module using split-dwarf inlined a
function from another module with mismatched split-dwarf-inlining
option. This revert guarantees that DIEs are created in both DWO and the
skeleton sections whenever split-dwarf is active.
Commit: 3fe85ca4e024df9330f263a99a2552952a5520bc
https://github.com/llvm/llvm-project/commit/3fe85ca4e024df9330f263a99a2552952a5520bc
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaTemplate/temp_arg_template.cpp
Log Message:
-----------
[clang] check constant template parameters in dependent contexts (#159463)
This patch makes sure constant template parameters are checked even in
dependent contexts.
This can for example diagnose narrowings earlier, but this is permitted
as these templates would have no valid instantiations.
Commit: a3f901f70a028bf369586b6ab561371a63922ce0
https://github.com/llvm/llvm-project/commit/a3f901f70a028bf369586b6ab561371a63922ce0
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
A llvm/test/tools/llvm-mca/RISCV/SiFive7/scalar-load-store.s
Log Message:
-----------
[RISCV] Update floating point load latency in SiFive7 scheduling model (#159462)
The latency of floating point loads in SiFive7 should be the same as
their integer counterparts.
Co-authored-by: Michael Maitland <michaeltmaitland at gmail.com>
Commit: 1cee4fa968f985489a50b88b66bd392c35f0870e
https://github.com/llvm/llvm-project/commit/1cee4fa968f985489a50b88b66bd392c35f0870e
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/different-sew-instruments.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/fractional-lmul-data.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/multiple-same-sew-instruments.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/needs-sew-but-only-lmul.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-at-start.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-middle.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-region.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-straddles-region.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vector-integer-arithmetic.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetivli-lmul-sew-instrument.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetvli-lmul-sew-instrument.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX390/fractional-lmul-data.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX390/vector-integer-arithmetic.s
Log Message:
-----------
[RISCV] Update the vector integer division cycle in SiFive7 scheduling model (#159468)
Vector integer division in SiFive7 processes a single bit at a time up
to 4 elements. This patch updates to reflect this behavior.
Co-authored-by: Michael Maitland <michaeltmaitland at gmail.com>
Commit: 1c95d80ba68efd2ca9a0336529ea5fb7dc871417
https://github.com/llvm/llvm-project/commit/1c95d80ba68efd2ca9a0336529ea5fb7dc871417
Author: barsolo2000 <barsolo at meta.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M lldb/include/lldb/Core/Opcode.h
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.h
M lldb/unittests/Instruction/CMakeLists.txt
A lldb/unittests/Instruction/RISCV/TestRiscvInstEmulation.cpp
Log Message:
-----------
RISCV enable assembly unwinding (#158161)
**Added emulator unwinding support for RISCV files.**
Emulated Instructions:
ADD (addi sp, sp, imm)
STORE (sd ra, offset(sp))
LOAD (ld ra, offset(sp)).
We had to overwrite SetInstructions() since UnwindAssemblyInstEmulation
calls EvaluateInstruction() directly after calling SetInstruction(), but
it never calls ReadInstruction(). This means that the m_decoded member
variable in the instruction emulator is never properly initialized. By
overriding SetInstruction(), we decode the instruction bytes and set
m_decoded directly. This ensures that subsequent emulation (including
unwinding) operates on the correct instruction.
We also had to change the the OpCode GetOpcodeBytes function since
recent changes made it so GetOpcodeBytes will return None for type
eType16_32Tuples (an alternative and longer way, would've been to type
check during the overwritten SetInstruction() and call a DataExtractor
with .GetU16(&offset) to set the inst_data.
Added a test - TestSimpleRiscvFunction (took inspiration from:
[link](https://github.com/llvm/llvm-project/blob/main/lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp))
[----------] 1 test from TestRiscvInstEmulation
[ RUN ] TestRiscvInstEmulation.TestSimpleRiscvFunction
[ OK ] TestRiscvInstEmulation.TestSimpleRiscvFunction (1 ms)
[----------] 1 test from TestRiscvInstEmulation (1 ms total)
[----------] Global test environment tear-down
[==========] 63 tests from 5 test suites ran. (11 ms total)
[ PASSED ] 63 tests.
---------
Co-authored-by: Bar Soloveychik <barsolo at fb.com>
Commit: e3c7b7f806559a361d2cf8374d65230c75bb5829
https://github.com/llvm/llvm-project/commit/e3c7b7f806559a361d2cf8374d65230c75bb5829
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/dpp64_combine.mir
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp.gfx1251.ll
A llvm/test/MC/AMDGPU/gfx1251_asm_vop1_dpp16.s
A llvm/test/MC/AMDGPU/gfx1251_asm_vop1_err.s
A llvm/test/MC/AMDGPU/gfx1251_err.s
M llvm/test/MC/AMDGPU/gfx9-asm-err.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop1_dpp16.txt
Log Message:
-----------
[AMDGPU] gfx1251 VOP1 dpp support (#159637)
Commit: a6662866e88a887ab125c4d533659d27c4134108
https://github.com/llvm/llvm-project/commit/a6662866e88a887ab125c4d533659d27c4134108
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
Log Message:
-----------
[lldb][NFC] Simplify logic in ABIMacOSX_arm64::FixDataAddress (#159612)
I've intentionally split this into two commits to make it easier that
this is an NFC patch; don't think we need to preserve them separately
though upon merging.
Commit: 5a402aca3f1582f329f07be2a501c5139e14b5fb
https://github.com/llvm/llvm-project/commit/5a402aca3f1582f329f07be2a501c5139e14b5fb
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
[libc][bazel] Add Bazel rules for rand/srand functions. (#159617)
These functions are unlikely to be used in the overlay mode (since they are stateful), but it's worth verifying the correctness of underlying RNG (which may be reused in other places) in Bazel build regardless.
Commit: 714f032802fd1192b19188daba45de97b825c95d
https://github.com/llvm/llvm-project/commit/714f032802fd1192b19188daba45de97b825c95d
Author: Sterling-Augustine <saugustine at google.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/SFrame.h
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSFrame.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSFrame.cpp
A llvm/test/MC/ELF/cfi-sframe-encoding.s
A llvm/test/MC/ELF/cfi-sframe-fre-cases.s
M llvm/test/MC/ELF/cfi-sframe.s
Log Message:
-----------
[SFrames] reland Emit and relax FREs #158154 (#159643)
[Previously reverted due to msan failures on two uninitialized padding
bits.]
This PR emits and relaxes the FREs generated in the previous PR.
After this change llvm emits usable sframe sections that can be linked
with the gnu linker. There are a few remaining cfi directives to handle
before they are generally usable, however.
The output isn't identical with gnu-gas in every case (this code
produces fewer identical FREs in a row than gas), but I'm reasonably
sure that they are correct regardless. There are even more size
optimizations that can be done later.
Also, while working on the tests, I found a few bugs in older portions
and cleaned those up.
This is a fairly big commit, but I'm not sure how to make it smaller.
Commit: 54c55219ea3fbb44046d385acefcff0b73d3f8f4
https://github.com/llvm/llvm-project/commit/54c55219ea3fbb44046d385acefcff0b73d3f8f4
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
Log Message:
-----------
[mlir][spirv] Use `verifySymbolUses` for `spirv.FunctionCall`. (#159399)
`spirv.FunctionCall`'s verifier was being too aggressive. It included
verification of non-local properties by looking at the callee's
definition.
This caused problems in cases where callee had verification errors and
could lead to null pointer dereferencing.
According to [MLIR's developers guide
](https://mlir.llvm.org/getting_started/DeveloperGuide/#ir-verifier)
> TLDR: only verify local aspects of an operation,
> in particular don’t follow def-use chains
> (don’t look at the producer of any operand or the user
> of any results).
The fix includes adding the `SymbolUserOpInterface` to `FunctionCall`
and moving most of the verification logic to `verifySymbolUses`.
Fixes #159295
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 9f5b02311ae5c47146da642be7978839f087f49c
https://github.com/llvm/llvm-project/commit/9f5b02311ae5c47146da642be7978839f087f49c
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/CodeGenHLSL/static-local-ctor.hlsl
A clang/test/SemaHLSL/prohibit_resource_edits.hlsl
Log Message:
-----------
[HLSL] Make sure global resources and resource arrays cannot be assigned to (#157772)
Global resources are read-only. The compiler needs to report an error when somebody attempts to assign a value to a global resource, a global resource array element or the whole array.
Test update in `static-local-ctor.hlsl` includes the use of the llvm-cxxfilt tool which takes care of demangling of function names for a more readable test baseline.
Closes #154390
Commit: 082d1d911c1cd79849f74ac203fbcbfbb6737cef
https://github.com/llvm/llvm-project/commit/082d1d911c1cd79849f74ac203fbcbfbb6737cef
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M lldb/tools/lldb-dap/package-lock.json
Log Message:
-----------
[lldb-dap] Bump form-data from 4.0.1 to 4.0.4
Bumps form-data from 4.0.1 to 4.0.4 to resolve a critical security
vulnerability in form-data.
Commit: cfaf23927c6b083646a431eb8eea2d286694c0a0
https://github.com/llvm/llvm-project/commit/cfaf23927c6b083646a431eb8eea2d286694c0a0
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
R mlir/test/Interfaces/TilingInterface/tile-using-custom-op.mlir
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td
Log Message:
-----------
Revert "[mlir][SCF] Allow using a custom operation to generate loops with `mlir::tileUsingSCF`." (#159598)
Reverts llvm/llvm-project#159506
It was committed by accident. Reverting it for reviews.
Commit: 152a2162a1a9c93358bb69ab839931d95b9537ad
https://github.com/llvm/llvm-project/commit/152a2162a1a9c93358bb69ab839931d95b9537ad
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/driver/driver.cpp
M llvm/include/llvm/Support/CommandLine.h
M llvm/lib/Support/CommandLine.cpp
M llvm/tools/obj2yaml/obj2yaml.cpp
M llvm/tools/yaml2obj/yaml2obj.cpp
M llvm/unittests/Support/CommandLineTest.cpp
M llvm/utils/FileCheck/FileCheck.cpp
M llvm/utils/split-file/split-file.cpp
Log Message:
-----------
[llvm][clang] Pass VFS to `llvm::cl` command line handling (#159174)
This PR passes the VFS down to `llvm::cl` functions so that they don't
assume the real file system.
Commit: 91b05845bcb2befd1ed2407531d3a1adb3c6f828
https://github.com/llvm/llvm-project/commit/91b05845bcb2befd1ed2407531d3a1adb3c6f828
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
A libcxx/utils/benchmark-historical
M libcxx/utils/test-at-commit
Log Message:
-----------
[libc++] Add a tool to produce historical libc++ benchmark results
This is extremely useful for analysis purposes like finding regressions.
The ability to run such historical analysis locally is extremely useful
for doing quick investigations that may involve non-mainstream libc++
configurations.
Commit: 0c028bbf33d96045871f254fa1810f9767292506
https://github.com/llvm/llvm-project/commit/0c028bbf33d96045871f254fa1810f9767292506
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
Log Message:
-----------
[LV] Always add uniform pointers to uniforms list.
Always add pointers proved to be uniform via legal/SCEV to worklist.
This extends the existing logic to handle a few more pointers known to
be uniform.
Commit: cdd78989b83f22b33b4d8f0f12f4d8939c28004d
https://github.com/llvm/llvm-project/commit/cdd78989b83f22b33b4d8f0f12f4d8939c28004d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Pass SDValue by value. NFC
Commit: 04c4e9da133a5f206ded35c7eddd9e2ab34926c7
https://github.com/llvm/llvm-project/commit/04c4e9da133a5f206ded35c7eddd9e2ab34926c7
Author: Md Abdullah Shahneous Bari <98356296+mshahneo at users.noreply.github.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.td
M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
A mlir/lib/Dialect/XeGPU/Transforms/XeGPUVectorLinearize.cpp
A mlir/test/Dialect/XeGPU/xegpu-vector-linearize.mlir
Log Message:
-----------
[mlir][XeGPU][Transform] Add vectorlinearize transform pass. (#158084)
Use upstream patterns to create a vectorlinearize pass needed for
lowering to XeVM.
Linearizes n-D vectors to 1-D vectors.
This is needed because, `vector-to-llvm` does not linearize all the
vectors.
Commit: 324511b8dcc797a49e4b250ae8563d5c53fe734e
https://github.com/llvm/llvm-project/commit/324511b8dcc797a49e4b250ae8563d5c53fe734e
Author: DanilaZhebryakov <d.zhebryakov at yandex.ru>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/PowerPC/ppc-sfvarargs.c
Log Message:
-----------
[PowerPC] fix float ABI selection on ppcle (#154773)
soft float ABI selection was not taking effect on little-endian powerPC
with embedded vectors (e.g. e500v2) leading to errors.
(embedded vectors use "extended" GPRs to store floating-point values,
and this caused issues with variadic arguments assuming dedicated
floating-point registers with hard-float ABI)
Commit: 8cfbace7b2c60682ee37706943a8f72d8c450305
https://github.com/llvm/llvm-project/commit/8cfbace7b2c60682ee37706943a8f72d8c450305
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/CodeGen/AMDGPU/dpp_combine.ll
A llvm/test/MC/AMDGPU/gfx1251_asm_vop2_dpp16.s
A llvm/test/MC/AMDGPU/gfx1251_asm_vop2_err.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop2_dpp16.txt
Log Message:
-----------
[AMDGPU] gfx1251 VOP2 dpp support (#159641)
Commit: 1de6f6517b76fa7f7867032d4883a522b731a3b4
https://github.com/llvm/llvm-project/commit/1de6f6517b76fa7f7867032d4883a522b731a3b4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
Log Message:
-----------
[lldb] Fix build when LLDB_ENABLE_PYTHON is OFF (#159665)
Even if Python scripting is disabled, we still need a Python interpreter
to build, for example to generate SBLanguages.h or fix up the framework
headers.
Commit: 9d6062c490548a5e6fea103e010ab3c9bc73a86d
https://github.com/llvm/llvm-project/commit/9d6062c490548a5e6fea103e010ab3c9bc73a86d
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/test/ClangScanDeps/optimize-canonicalize-macros.m
Log Message:
-----------
[clang][Dependency Scanning] Canonicalize Defines of a Compiler Invocation As Early As Possible (#159620)
Before this patch, we only perform `-D` canonicalization on the deep
copy of the `CompilerInvocation` instance, since the canonicalization
should have no impact on scanning.
However, in the presence of CAS, the content of the `builtin` macros are
included in the context hash. This patch makes sure that we canonicalize
the scanning `CompilerInvocation`'s `-D`s.
Part of work for rdar://136303612.
---------
Co-authored-by: Jan Svoboda <jan at svoboda.ai>
Commit: 6ac0abf8c47247102fe00f6c59b85b2b1d6dca81
https://github.com/llvm/llvm-project/commit/6ac0abf8c47247102fe00f6c59b85b2b1d6dca81
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
A llvm/test/MC/AMDGPU/gfx1251_asm_vop3_dpp16.s
A llvm/test/MC/AMDGPU/gfx1251_asm_vop3_from_vop1_dpp16.s
A llvm/test/MC/AMDGPU/gfx1251_asm_vop3_from_vop1_err.s
A llvm/test/MC/AMDGPU/gfx1251_asm_vop3_from_vop2_dpp16.s
A llvm/test/MC/AMDGPU/gfx1251_asm_vop3_from_vop2_err.s
M llvm/test/MC/AMDGPU/vop3-gfx9.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop3_dpp16.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop3_from_vop1_dpp16.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop3_from_vop2_dpp16.txt
Log Message:
-----------
[AMDGPU] gfx1251 VOP3 dpp support (#159654)
Commit: bda1cab20941ed842429f19ed0e22861017d935b
https://github.com/llvm/llvm-project/commit/bda1cab20941ed842429f19ed0e22861017d935b
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/tracing.h
Log Message:
-----------
[scudo] Add missing tracing.h include to primary32 (#159668)
Commit: 725d9e80770e4a8e5888e38a380ff0f7033aa9e0
https://github.com/llvm/llvm-project/commit/725d9e80770e4a8e5888e38a380ff0f7033aa9e0
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Treat arguments of std::ranges::all_of as [[clang::noescape]] (#158419)
The checker already had std::ranges hard-coded to treat its arguments as
[[clang::oescape]] but the fact std::ranges::all_of is implemented as a
struct instead of a function confused the checker and resuled in a
superflous warning being emitted for std::ranges::all_of.
This PR adds the support for recognizing DeclRefExpr which appears as a
callee in VisitCallExpr and generalizes the check in
shouldTreatAllArgAsNoEscape to walk up the decl contexts to find the
target namespaces such as std::ranges:: or a namespace and a function
like WTF::switchOn.
Commit: 3f52e97df77a0c84ffe61f3148ef9b1a18a67f69
https://github.com/llvm/llvm-project/commit/3f52e97df77a0c84ffe61f3148ef9b1a18a67f69
Author: Bitshift <ipudney at umich.edu>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerTracePC.cpp
A compiler-rt/test/fuzzer/SimulateEmptyModuleTest.cpp
A compiler-rt/test/fuzzer/empty-module.test
Log Message:
-----------
Fix libFuzzer array alignment with empty modules (#159661)
The following assertion was being triggered:
```
assert.h assertion failed at llvm-project/compiler-rt/lib/fuzzer/FuzzerTracePC.cpp:237 in void fuzzer::TracePC::UpdateObservedPCs(): M.Size() == (size_t)(ModulePCTable[i].Stop - ModulePCTable[i].Start)
```
# The bug
When built with `-fsanitize=fuzzer`, each “module” (.so file, or the
binary itself) will be instrumented, and when loaded into the process
will make a call to these two functions:
- `__sanitizer_cov_8bit_counters_init`
- `__sanitizer_cov_pcs_init`
Each of these is called with start and end pointers defining an array.
In libFuzzer, these functions are implemented with
`HandleInline8bitCountersInit` and `HandlePCsInit`. Each of them pushes
back the provided pointers into a separate array, `Modules` and
`ModulePCTable` respectively. These arrays are meant to be kept in-sync;
index i into Modules should refer to the same `.so` as index i into
ModulePCTable. The assertion was triggering because these lists got
out-of-sync.
The problem is that the 8bit handler contains this line:
```
if (Start == Stop) return;
```
but the PC handler contains no such corresponding line. This meant that
if a module was ever instrumented but “empty” (its 8bit counter and PC
arrays were both of length 0), then its PC array would still be added
but its 8bit counter array would not.
# Why this issue was never seen before
The circumstances to trigger this issue are unusual:
- You need a compilation unit that doesn't contain any code (though it
may contain global variable declarations and similar). That doesn't
happen very often.
- That compilation unit must be dynamically linked, not statically
linked. If statically linked, it’ll be merged into a single “module”
with the main binary, and the arrays will be merged as well; you won’t
end up with length-0 arrays.
- To notice the issue, assertions must be enabled. If disabled,
libFuzzer will be buggy (it may have worse coverage), but it won't
crash, and "worse coverage" is extremely unlikely to be noticed.
# This change
This change solves the issue by adding the same `if (Start == Stop)
return;` check to `HandlePCsInit`. This prevents the arrays from getting
out-of-sync. This change also adds a test that identifies the previous
issue when compiled with assertions enabled, but now passes with the
fix.
Commit: 339450fa80bd59ad2d0410a0eb58b8b9981aac10
https://github.com/llvm/llvm-project/commit/339450fa80bd59ad2d0410a0eb58b8b9981aac10
Author: Jhalak Patel <jhalakpatel at outlook.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] Fix crash in vector.from_elements folding with poison values (#158528)
The vector.from_elements constant folding was crashing when poison
values were present in the element list. The convertIntegerAttr function
was not properly handling poison attributes, leading to assertion
failures in dyn_cast operations.
This patch refactors convertIntegerAttr to take IntegerAttr directly,
moving poison detection to the caller using explicit
isa<ub::PoisonAttrInterface> checks. The function signature change
provides compile-time type safety while the early poison validation in
foldFromElementsToConstant prevents unsafe casting operations. The
folding now gracefully aborts when poison attributes are encountered,
preventing the crash while preserving correct folding for legitimate
mixed-type constants (int/float).
Fixes assertion: "dyn_cast on a non-existent value" when processing
ub.poison values in vector.from_elements operations.
Commit: dda7ce6624e357076fefe55a756ba7181db92ba2
https://github.com/llvm/llvm-project/commit/dda7ce6624e357076fefe55a756ba7181db92ba2
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/CodeGen/RISCV/select-bare.ll
M llvm/test/CodeGen/RISCV/select-cc.ll
M llvm/test/CodeGen/RISCV/select-cond.ll
M llvm/test/CodeGen/RISCV/select-const.ll
M llvm/test/CodeGen/RISCV/select.ll
M llvm/test/CodeGen/RISCV/xqcicli.ll
M llvm/test/CodeGen/RISCV/xqcicm.ll
M llvm/test/CodeGen/RISCV/xqcics.ll
Log Message:
-----------
[RISCV] Move Xqci Select-likes to use riscv_selectcc (#153147)
The original patterns for the Xqci select-like instructions used
`select`, and marked that ISD node as legal. This is not the usual way
that `select` is dealt with in the RISC-V backend.
Usually on RISC-V, we expand `select` to `riscv_select_cc` which holds
references to the operands of the comparison and the possible values
depending on the comparison. In retrospect, this is a much better fit
for our instructions, as most of them correspond to specific condition
codes, rather than more generic `select` with a truthy/falsey value.
This PR moves the Xqci select-like patterns to use `riscv_select_cc`
nodes. This applies to the Xqcicm, Xqcics and Xqcicli instruction
patterns.
In order to match the existing codegen, minor additions had to be made
to `translateSetCCForBranch` to ensure that comparisons against specific
immediate values are left in a form that can be matched more closely by
the instructions. This prevents having to insert additional `li`
instructions and use the register forms.
There are a few slight regressions:
- There are sometimes more `mv` instructions than entirely necessary. I
believe these would not be seen with larger examples where the register
allocator has more leeway.
- In some tests where just one of the three extensions is enabled,
codegen falls back to using a branch over a move. With all three
extensions enabled (the configuration we most care about), these are not
seen.
- The generated patterns are very similar to each other - they have
similar complexity (7 or 8) and there are still overlaps. Sometimes the
choice between two instructions can be affected by the order of the
patterns in the tablegen file.
One other change is that Xqcicm instructions are prioritised over Xqcics
instructions where they have identical patterns. This is done because
one of the the Xqcicm instructions is compressible (`qc.mveqi`), while
none of the Xqcics instructions are.
Commit: 0c1ab02e46d38e8b67843eb3c88b1dc054d561f8
https://github.com/llvm/llvm-project/commit/0c1ab02e46d38e8b67843eb3c88b1dc054d561f8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv64zbs.ll
Log Message:
-----------
[RISCV] Use bseti 31 for (or X, -2147483648) when upper 32 bits aren't used. (#159678)
If the original type was i32, type legalization will sign extend
the constant. This prevents it from having a single bit set or clear
so other patterns can't match. If the upper bits aren't used, we
can ignore the sign extension.
Similar for bclri and binvi.
Commit: 33e8e5a84643f3e2aeb5d85e58000b2a1ba9d3df
https://github.com/llvm/llvm-project/commit/33e8e5a84643f3e2aeb5d85e58000b2a1ba9d3df
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/mfma-loop.ll
Log Message:
-----------
AMDGPU: Add more mfma loop test cases (#159492)
Test cases where the exit uses must be VGPRs,
and don't happen to be a store that could use AGPRs.
Commit: 116ca9522e89f1e4e02676b5bbe505e80c4d4933
https://github.com/llvm/llvm-project/commit/116ca9522e89f1e4e02676b5bbe505e80c4d4933
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-local-i16.ll
M llvm/test/CodeGen/AMDGPU/unspill-vgpr-after-rewrite-vgpr-mfma.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/Thumb2/mve-vst3.ll
M llvm/test/CodeGen/Thumb2/mve-vst4.ll
Log Message:
-----------
Greedy: Take copy hints involving subregisters (#159570)
Previously this would only accept full copy hints. This relaxes
this to accept some subregister copies. Specifically, this now
accepts:
- Copies to/from physical registers if there is a compatible
super register
- Subreg-to-subreg copies
This has the potential to repeatedly add the same hint to the
hint vector, but not sure if that's a real problem.
Commit: 01fca01d3bcbabdebee54bba40157e96152e3e6e
https://github.com/llvm/llvm-project/commit/01fca01d3bcbabdebee54bba40157e96152e3e6e
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/ComplexToSPIRV/ComplexToSPIRV.cpp
M mlir/lib/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRV.cpp
M mlir/lib/Conversion/FuncToSPIRV/FuncToSPIRV.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Conversion/GPUToSPIRV/WmmaOpsToSPIRV.cpp
M mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/lib/Conversion/UBToSPIRV/UBToSPIRV.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/lib/Dialect/SPIRV/Transforms/ConvertToReplicatedConstantCompositePass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/DecorateCompositeTypeLayoutPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.cpp
Log Message:
-----------
[mlir][spirv] Simplify inheriting constructor declarations. NFC. (#159681)
Use the `Base` type alias from https://github.com/llvm/llvm-project/pull/158433.
Commit: 54677d66c4af83351df63e513d7734e2c25160df
https://github.com/llvm/llvm-project/commit/54677d66c4af83351df63e513d7734e2c25160df
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/ConvertComplexPow.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
M flang/test/Lower/HLFIR/binary-ops.f90
M flang/test/Lower/Intrinsics/pow_complex16.f90
M flang/test/Lower/Intrinsics/pow_complex16i.f90
M flang/test/Lower/Intrinsics/pow_complex16k.f90
M flang/test/Lower/power-operator.f90
A flang/test/Transforms/convert-complex-pow.fir
M flang/tools/bbc/bbc.cpp
M mlir/lib/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.cpp
Log Message:
-----------
[Flang] Add new ConvertComplexPow pass for Flang (#158642)
This PR introduces a new `ConvertComplexPow` pass for Flang that handles
complex power operations. The change forces lowering to complex.pow
operations when `--math-runtime=precise` is not used, then uses the
`ConvertComplexPow` pass to convert these operations back to library
calls.
- Adds a new `ConvertComplexPow` pass that converts complex.pow ops to
appropriate runtime library calls
- Updates complex power lowering to use `complex.pow` operations by
default instead of direct library calls
#158722 Adds a new `complex.powi` op enabling algebraic optimisations.
Commit: daed12d00d4c24c8607e9c3d8ddbc7624471f049
https://github.com/llvm/llvm-project/commit/daed12d00d4c24c8607e9c3d8ddbc7624471f049
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
AMDGPU: Remove unnecessary AGPR legalize logic (#159491)
The manual legalizeOperands code only need to consider cases that
require full instruction context to know if the operand is legal.
This does not need to handle basic operand register class constraints.
Commit: f7629f5945f6720bac9cdfebcf9c05144afb9028
https://github.com/llvm/llvm-project/commit/f7629f5945f6720bac9cdfebcf9c05144afb9028
Author: Wenju He <wenju.he at intel.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
A llvm/test/Transforms/InferAddressSpaces/AMDGPU/phi-poison.ll
Log Message:
-----------
[InferAddressSpaces] Extend undef pointer operand support to phi inst (#159548)
Previously undef pointer operand is only supported for select inst,
where undef in generic AS behaves like `take the other side`.
This PR extends the support to other instructions, e.g. phi inst. Defer
joining and inferring constant pointer operand until all other operand
AS states considered.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: d41bc6834b8dea5228eb1763da5904e99e97d42f
https://github.com/llvm/llvm-project/commit/d41bc6834b8dea5228eb1763da5904e99e97d42f
Author: Elvin Wang <elvin.wang at intel.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/test/TableGen/intrinsic-attrs.td
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
Log Message:
-----------
[IntrinsicEmitter] Make AttributesMap PackedID type-adaptive (#158383)
Commit: 1ad5d63e5ec3dd2ac0217fd453db18a5a2fc2bf7
https://github.com/llvm/llvm-project/commit/1ad5d63e5ec3dd2ac0217fd453db18a5a2fc2bf7
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/nor.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/nor.ll
Log Message:
-----------
[LoongArch] Add generation support for `[x]vnori.b` (#158772)
Commit: fdb1f486387d46bd046d7827fcd19fa44118bffe
https://github.com/llvm/llvm-project/commit/fdb1f486387d46bd046d7827fcd19fa44118bffe
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Transforms/ConvertComplexPow.cpp
M flang/test/Lower/HLFIR/binary-ops.f90
M flang/test/Lower/Intrinsics/pow_complex16i.f90
M flang/test/Lower/Intrinsics/pow_complex16k.f90
M flang/test/Lower/amdgcn-complex.f90
M flang/test/Lower/power-operator.f90
M flang/test/Transforms/convert-complex-pow.fir
M mlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
M mlir/lib/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Dialect/Math/Transforms/AlgebraicSimplification.cpp
M mlir/lib/Dialect/Math/Transforms/CMakeLists.txt
M mlir/test/Conversion/ComplexToROCDLLibraryCalls/complex-to-rocdl-library-calls.mlir
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
A mlir/test/Dialect/Complex/powi-simplify.mlir
Log Message:
-----------
[MLIR] Add new complex.powi op (#158722)
This PR adds a new complex.powi operation to MLIR's complex dialect for
computing complex numbers raised to integer powers.
Key changes include:
- Addition of the new `PowiOp` operation definition in the Complex
dialect
- Integration with algebraic simplification passes for optimization
- Support for conversion to ROCDL library calls
- Updates to Flang frontend to generate the new operation
This depends on #158642.
Commit: b26b40b22320ab8b684bfe2575fdbda1c6f2e4ee
https://github.com/llvm/llvm-project/commit/b26b40b22320ab8b684bfe2575fdbda1c6f2e4ee
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Port #158084: xegpu vectorlinearize pass (#159690)
Commit: e5114a2016557fc0dd6014b838e91ca025e23b29
https://github.com/llvm/llvm-project/commit/e5114a2016557fc0dd6014b838e91ca025e23b29
Author: Twice <twice at apache.org>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/IRDL/IR/IRDLAttributes.td
M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
M mlir/include/mlir/Dialect/IRDL/IR/IRDLTypes.td
A mlir/lib/Bindings/Python/DialectIRDL.cpp
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/IRDLOps.td
A mlir/python/mlir/dialects/irdl.py
A mlir/test/python/dialects/irdl.py
Log Message:
-----------
[MLIR][Python] Add python bindings for IRDL dialect (#158488)
In this PR we add basic python bindings for IRDL dialect, so that python
users can create and load IRDL dialects in python. This allows users, to
some extent, to define dialects in Python without having to modify
MLIR’s CMake/TableGen/C++ code and rebuild, making prototyping more
convenient.
A basic example is shown below (and also in the added test case):
```python
# create a module with IRDL dialects
module = Module.create()
with InsertionPoint(module.body):
dialect = irdl.DialectOp("irdl_test")
with InsertionPoint(dialect.body):
op = irdl.OperationOp("test_op")
with InsertionPoint(op.body):
f32 = irdl.is_(TypeAttr.get(F32Type.get()))
irdl.operands_([f32], ["input"], [irdl.Variadicity.single])
# load the module
irdl.load_dialects(module)
# use the op defined in IRDL
m = Module.parse("""
module {
%a = arith.constant 1.0 : f32
"irdl_test.test_op"(%a) : (f32) -> ()
}
""")
```
Commit: 67f43c6ee2f0a5e8d252cce589ea7d157676e990
https://github.com/llvm/llvm-project/commit/67f43c6ee2f0a5e8d252cce589ea7d157676e990
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/test/mlir-tblgen/op-python-bindings.td
M mlir/test/python/dialects/python_test.py
M mlir/test/python/python_test_ops.td
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[MLIR][Python] add type hints for accessors (#158455)
This PR adds type hints for accessors in the generated builders.
Commit: da71e3c76db9a63eb66ac0415860f84f28cebb78
https://github.com/llvm/llvm-project/commit/da71e3c76db9a63eb66ac0415860f84f28cebb78
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Port #158722: complex.powi op (#159691)
Commit: a2efa7ab207d78bf753b4a9651070fee283d8217
https://github.com/llvm/llvm-project/commit/a2efa7ab207d78bf753b4a9651070fee283d8217
Author: Michael Park <mcypark at gmail.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/lib/AST/Decl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Modules/merge-anon-in-template-2.cpp
A clang/test/Modules/merge-anon-in-template-3.cpp
Log Message:
-----------
[C++20][Modules] Fix merging of anonymous members of class templates. (#155948)
Commit: dd92609fcc6f2af8adcbc3986d9b0676de36b2a9
https://github.com/llvm/llvm-project/commit/dd92609fcc6f2af8adcbc3986d9b0676de36b2a9
Author: Qihan Cai <caiqihan021 at hotmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/MC/RISCV/invalid-instruction-spellcheck.s
M llvm/test/MC/RISCV/rv32p-valid.s
Log Message:
-----------
[RISC-V] Add P-ext MC Support for Remaining Pair Operations (#159247)
This patch implements pages 21-24 from jhauser.us/RISCV/ext-P/RVP-instrEncodings-015.pdf
Documentation:
jhauser.us/RISCV/ext-P/RVP-baseInstrs-014.pdf
jhauser.us/RISCV/ext-P/RVP-instrEncodings-015.pdf
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: f8b7f64ad2d94bbda169023f933f18b31c9b4492
https://github.com/llvm/llvm-project/commit/f8b7f64ad2d94bbda169023f933f18b31c9b4492
Author: Hank Chang <hank.chang at sifive.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
A llvm/include/llvm/Analysis/InterestingMemoryOperand.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
A llvm/test/Instrumentation/AddressSanitizer/RISCV/asan-rvv-intrinsics.ll
Log Message:
-----------
[TTI][ASan][RISCV] Move InterestingMemoryOperand to Analysis and embed in MemIntrinsicInfo (#157863)
Previously asan considers target intrinsics as black boxes, so asan
could not instrument accurate check. This patch make
SmallVector<InterestingMemoryOperand> a member of MemIntrinsicInfo so
that TTI can make targets describe their intrinsic informations to asan.
Note,
1. This patch move InterestingMemoryOperand from Transforms to Analysis.
2. Extend MemIntrinsicInfo by adding a
SmallVector<InterestingMemoryOperand> member.
3. This patch does not support RVV indexed/segment load/store.
Commit: e7dcf7dc2e63e4ae5e6e03f417eed24516b71bfe
https://github.com/llvm/llvm-project/commit/e7dcf7dc2e63e4ae5e6e03f417eed24516b71bfe
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
Log Message:
-----------
TableGen: Remove dead def of implicit node (#159688)
Commit: e79f4511a22fadff502ad3a42812deca11feb407
https://github.com/llvm/llvm-project/commit/e79f4511a22fadff502ad3a42812deca11feb407
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
A llvm/test/TableGen/dag-pattern-crash-on-set.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
TableGen: Replace assertion with error for unexpected pattern inputs (#159687)
Commit: 48f804d609b38f22307f2e1c1345d1e4054cb2c6
https://github.com/llvm/llvm-project/commit/48f804d609b38f22307f2e1c1345d1e4054cb2c6
Author: Florian Mayer <fmayer at google.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
R llvm/include/llvm/Analysis/InterestingMemoryOperand.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
R llvm/test/Instrumentation/AddressSanitizer/RISCV/asan-rvv-intrinsics.ll
Log Message:
-----------
Revert "[TTI][ASan][RISCV] Move InterestingMemoryOperand to Analysis and embed in MemIntrinsicInfo" (#159700)
Reverts llvm/llvm-project#157863
Commit: 5a873d3c92946fd45ca432c0a19ab06584f6fad0
https://github.com/llvm/llvm-project/commit/5a873d3c92946fd45ca432c0a19ab06584f6fad0
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M libcxx/test/benchmarks/spec.gen.py
M libcxx/utils/benchmark-historical
Log Message:
-----------
[libc++] Improve error resilience when running historical benchmarks
In benchmark-historical, don't skip gathering the results when the
lit command has failed. Indeed, it is expected to fail as part of
normal operation since it should be pretty frequent for at least one
test to fail when running historical benchmarks. Instead, gather
whatever results we have.
Also, output the build log in spec.gen.py upon failure so we can see
the reason for the failure.
Commit: 7a77127c0f8c44c0eebf8559595fa757608fe5ec
https://github.com/llvm/llvm-project/commit/7a77127c0f8c44c0eebf8559595fa757608fe5ec
Author: Luke Lau <luke at igalia.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV] Ignore debug instructions in RISCVVLOptimizer (#159616)
Don't put them onto the worklist, since they'll crash when we try to
check their opcode.
Fixes #159422
Commit: 446a490f93de6c4b458fa5bdd959216b0be774f8
https://github.com/llvm/llvm-project/commit/446a490f93de6c4b458fa5bdd959216b0be774f8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use Subtarget member variable instead of getting it from MachineFunction. NFC (#159664)
Commit: 9d933c794af32362dbbbefe53825054b533d7b2c
https://github.com/llvm/llvm-project/commit/9d933c794af32362dbbbefe53825054b533d7b2c
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-09-18 (Thu, 18 Sep 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
M clang/test/Analysis/Checkers/WebKit/unretained-members-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
Log Message:
-----------
[WebKit checkers] Add the support for OSObjectPtr (#159484)
Add the support for OSObjectPtr, which behaves like RetainPtr.
Commit: 6d2366c5cc06cb7475538c8cd3d6f08e6d04dc27
https://github.com/llvm/llvm-project/commit/6d2366c5cc06cb7475538c8cd3d6f08e6d04dc27
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
Log Message:
-----------
[Clang][CIR] fix enumeration value 'OMPGroupPrivate' not handled in switch (#159694)
Commit: 680c657a4f91de215394daa08c7d1ee29a839833
https://github.com/llvm/llvm-project/commit/680c657a4f91de215394daa08c7d1ee29a839833
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/extractelement.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/extractelement.ll
Log Message:
-----------
[LoongArch] Simplily fix extractelement on LA32 (#159564)
Commit: dd669c32ec67c1a995134339657ace2a2047c605
https://github.com/llvm/llvm-project/commit/dd669c32ec67c1a995134339657ace2a2047c605
Author: Wenju He <wenju.he at intel.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/issue110433.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/phi-poison.ll
Log Message:
-----------
[InferAddressSpaces] Mark ConstantAggregateZero as safe to cast to a ConstantExpr addrspacecast (#159695)
This PR extends isSafeToCastConstAddrSpace to treat
ConstantAggregateZero like ConstantPointerNull.
Tests shows an extra addrspacecast instruction is removed and icmp
pointer vector operand's address space is now inferred.
This change is motivated by inspecting the test in commit f7629f5945f6.
Commit: 332eb5f693d2e28026aaa4f580cef607898ed756
https://github.com/llvm/llvm-project/commit/332eb5f693d2e28026aaa4f580cef607898ed756
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
A llvm/test/CodeGen/RISCV/GlobalISel/rvv/vadd.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rvv/vfadd.ll
Log Message:
-----------
[RISCV][GISel] Support select vx, vf form rvv intrinsics (#157398)
For vx form, we legalize it with widen scalar. And for vf form, we select the right register bank.
Commit: ebe7587256597af0a19707e65e801f9d53307e09
https://github.com/llvm/llvm-project/commit/ebe7587256597af0a19707e65e801f9d53307e09
Author: David Green <david.green at arm.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-i16-subreg-extract.ll
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
A llvm/test/CodeGen/AArch64/scalarize-vector-load.ll
Log Message:
-----------
[AArch64] Add some tests for bitcast vector loads and scalarizing loaded vectors. NFC
Commit: 3cc1b7c2e0dbd9b7c04110d7d8c799acb476c204
https://github.com/llvm/llvm-project/commit/3cc1b7c2e0dbd9b7c04110d7d8c799acb476c204
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep-inbounds.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/gep-chain.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Check if non-extracted indices may be negative when preserving inbounds (#159515)
If we know that the initial GEP was inbounds, and we change it to a sequence of
GEPs from the same base pointer where every offset is non-negative, then the
new GEPs are inbounds. So far, the implementation only checked if the extracted
offsets are non-negative. In cases where non-extracted offsets can be negative,
this would cause the inbounds flag to be wrongly preserved.
Fixes an issue in #130617 found by nikic.
Commit: ae1e909de9d7ecb57907849e4df03247b019c5fc
https://github.com/llvm/llvm-project/commit/ae1e909de9d7ecb57907849e4df03247b019c5fc
Author: Simon Wallis <simon.wallis2 at arm.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-misc-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s
M llvm/tools/llvm-mca/Views/InstructionInfoView.cpp
Log Message:
-----------
[llvm-mca] Round UP when formatting Reciprocal Throughput (#159544)
Explicitly round up the reciprocal calculation,
so that .125 is displayed as 0.13 consistently across all hosts.
Fix buildbot failure
https://lab.llvm.org/buildbot/#/builders/193/builds/10666
since https://github.com/llvm/llvm-project/pull/154495
Commit: b3e423df3785ed06e1cb3b70c5ac11b8abffec2f
https://github.com/llvm/llvm-project/commit/b3e423df3785ed06e1cb3b70c5ac11b8abffec2f
Author: h-vetinari <h.vetinari at gmx.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/www/c_status.html
M clang/www/cxx_status.html
Log Message:
-----------
[clang][docs] mark v21 as released (#158629)
Update for the status pages now that v21.1 is out.
Also specify WG14 N3006 "Underspecified object definitions" as available since Clang 19.
Commit: adfa6a4c149d83139627e96df1a04fb54478ff4f
https://github.com/llvm/llvm-project/commit/adfa6a4c149d83139627e96df1a04fb54478ff4f
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/ptradd-sdag-mubuf.ll
M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
Log Message:
-----------
[AMDGPU][SDAG] Test ISD::PTRADD handling in various special cases (#145329)
Pre-committing tests to show improvements in a follow-up PR.
Commit: e747223c03e16d02cd0dc6f8eedb5c825a7366c1
https://github.com/llvm/llvm-project/commit/e747223c03e16d02cd0dc6f8eedb5c825a7366c1
Author: Jim Lin <jim at andestech.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZvfofp8min.td
M llvm/lib/TargetParser/RISCVTargetParser.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/rvv/zvfbfmin.s
A llvm/test/MC/RISCV/rvv/zvfofp8min.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Implement MC support for Zvfofp8min extension (#157014)
This patch adds MC support for Zvfofp8min
https://github.com/aswaterman/riscv-misc/blob/main/isa/zvfofp8min.adoc.
Commit: a2dcc88f39a86aff728929577135cd161ac91a7a
https://github.com/llvm/llvm-project/commit/a2dcc88f39a86aff728929577135cd161ac91a7a
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/ptradd-sdag-mubuf.ll
M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
Log Message:
-----------
[AMDGPU][SDAG] Handle ISD::PTRADD in various special cases (#145330)
There are more places in SIISelLowering.cpp and AMDGPUISelDAGToDAG.cpp
that check for ISD::ADD in a pointer context, but as far as I can tell
those are only relevant for 32-bit pointer arithmetic (like frame
indices/scratch addresses and LDS), for which we don't enable PTRADD
generation yet.
For SWDEV-516125.
Commit: 143551a42c694b0f9c0976ecfa7cb20c28274cb6
https://github.com/llvm/llvm-project/commit/143551a42c694b0f9c0976ecfa7cb20c28274cb6
Author: flovent <flbven at protonmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-scoped-lock.rst
Log Message:
-----------
[clang-tidy][NFC] Fix error in example code for `modernize-use-scoped-lock`'s doc (#159722)
Commit: f96a759ff58afc038e181affee6f8620b71d444b
https://github.com/llvm/llvm-project/commit/f96a759ff58afc038e181affee6f8620b71d444b
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Clang][NFC] Remove duplicated specialization of `llvm::DenseMapInfo<llvm::FoldingSetNodeID>` (#159718)
In preparation of #141776
Commit: 67354837d0ecab43e3e2f99fde234660d1686ce9
https://github.com/llvm/llvm-project/commit/67354837d0ecab43e3e2f99fde234660d1686ce9
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[mlir:python] Port Python bindings of IRDL to bazel build. (#159721)
This PR sets up build rules for the Python bindings of the IRDL dialect
introduced by #158488. The absence of them does not break the bazel
build but some downstream users rely on them.
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: 771c94c8db14b990a38c95977f708e9480020244
https://github.com/llvm/llvm-project/commit/771c94c8db14b990a38c95977f708e9480020244
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
Log Message:
-----------
[SDAG][AMDGPU] Allow opting in to OOB-generating PTRADD transforms (#146074)
This PR adds a TargetLowering hook, canTransformPtrArithOutOfBounds,
that targets can use to allow transformations to introduce out-of-bounds
pointer arithmetic. It also moves two such transformations from the
AMDGPU-specific DAG combines to the generic DAGCombiner.
This is motivated by target features like AArch64's checked pointer
arithmetic, CPA, which does not tolerate the introduction of
out-of-bounds pointer arithmetic.
Commit: c4617bcae1308cf256bbd3738065eba2a4be8eb2
https://github.com/llvm/llvm-project/commit/c4617bcae1308cf256bbd3738065eba2a4be8eb2
Author: Dmitry Chigarev <dmitry.chigarev at intel.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
A mlir/test/Conversion/VectorToXeGPU/gather-to-xegpu.mlir
A mlir/test/Conversion/VectorToXeGPU/scatter-to-xegpu.mlir
Log Message:
-----------
[MLIR][XeGPU][VectorToXeGPU] Add lowering from vector.gather/scatter to xegpu.load/store (#158024)
Lowering for `vector.gather`/`vector.scatter` into `xegpu.load`/`xegpu.store`.
High level steps to lower vector.gather/scatter:
```
%0 = vector.gather %source[%off1, %off2, %off3][%indices], %mask,
%pass_thru : memref<8x16x32xf32>, vector<8xindex>, vector<8xi1>, vector<8xf32> into vector<8xf32>
```
1. Compute strides and a memref offset for the `%source` memref using
`computeMemrefMeta` func from the transfer_read/write lowering
2. Compute a linear offset like `%lin_off = %base_offset + %off1 *
strides#0 + %off2 * strides#1 + %off3 * strides#2`
3. Combine the linear offset with `%indices`: `%off = (broadcast
%lin_off : index to vector<8xindex>) + %indices * strides#2`
4. Convert memref to an i64: `%flat_memref =
memref.extract_aligned_pointer_as_index %source + arith.index_cast`
5. Perform load/store: `%vec = xegpu.load %flat_memref[%off], %mask`
6. Apply selection to propagate values from the pass_thru vector: `%res
= arith.select %mask, %vec, %pass_thru`
Commit: b59d410202d1afb63591e8f78d0fe8b24fb236eb
https://github.com/llvm/llvm-project/commit/b59d410202d1afb63591e8f78d0fe8b24fb236eb
Author: UmeshKalappa <103930015+ukalappa-mips at users.noreply.github.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsRISCV.td
A clang/include/clang/Basic/BuiltinsRISCVXMIPS.td
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/riscv_mips.h
A clang/test/CodeGen/RISCV/builtins-riscv-mips.c
M llvm/include/llvm/IR/IntrinsicsRISCV.td
A llvm/include/llvm/IR/IntrinsicsRISCVXMIPS.td
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXMips.td
A llvm/test/CodeGen/RISCV/xmips-exectl.ll
Log Message:
-----------
RISC-V: builtins support for MIPS RV64 P8700 execution control .
the following changes are made
a)Typo Fix (with previous PRhttps://github.com/llvm/llvm-project/pull/155747)
b)builtins support for MIPS P8700 execution control instructions .
c)Testcase
Commit: 91dba2201ec63907105ffddbea1de82f649d35d8
https://github.com/llvm/llvm-project/commit/91dba2201ec63907105ffddbea1de82f649d35d8
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
Log Message:
-----------
Fix NDEBUG Wundef warning; NFC (#159539)
The `NDEBUG` macro is tested for defined-ness everywhere else. The
instance here triggers a warning when compiling with `-Wundef`.
Commit: d5607694e1270a4fc4e3c6f8c9de5d1c4f9c34ff
https://github.com/llvm/llvm-project/commit/d5607694e1270a4fc4e3c6f8c9de5d1c4f9c34ff
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
Log Message:
-----------
[AMDGPU][SDAG] DAGCombine PTRADD -> disjoint OR (#146075)
If we can't fold a PTRADD's offset into its users, lowering them to
disjoint ORs is preferable: Often, a 32-bit OR instruction suffices
where we'd otherwise use a pair of 32-bit additions with carry.
This needs to be a DAGCombine (and not a selection rule) because its
main purpose is to enable subsequent DAGCombines for bitwise operations.
We don't want to just turn PTRADDs into disjoint ORs whenever that's
sound because this transform loses the information that the operation
implements pointer arithmetic, which AMDGPU for instance needs when
folding constant offsets.
For SWDEV-516125.
Commit: 9062f5e2c1d9b7cfcbb85acbe6cfef5673c6a876
https://github.com/llvm/llvm-project/commit/9062f5e2c1d9b7cfcbb85acbe6cfef5673c6a876
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port b59d410202d1
Commit: 58a5121ab1740e2e71d6c960c0a32a32e951ce9c
https://github.com/llvm/llvm-project/commit/58a5121ab1740e2e71d6c960c0a32a32e951ce9c
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Port b59d410202d1afb63591e8f78d0fe8b24fb236eb
Commit: f9c996856e84f64dd3c306916f238b713a4d777d
https://github.com/llvm/llvm-project/commit/f9c996856e84f64dd3c306916f238b713a4d777d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/benchmarks/CMakeLists.txt
Log Message:
-----------
cmake: Avoid using if(TARGET x AND TARGET y) (#159707)
This appears to not work, and the documentation only has
examples with a single target checked at a time.
Commit: 4d197c89b53febbd4722f9923e511b7215825860
https://github.com/llvm/llvm-project/commit/4d197c89b53febbd4722f9923e511b7215825860
Author: Javier Lopez-Gomez <javier.lopez.gomez at proton.me>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSort.h
M llvm/lib/DebugInfo/LogicalView/Core/LVSort.cpp
M llvm/test/tools/llvm-debuginfo-analyzer/COFF/01-coff-print-basic-details.test
M llvm/test/tools/llvm-debuginfo-analyzer/DWARF/01-dwarf-print-basic-details.test
M llvm/test/tools/llvm-debuginfo-analyzer/cmdline.test
M llvm/tools/llvm-debuginfo-analyzer/Options.cpp
Log Message:
-----------
[llvm-debuginfo-analyzer] Add `--output-sort=(none|id)` option (#145761)
- The output for `--output-sort=id` matches `--output-sort=offset` for
the available readers. Tests were updated accordingly.
- For `--output-sort=none`, and per `LVReader::sortScopes()`,
`LVScope::sort()` is called on the root scope.
`LVScope::sort()` has no effect if `getSortFunction() == nullptr`, and
thus the elements are currently traversed in the order in which they
were initially added. This should change, however, after
`LVScope::Children` is removed.
Commit: 03e16c8e42a03574062df1c5f2c9c5f2122042d5
https://github.com/llvm/llvm-project/commit/03e16c8e42a03574062df1c5f2c9c5f2122042d5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
Log Message:
-----------
[clang][bytecode] Move generic lambda handling to Compiler (#159733)
So the static invoker's Function still points to the static invoker
instead of the call operator of the lambda record. This is important for
a later commit.
Commit: 4e1c996674cc340f290b0a528e2038e76494d8d4
https://github.com/llvm/llvm-project/commit/4e1c996674cc340f290b0a528e2038e76494d8d4
Author: Raul Tambre <raul at tambre.ee>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/test/Other/codegen-plugin-loading.ll
M llvm/unittests/CodeGen/CGPluginTest/CMakeLists.txt
M llvm/unittests/CodeGen/CGPluginTest/Plugin/CMakeLists.txt
M llvm/unittests/CodeGen/CGPluginTest/PluginTest.cpp
Log Message:
-----------
[llvm][test][CGPluginTest] Keep plugin in shared library directory
Scoping to the root build directory instead of using the path directly is awkward and the only such
occurrence in the test suite. It's also prone to breakage for downstreams that change the library
path.
But it's not even necessary: during build we have the appropriate RPATHs set so we can just depend
on the dynamic loader to find it. This extra logic is probably just copy-paste from PluginsTest.cpp.
Additionally:
* Removed TargetParser as a dependency because it doesn't seem to actually be used.
* Moved `add_dependencies()` to `DEPENDS` to better match the rest of LLVM.
Commit: a05e8d506bb8f986f810d9872715919ddb773bc7
https://github.com/llvm/llvm-project/commit/a05e8d506bb8f986f810d9872715919ddb773bc7
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/select-smin-smax.ll
Log Message:
-----------
[X86] Allow all legal integers to optimize smin with 0 (#151893)
It makes no sense why smin has to be limited to 32 and 64 bits.
hasAndNot only exists for 32 and 64 bits, so this does not affect smax.
Commit: b6231f5197820026adc452707e920847364f2e6f
https://github.com/llvm/llvm-project/commit/b6231f5197820026adc452707e920847364f2e6f
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll
Log Message:
-----------
[DA] Add overflow check in ExactSIV (#157086)
This patch adds an overflow check to the `exactSIVtest` function to fix
the issue demonstrated in the test case added in #157085. This patch
only fixes one of the routines. To fully resolve the test case, the
other functions need to be addressed as well.
Commit: 6b54c92be02079eff4f4edfbe667e60c3a1949df
https://github.com/llvm/llvm-project/commit/6b54c92be02079eff4f4edfbe667e60c3a1949df
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/MC/MCInstrDesc.h
M llvm/include/llvm/MC/MCInstrInfo.h
M llvm/include/llvm/MC/MCSubtargetInfo.h
M llvm/include/llvm/Target/Target.td
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
A llvm/test/TableGen/RegClassByHwMode.td
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.cpp
M llvm/utils/TableGen/Common/CodeGenTarget.h
M llvm/utils/TableGen/Common/InfoByHwMode.cpp
M llvm/utils/TableGen/Common/InfoByHwMode.h
M llvm/utils/TableGen/Common/InstructionEncoding.cpp
M llvm/utils/TableGen/Common/InstructionEncoding.h
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
CodeGen: Add RegisterClass by HwMode (#158269)
This is a generalization of the LookupPtrRegClass mechanism.
AMDGPU has several use cases for swapping the register class of
instruction operands based on the subtarget, but none of them
really fit into the box of being pointer-like.
The current system requires manual management of an arbitrary integer
ID. For the AMDGPU use case, this would end up being around 40 new
entries to manage.
This just introduces the base infrastructure. I have ports of all
the target specific usage of PointerLikeRegClass ready.
Commit: 61166a9345e58ded6e1b7adb0e3a473ae7496cac
https://github.com/llvm/llvm-project/commit/61166a9345e58ded6e1b7adb0e3a473ae7496cac
Author: Raul Tambre <raul at tambre.ee>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/unittests/CodeGen/CGPluginTest/CMakeLists.txt
Log Message:
-----------
[llvm][test][CGPluginTest] Add back missing TargetParser dependency (#159760)
Din't seem to be used, but is.
[737/738] Linking CXX executable unittests/CodeGen/CGPluginTest/CGPluginTest
FAILED: unittests/CodeGen/CGPluginTest/CGPluginTest
: && /usr/bin/c++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,--export-dynamic -Wl,--gc-sections unittests/CodeGen/CGPluginTest/CMakeFiles/CGPluginTest.dir/PluginTest.cpp.o unittests/CodeGen/CGPluginTest/CMakeFiles/CGPluginTest.dir/Plugin/CodeGenTestPass.cpp.o -o unittests/CodeGen/CGPluginTest/CGPluginTest -Wl,-rpath,/home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/lib lib/libLLVMX86CodeGen.so.22.0git lib/libLLVMX86AsmParser.so.22.0git lib/libLLVMX86De
sc.so.22.0git lib/libLLVMX86Disassembler.so.22.0git lib/libLLVMX86Info.so.22.0git lib/libLLVMAMDGPUCodeGen.so.22.0git lib/libLLVMAMDGPUAsmParser.so.22.0git lib/libLLVMAMDGPUDisassembler.so.22.0git lib/libllvm_gtest_main.so.22.0git lib/libLLVMTestingSupport.so.22.0git lib/libLLVMCodeGen.so.22.0git lib/libLLVMTarget.so.22.0git lib/libLLVMAMDGPUDesc.so.22.0git lib/libLLVMAMDGPUInfo.so.22.0git lib/libLLVMAMDGPUUtils.so.22.0git lib/libLLVMCore.so.22.0git lib/libLLVMMC.so.22.0git lib/libllvm_gtest.so.22.0git lib/libLLVMSupport.so.22.0git -Wl,-rpath-link,/home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.build/lib && :
/usr/bin/ld: unittests/CodeGen/CGPluginTest/CMakeFiles/CGPluginTest.dir/PluginTest.cpp.o: undefined reference to symbol '_ZN4llvm6TripleC1ERKNS_5TwineES3_S3_'
Fixes: 4e1c996674cc340f290b0a528e2038e76494d8d4
Commit: a254f6524aa511eb0ead54f825262e75d467b82e
https://github.com/llvm/llvm-project/commit/a254f6524aa511eb0ead54f825262e75d467b82e
Author: Claudio Saavedra <csaavedra at igalia.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
Log Message:
-----------
[WebKit checkers] fix a typo in a message in one of the checkers (#159593)
Commit: fba55c89c32fd45cc279a903b5a749c5951f4593
https://github.com/llvm/llvm-project/commit/fba55c89c32fd45cc279a903b5a749c5951f4593
Author: Hongyu Chen <xxs_chy at outlook.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-vpmadd52.ll
Log Message:
-----------
[X86] Fold X * 1 + Z --> X + Z for VPMADD52L (#158516)
This patch implements the fold `lo(X * 1) + Z --> lo(X) + Z --> X iff X
== lo(X)`.
Commit: 3c862b4ba39aa53a2dfcffb2fe7862e02f7bd746
https://github.com/llvm/llvm-project/commit/3c862b4ba39aa53a2dfcffb2fe7862e02f7bd746
Author: Matthias Springer <me at m-sp.org>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir] Expose optional `PatternBenefit` to function / SCF populate functions (NFC) (#159752)
Pattern benefit allows users to give priority to a pattern.
Commit: 7b8fd8f31bc6d65a59b6e09ebbeb77fdfb95360f
https://github.com/llvm/llvm-project/commit/7b8fd8f31bc6d65a59b6e09ebbeb77fdfb95360f
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
Log Message:
-----------
[LLVM][SCEV] Look through common vscale multiplicand when simplifying compares. (#141798)
My usecase is simplifying the control flow generated by LoopVectorize
when vectorising loops whose tripcount is a function of the runtime
vector length. This can be problematic because:
* CSE is a pre-LoopVectorize transform and so it's common for an IR
function to include several calls to llvm.vscale(). (NOTE: Code
generation will typically remove the duplicates)
* Pre-LoopVectorize instcombines will rewrite some multiplies as shifts.
This leads to a mismatch between VL based maths of the scalar loop and
that created for the vector loop, which prevents some obvious
simplifications.
SCEV does not suffer these issues because it effectively does CSE during
construction and shifts are represented as multiplies.
Commit: 1597fad405d75352124289dcce828d1636550026
https://github.com/llvm/llvm-project/commit/1597fad405d75352124289dcce828d1636550026
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/avx512cdintrin.h
M clang/lib/Headers/avx512vlcdintrin.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/constant-builtins-vector.cpp
M libclc/clc/lib/generic/integer/clc_clz.inc
M libclc/clc/lib/generic/integer/clc_ctz.inc
Log Message:
-----------
[Clang] Rename elementwise builtins to `clzg` and `ctzg` (#157128)
Summary:
The added bit counting builtins for vectors used `cttz` and `ctlz`,
which is consistent with the LLVM naming convention. However, these are
clang builtins and implement exactly the `__builtin_ctzg` and
`__builtin_clzg` behavior. It is confusing to people familiar with other
other builtins that these are the only bit counting intrinsics named
differently. This includes the additional operation for the undefined
zero case, which was added as a `clzg` extension.
Commit: 13605abe077d3202119000a9b5da24ebd73b3713
https://github.com/llvm/llvm-project/commit/13605abe077d3202119000a9b5da24ebd73b3713
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/test/CMakeLists.txt
A llvm/test/FileCheck/CMakeLists.txt
A llvm/test/TableGen/CMakeLists.txt
Log Message:
-----------
[LLVM] Specialize test suites for `TableGen` and `FileCheck` to use smaller set of dependencies (#155929)
Define lit testsuite for FileCheck and TableGen with smaller set of
dependencies. This uses the new `SKIP` argument to `add_lit_testsuites`
that was added in https://github.com/llvm/llvm-project/pull/157176/.
Commit: eed99d50086c730c6422b566d9f82d4babdfa5bd
https://github.com/llvm/llvm-project/commit/eed99d50086c730c6422b566d9f82d4babdfa5bd
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx8.mir
Log Message:
-----------
[AMDGPU] Fix the magic number RegisterClass for SReg_32 in test (#159761)
Commit: b7e4edca3d56ec87f719c202f5397b245595f7cc
https://github.com/llvm/llvm-project/commit/b7e4edca3d56ec87f719c202f5397b245595f7cc
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFastISel.cpp
M llvm/test/CodeGen/PowerPC/vec_constants.ll
Log Message:
-----------
[LLVM][CodeGen] Update PPCFastISel::SelectRet for ConstantInt based vectors. (#159331)
The current implementation assumes ConstantInt return values are scalar,
which is not true when use-constant-int-for-fixed-length-splat is
enabled.
Commit: 68c9ddb93022f46f49d8b1a6063065d3a15aba0f
https://github.com/llvm/llvm-project/commit/68c9ddb93022f46f49d8b1a6063065d3a15aba0f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/functions.cpp
Log Message:
-----------
[clang][bytecode] Typecheck called function pointers more thorougly (#159757)
Fix two older FIXME items from the `functions.cpp` test.
Commit: 9113592312357d777a4e65833c2887f737bc9e6a
https://github.com/llvm/llvm-project/commit/9113592312357d777a4e65833c2887f737bc9e6a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.td
Log Message:
-----------
SPARC: Use RegClassByHwMode instead of PointerLikeRegClass (#158271)
Commit: cc680fc50c3b42bef920a5411cf902e6a6a9c4d4
https://github.com/llvm/llvm-project/commit/cc680fc50c3b42bef920a5411cf902e6a6a9c4d4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86IndirectThunks.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86ReturnThunks.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/TargetParser/TargetDataLayout.cpp
Log Message:
-----------
X86: Avoid using isArch64Bit for 64-bit checks (#157412)
Just directly check x86_64. isArch64Bit just adds extra
steps around this.
Commit: 188c7ed171705b7f50cd18f81de4eec4e316384a
https://github.com/llvm/llvm-project/commit/188c7ed171705b7f50cd18f81de4eec4e316384a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
Log Message:
-----------
[X86] Add test coverage for #159670 (#159767)
Commit: ba49062914f01f68cf3c4e067139a24b29a0e45b
https://github.com/llvm/llvm-project/commit/ba49062914f01f68cf3c4e067139a24b29a0e45b
Author: Devajith <devajith.valaparambil.sreeramaswamy at cern.ch>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Expr.h
M clang/lib/AST/StmtPrinter.cpp
M clang/test/SemaCXX/ast-print.cpp
Log Message:
-----------
[Clang][AST] Fix printing for `atomic_test_and_set` and `atomic_clear` (#159712)
https://github.com/llvm/llvm-project/pull/121943 rewrote
`__atomic_test_and_set` and `__atomic_clear` to be lowered through
AtomicExpr
StmtPrinter::VisitAtomicExpr still treated them like other atomic
builtins with a Val1 operand. This led to incorrect pretty-printing when
dumping the AST.
Skip Val1 for these two builtins like atomic loads.
Commit: 562146499c391f72d3bed6d91a80d432af14db49
https://github.com/llvm/llvm-project/commit/562146499c391f72d3bed6d91a80d432af14db49
Author: Mikhail Gudim <mgudim at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ExecutionDomainFix.h
M llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/BreakFalseDeps.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/ExecutionDomainFix.cpp
M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/ARM/ARMFixCortexA57AES1742098Pass.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/ARM/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/rda-stack.mir
M llvm/test/CodeGen/SystemZ/rda-stack-copy.mir
M llvm/test/CodeGen/X86/opt-pipeline.ll
A llvm/test/CodeGen/X86/print-reaching-defs.mir
Log Message:
-----------
[CodeGen][NewPM] Port `ReachingDefAnalysis` to new pass manager. (#159572)
In this commit:
(1) Added new pass manager support for `ReachingDefAnalysis`.
(2) Added printer pass.
(3) Make old pass manager use `ReachingDefInfoWrapperPass`
Commit: 2654b511fea7f5e6d56bdf6f1923c7b9f1899542
https://github.com/llvm/llvm-project/commit/2654b511fea7f5e6d56bdf6f1923c7b9f1899542
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86InstrInfo.td
M llvm/lib/Target/X86/X86InstrOperands.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
Log Message:
-----------
X86: Switch to RegClassByHwMode (#158274)
Replace the target uses of PointerLikeRegClass with RegClassByHwMode
Commit: 584af2f89e95f9fc7cb940a0c5380d608639e7d1
https://github.com/llvm/llvm-project/commit/584af2f89e95f9fc7cb940a0c5380d608639e7d1
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang-tools-extra/CMakeLists.txt
M clang-tools-extra/clang-tidy/CMakeLists.txt
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidy.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyForceLinker.h
M clang-tools-extra/clang-tidy/ClangTidyModule.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/clang-tidy-config.h.cmake
A clang-tools-extra/clang-tidy/custom/CMakeLists.txt
A clang-tools-extra/clang-tidy/custom/CustomTidyModule.cpp
A clang-tools-extra/clang-tidy/custom/QueryCheck.cpp
A clang-tools-extra/clang-tidy/custom/QueryCheck.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/Contributing.rst
A clang-tools-extra/docs/clang-tidy/QueryBasedCustomChecks.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
A clang-tools-extra/test/clang-tidy/checkers/custom/Inputs/clang-tidy.yml
A clang-tools-extra/test/clang-tidy/checkers/custom/Inputs/incorrect-clang-tidy.yml
A clang-tools-extra/test/clang-tidy/checkers/custom/query-incorrect-query.cpp
A clang-tools-extra/test/clang-tidy/checkers/custom/query-partially-active-check.cpp
A clang-tools-extra/test/clang-tidy/checkers/custom/query.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/append-clang-tidy.yml
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/empty-clang-tidy.yml
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/override-clang-tidy.yml
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/root-clang-tidy.yml
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/vfsoverlay.yaml
A clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check-not-enable.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check.cpp
M clang-tools-extra/unittests/clang-tidy/CMakeLists.txt
M clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
Log Message:
-----------
reapply "[clang-tidy] support query based custom check" (#159547)
reapply #131804 and #159289
Fixed cmake link issue.
---------
Co-authored-by: DeNiCoN <denicon1234 at gmail.com>
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
Commit: 084872a26d1a58129536e654ba9e29bc39cea1bb
https://github.com/llvm/llvm-project/commit/084872a26d1a58129536e654ba9e29bc39cea1bb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
M llvm/lib/Target/Mips/MicroMipsInstrInfo.td
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
M llvm/lib/Target/Mips/MipsRegisterInfo.h
M llvm/lib/Target/Mips/MipsRegisterInfo.td
Log Message:
-----------
Mips: Switch to RegClassByHwMode (#158273)
Commit: be6c4d933d0a4578fb6792807825b2f38c009b8d
https://github.com/llvm/llvm-project/commit/be6c4d933d0a4578fb6792807825b2f38c009b8d
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
M llvm/test/CodeGen/PowerPC/milicode32.ll
M llvm/test/CodeGen/PowerPC/milicode64.ll
Log Message:
-----------
[PowerPC] using milicode call for strlen instead of lib call (#153600)
AIX has "millicode" routines, which are functions loaded at boot time
into fixed addresses in kernel memory. This allows them to be customized
for the processor. The __strlen routine is a millicode implementation;
we use millicode for the strlen function instead of a library call to
improve performance.
Commit: e2467cbfa8fdc440debac1cfb930ee476f3d5e42
https://github.com/llvm/llvm-project/commit/e2467cbfa8fdc440debac1cfb930ee476f3d5e42
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Semantics/check-omp-structure.cpp
Log Message:
-----------
[flang][OpenMP] Remove no longer used OmpLoopDirective, NFC (#159576)
Commit: cd0f191792d48acd941067abfc59572b0bcc1f6e
https://github.com/llvm/llvm-project/commit/cd0f191792d48acd941067abfc59572b0bcc1f6e
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][rocdl] Add gfx1250+ cvt scale intrinsics (#159649)
Commit: c7054d92442e5e1dae26c1e652761c147b537ec4
https://github.com/llvm/llvm-project/commit/c7054d92442e5e1dae26c1e652761c147b537ec4
Author: Nico Weber <thakis at chromium.org>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/BUILD.gn
A llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/custom/BUILD.gn
Log Message:
-----------
[gn] port 584af2f89e95 (clang-tidy custom)
Commit: ac8f3cdcf31d12f6873e463b63ef09436219d065
https://github.com/llvm/llvm-project/commit/ac8f3cdcf31d12f6873e463b63ef09436219d065
Author: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/sink-addr-memory-intrinsics.ll
Log Message:
-----------
[AMDGPU] Precommit test for memory intrinics CGP handling
Change-Id: Id229f849b1d8552bbe59d6e18114042ef1614fad
Commit: 1eb575dcaea4cb677e6a977dd41b3843057bca83
https://github.com/llvm/llvm-project/commit/1eb575dcaea4cb677e6a977dd41b3843057bca83
Author: RolandF77 <froese at ca.ibm.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/splat-extend.ll
Log Message:
-----------
[PowerPC] Fix vector extend result types in BUILD_VECTOR lowering (#159398)
The result type of the vector extend intrinsics generated by the
BUILD_VECTOR lowering code should match how they are actually defined.
Currently the result type is defaulting to the operand type there. This
can conflict with calls to the same intrinsic from other paths.
Commit: bce48c89a04df5d5918d787e8b481cdfb0707307
https://github.com/llvm/llvm-project/commit/bce48c89a04df5d5918d787e8b481cdfb0707307
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
[lldb] Don't call FixDataAddress when reading fp in ReadGPRValue (#159606)
Based on testing on processors that use pointer metadata, and with all
the work done to delay calls to FixDataAddress, this is no longer
necessary.
Note that, with debugserver in particular, this is an NFC change: the
code path here is for frame zero, and debugserver will strip metadata
when reading fp from frame zero anyway.
Commit: acc156dc6fd84c661b23db57aa9adc1d4ae668e4
https://github.com/llvm/llvm-project/commit/acc156dc6fd84c661b23db57aa9adc1d4ae668e4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
Log Message:
-----------
PPC: Replace PointerLikeRegClass with RegClassByHwMode (#158777)
Commit: 00333ed37779af189a66e971217390165024b1b2
https://github.com/llvm/llvm-project/commit/00333ed37779af189a66e971217390165024b1b2
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M libcxx/utils/compare-benchmarks
M libcxx/utils/requirements.txt
A libcxx/utils/visualize-historical
Log Message:
-----------
[libc++] Add a utility to visualize historical benchmark data locally
This should eventually be done using `lnt` instead, but for the time
being this makes it easy to visualize historical data without having
an instance of `lnt` running.
Commit: 815b1641a65c33dd331efb816fdafeafd0a7e794
https://github.com/llvm/llvm-project/commit/815b1641a65c33dd331efb816fdafeafd0a7e794
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M libcxx/test/benchmarks/atomic_wait_1_waiter_1_notifier.bench.cpp
M libcxx/test/benchmarks/atomic_wait_N_waiter_N_notifier.bench.cpp
M libcxx/test/benchmarks/atomic_wait_multi_waiter_1_notifier.bench.cpp
M libcxx/test/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
Log Message:
-----------
[libc++] Disable atomic_wait benchmarks outside of dry-run mode (#158631)
The atomic_wait benchmarks are great, but they tend to overload the
system they're running on. For that reason, we can't run them on our CI
infrastructure on a regular basis.
Instead of removing them, make them unsupported outside of dry-running,
which allows keeping the benchmarks around and ensuring they don't rot,
but doesn't run them along with the other benchmarks. If we need to
investigate atomic_wait performance, it's trivial to mark the benchmark
as supported and run it for local investigations.
This is an alternative to https://github.com/llvm/llvm-project/pull/158289.
Commit: 50ef746a12a77e2e9f0c61f3ad92dfe0d8019194
https://github.com/llvm/llvm-project/commit/50ef746a12a77e2e9f0c61f3ad92dfe0d8019194
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/utils/perf-training/perf-helper.py
Log Message:
-----------
Fix perf-helper.py (#159745)
When build with assertions, there will be an output like the following
that needs to be filtered out, similar to the other ones.
`'Build config: +assertions'`
Commit: b21dd44dbc00a60b787dcfa90ca0e8b677c5211f
https://github.com/llvm/llvm-project/commit/b21dd44dbc00a60b787dcfa90ca0e8b677c5211f
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
R lldb/test/API/macosx/arm-pointer-metadata-stripping/Makefile
R lldb/test/API/macosx/arm-pointer-metadata-stripping/TestArmPointerMetadataStripping.py
R lldb/test/API/macosx/arm-pointer-metadata-stripping/extra_symbols.json
R lldb/test/API/macosx/arm-pointer-metadata-stripping/main.c
A lldb/test/API/pointer-nonaddressable-bits/Makefile
A lldb/test/API/pointer-nonaddressable-bits/TestArmPointerMetadataStripping.py
A lldb/test/API/pointer-nonaddressable-bits/extra_symbols.json
A lldb/test/API/pointer-nonaddressable-bits/main.c
Log Message:
-----------
[lldb][test] Enable non-address bit WritePointerToMemory test on Linux (#157435)
First added in #153585 for Darwin only. All Linux AArch64 systems also
have Top Byte Ignore enabled in userspace so the test "just works"
there.
FreeBSD has very recently gained Top Byte Ignore support:
https://github.com/freebsd/freebsd-src/commit/4c6c27d3fb4ad15931aae2eaf8e624aed99a3fd9
However it's so recent, I don't want to assume it'll be available on any
random FreeBSD system out there.
There isn't really a good place to put this test, so I put it in the top
level of API, next to the other non-address bit test that didn't have a
good home either.
Commit: 80fa3bddd0dfd5c1ed4301033e5647a3c7f226ee
https://github.com/llvm/llvm-project/commit/80fa3bddd0dfd5c1ed4301033e5647a3c7f226ee
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/file.h
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/unit.h
M flang/docs/Intrinsics.md
M flang/include/flang/Runtime/extensions.h
Log Message:
-----------
[flang] Implement FNUM() (#159433)
The GNU Fortran library function FNUM(u) returns the UNIX file
descriptor that corresponds to an open Fortran unit number, if any;
otherwise -1.
This implementation is a library extension only, not an intrinsic.
Commit: 8109c3a27f949d46337047fc9732e84926504ec2
https://github.com/llvm/llvm-project/commit/8109c3a27f949d46337047fc9732e84926504ec2
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/test/FileCheck/CMakeLists.txt
M llvm/test/TableGen/CMakeLists.txt
Log Message:
-----------
[LLVM] Exclude specialized lit test suites from check-all (#159781)
Commit: 19bc0d6543aedc1d9151e1b2435fc4b998a72d4e
https://github.com/llvm/llvm-project/commit/19bc0d6543aedc1d9151e1b2435fc4b998a72d4e
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M lldb/include/lldb/Core/Opcode.h
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.h
M lldb/unittests/Instruction/CMakeLists.txt
R lldb/unittests/Instruction/RISCV/TestRiscvInstEmulation.cpp
Log Message:
-----------
Revert "RISCV unwinding enable" (#159790)
Reverts llvm/llvm-project#158161
Due to reported failures on remote Linux and Swift buildbots.
Commit: 75dba8ea9ee164a297066afae437bc379f86f482
https://github.com/llvm/llvm-project/commit/75dba8ea9ee164a297066afae437bc379f86f482
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
M llvm/utils/lit/lit/TestRunner.py
A llvm/utils/lit/tests/Inputs/shtest-readfile/absolute-paths.txt
A llvm/utils/lit/tests/Inputs/shtest-readfile/file-does-not-exist.txt
A llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg
A llvm/utils/lit/tests/Inputs/shtest-readfile/relative-paths.txt
A llvm/utils/lit/tests/Inputs/shtest-readfile/two-same-line.txt
A llvm/utils/lit/tests/shtest-readfile.py
Log Message:
-----------
[lit] Add readfile substitution
This patch adds a new %{readfile:<file name>} substitution to lit. This
is needed for porting a couple of tests to lit's internal shell. These
tests are all using subshells to pass some option to a command are not
feasible to run within the internal shell without this functionality.
Reviewers: petrhosek, jh7370, ilovepi, cmtice
Reviewed By: jh7370, cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/158441
Commit: 69465ebb22871e5c556ebf22ef4ebbf0a42be3d5
https://github.com/llvm/llvm-project/commit/69465ebb22871e5c556ebf22ef4ebbf0a42be3d5
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm-readobj][NFC] Format ElfMachineType array definition (#159793)
Planning to add to the list in
https://github.com/llvm/llvm-project/pull/159791, so format it.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 74bea4c1ad34c9044b9e02f7f9688a408676df75
https://github.com/llvm/llvm-project/commit/74bea4c1ad34c9044b9e02f7f9688a408676df75
Author: Wael Yehia <wmyehia2001 at yahoo.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/Assembler/metadata.ll
Log Message:
-----------
[IR] enable attaching metadata on ifuncs (#158732)
Teach the IR parser and writer to support metadata on ifuncs, and update
documentation.
In PR #153049, we have a use case of attaching the `!associated`
metadata to an ifunc.
Since an ifunc is similar to a function declaration, it seems natural to
allow metadata on ifuncs.
Currently, the metadata API allows adding Metadata to
llvm::GlobalObject, so the in-memory IR allows for metadata on ifuncs,
but the IR reader/writer is not aware of that.
---------
Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>
Commit: 74a0d913435218dc97e2ce2f4bbe7a5ba6d515ec
https://github.com/llvm/llvm-project/commit/74a0d913435218dc97e2ce2f4bbe7a5ba6d515ec
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
Log Message:
-----------
[clang-tidy] Fix `bugprone-sizeof-expression` crash on arrays of dependent type (#159701)
Fixes #158422.
Commit: 8c189327e5573e597b3eead418beab6aaea72ca3
https://github.com/llvm/llvm-project/commit/8c189327e5573e597b3eead418beab6aaea72ca3
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/openmp-utils.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Parser/OpenMP/sections.f90
Log Message:
-----------
[flang][OpenMP] Use OmpDirectiveSpecification in SECTIONS (#159580)
Commit: 7f2dcaab393a75877fe84d40b0a2633b0cae141b
https://github.com/llvm/llvm-project/commit/7f2dcaab393a75877fe84d40b0a2633b0cae141b
Author: Brandon Wu <songwu0813 at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
Log Message:
-----------
[NFC][RISCV] Move Zvfbf* relative stuffs to RISCVInstrInfoZvfbf.td (#159619)
Commit: 15223548addf8aba95dba6cc8c175742dfcc3216
https://github.com/llvm/llvm-project/commit/15223548addf8aba95dba6cc8c175742dfcc3216
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M lldb/source/Utility/ArchSpec.cpp
Log Message:
-----------
[lldb] Add a static_assert that g_core_definitions matches the Core enum (#159452)
This PR uses the same trick as 7ced9fff95473 to ensure the
`g_core_definitions` table is correctly indexed by the Core enum. It's
easy to make a mistake. Case in point: this caught two entries that
appeared in the wrong order.
Commit: ffb70b00f970ec72a540a4c3c7f11af139accd1b
https://github.com/llvm/llvm-project/commit/ffb70b00f970ec72a540a4c3c7f11af139accd1b
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
Log Message:
-----------
[RISCV] Fix build after e747223c03e16d02cd0dc6f8eedb5c825a7366c1
Commit: 24b03d3217e41536cee7c868860b5930160ad526
https://github.com/llvm/llvm-project/commit/24b03d3217e41536cee7c868860b5930160ad526
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M flang/lib/Parser/openmp-parsers.cpp
Log Message:
-----------
[flang][OpenMP] Move helper functions further up the file, NFC (#159803)
Move them to before any potential users.
Commit: 6119d1f115625cd1b8a2b9d331609eb9e9f676ce
https://github.com/llvm/llvm-project/commit/6119d1f115625cd1b8a2b9d331609eb9e9f676ce
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vw-web-simplification.ll
Log Message:
-----------
[RISCV] Re-work how VWADD_W_VL and similar _W_VL nodes are handled in combineOp_VLToVWOp_VL. (#159205)
These instructions have one already narrow operand. Previously, we
pretended like this operand was a supported extension.
This could cause problems when we called getOrCreateExtendedOp on this
narrow operand when creating the the VWADD_VL. If the narrow operand
happened to be an extend of the opposite type, we would peek through it
and then rebuild it with the wrong extension type. So (vwadd_w_vl (i32
(sext X)), (i16 (zext Y))) would become (vwadd_vl (i16 (sext X)), (i16
(sext Y))).
To prevent this, we ignore the operand instead and pass std::nullopt for
SupportsExt to getOrCreateExtendedOp so it won't peek through any
extends on the narrow source.
Fixes #159152.
Commit: cbb60a32d79fb65401719216dda7e85468bad2d9
https://github.com/llvm/llvm-project/commit/cbb60a32d79fb65401719216dda7e85468bad2d9
Author: Fangrui Song <i at maskray.me>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/MarkLive.cpp
M lld/ELF/Options.td
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
M lld/test/ELF/gc-sections-print.s
Log Message:
-----------
[ELF] Add --print-gc-sections=<file> (#159706)
Add `--print-gc-sections=<file>` to redirect garbage collection section
listing to a file, avoiding contamination of stdout with other linker
output. mold has recently added the option.
GNU ld feature request:
https://sourceware.org/bugzilla/show_bug.cgi?id=33331
Commit: 5f86d0b644c4a7a3a51102444faad8b594469e41
https://github.com/llvm/llvm-project/commit/5f86d0b644c4a7a3a51102444faad8b594469e41
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-qualified-auto in TosaValidation.cpp (NFC)
Commit: a513b701752b139bde7b4c3ecebd549a8cb40e3e
https://github.com/llvm/llvm-project/commit/a513b701752b139bde7b4c3ecebd549a8cb40e3e
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang-tools-extra/test/CMakeLists.txt
M clang-tools-extra/test/clang-tidy/checkers/custom/query-incorrect-query.cpp
M clang-tools-extra/test/clang-tidy/checkers/custom/query-partially-active-check.cpp
M clang-tools-extra/test/clang-tidy/checkers/custom/query.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check.cpp
M clang-tools-extra/test/lit.cfg.py
M clang-tools-extra/test/lit.site.cfg.py.in
M clang-tools-extra/unittests/clang-tidy/CMakeLists.txt
Log Message:
-----------
[clang-tidy][custom-check][NFC] fix test when `CLANG_TIDY_ENABLE_QUERY_BASED_CUSTOM_CHECKS` disable (#159809)
Commit: 250a92fca5148414845bc50a0e1883f250891a39
https://github.com/llvm/llvm-project/commit/250a92fca5148414845bc50a0e1883f250891a39
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/test/Analysis/LifetimeSafety/benchmark.py
Log Message:
-----------
[LifetimeSafety] Avoid adding already present items in sets/maps (#159582)
Optimize lifetime safety analysis performance
- Added early return optimization in `join` function for ImmutableSet
when sets are identical
- Improved ImmutableMap join logic to avoid unnecessary operations when
values are equal
I was under the impression that ImmutableSets/Maps would not modify the
underlying if already existing elements are added to the container (and
was hoping for structural equality in this aspect). It looks like the
current implementation of `ImmutableSet` would perform addition
nevertheless thereby creating (presumably `O(log(N))` tree nodes.
This change considerably brings down compile times for some edge cases
which happened to be present in the LLVM codebase. Now it is actually
possible to compile LLVM in under 20 min with the lifetime analysis.
The compile time hit is still significant but not as bad as before this
change where it was not possible to compile LLVM without severely
limiting analysis' scope (giving up on CFG with > 3000 blocks).
Fixes https://github.com/llvm/llvm-project/issues/157420
<details>
<summary>Report (Before)</summary>
</details>
<details>
<summary>Report (After)</summary>
# Lifetime Analysis Performance Report
> Generated on: 2025-09-18 14:28:00
---
## Test Case: Pointer Cycle in Loop
**Timing Results:**
| N (Input Size) | Total Time | Analysis Time (%) | Fact Generator (%) |
Loan Propagation (%) | Expired Loans (%) |
|:---------------|-----------:|------------------:|-------------------:|---------------------:|------------------:|
| 25 | 53.76 ms | 85.58% | 0.00% | 85.46% | 0.00% |
| 50 | 605.35 ms | 98.39% | 0.00% | 98.37% | 0.00% |
| 75 | 2.89 s | 99.62% | 0.00% | 99.61% | 0.00% |
| 100 | 8.62 s | 99.80% | 0.00% | 99.80% | 0.00% |
**Complexity Analysis:**
| Analysis Phase | Complexity O(n<sup>k</sup>) |
|:------------------|:--------------------------|
| Total Analysis | O(n<sup>3.82</sup> ± 0.01) |
| FactGenerator | (Negligible) |
| LoanPropagation | O(n<sup>3.82</sup> ± 0.01) |
| ExpiredLoans | (Negligible) |
---
## Test Case: CFG Merges
**Timing Results:**
| N (Input Size) | Total Time | Analysis Time (%) | Fact Generator (%) |
Loan Propagation (%) | Expired Loans (%) |
|:---------------|-----------:|------------------:|-------------------:|---------------------:|------------------:|
| 400 | 66.02 ms | 58.61% | 1.04% | 56.53% | 1.02% |
| 1000 | 319.24 ms | 81.31% | 0.63% | 80.04% | 0.64% |
| 2000 | 1.43 s | 92.00% | 0.40% | 91.32% | 0.28% |
| 5000 | 9.35 s | 97.01% | 0.25% | 96.63% | 0.12% |
**Complexity Analysis:**
| Analysis Phase | Complexity O(n<sup>k</sup>) |
|:------------------|:--------------------------|
| Total Analysis | O(n<sup>2.12</sup> ± 0.02) |
| FactGenerator | O(n<sup>1.54</sup> ± 0.02) |
| LoanPropagation | O(n<sup>2.12</sup> ± 0.03) |
| ExpiredLoans | O(n<sup>1.13</sup> ± 0.03) |
---
## Test Case: Deeply Nested Loops
**Timing Results:**
| N (Input Size) | Total Time | Analysis Time (%) | Fact Generator (%) |
Loan Propagation (%) | Expired Loans (%) |
|:---------------|-----------:|------------------:|-------------------:|---------------------:|------------------:|
| 50 | 137.30 ms | 90.72% | 0.00% | 90.42% | 0.00% |
| 100 | 1.09 s | 98.13% | 0.00% | 98.02% | 0.09% |
| 150 | 4.06 s | 99.24% | 0.00% | 99.18% | 0.05% |
| 200 | 10.44 s | 99.66% | 0.00% | 99.63% | 0.03% |
**Complexity Analysis:**
| Analysis Phase | Complexity O(n<sup>k</sup>) |
|:------------------|:--------------------------|
| Total Analysis | O(n<sup>3.29</sup> ± 0.01) |
| FactGenerator | (Negligible) |
| LoanPropagation | O(n<sup>3.29</sup> ± 0.01) |
| ExpiredLoans | O(n<sup>1.42</sup> ± 0.19) |
---
</details>
Commit: c256966fe2129ef75c76a4cab454b35ffa9410f3
https://github.com/llvm/llvm-project/commit/c256966fe2129ef75c76a4cab454b35ffa9410f3
Author: Akash Dutta <137309513+akadutta at users.noreply.github.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.large.mir
A llvm/test/CodeGen/AMDGPU/unpack-non-coissue-insts-post-ra-scheduler.mir
Log Message:
-----------
[AMDGPU]: Unpack packed instructions overlapped by MFMAs post-RA scheduling (#157968)
This is a cleaned up version of PR #151704. These optimizations are now
performed post-RA scheduling.
Commit: 8009a5bafdc64562a4a3a89242170594454dee40
https://github.com/llvm/llvm-project/commit/8009a5bafdc64562a4a3a89242170594454dee40
Author: Cameron McInally <cameron.mcinally at nyu.edu>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
A llvm/test/MC/AsmParser/native.s
M llvm/tools/llvm-mc/llvm-mc.cpp
Log Message:
-----------
[MC] Add support for -mcpu=native. (#159414)
Support -mcpu=native by querying the Host CPU Name and Feature flags.
---------
Co-authored-by: Cameron McInally <cmcinally at nvidia.com>
Commit: e151e84ec0c6a95a08117dac33d555a663beeb50
https://github.com/llvm/llvm-project/commit/e151e84ec0c6a95a08117dac33d555a663beeb50
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for bugprone-argument-comment in LinalgTransformOps.cpp (NFC)
Commit: cac54a8ad08938a66d4f0ce6114c53cb0ace4499
https://github.com/llvm/llvm-project/commit/cac54a8ad08938a66d4f0ce6114c53cb0ace4499
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
A lld/test/wasm/Inputs/tags.s
M lld/test/wasm/tag-section.ll
M llvm/lib/CodeGen/AsmPrinter/WasmException.cpp
M llvm/lib/CodeGen/AsmPrinter/WasmException.h
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/test/CodeGen/WebAssembly/exception-legacy.ll
M llvm/test/CodeGen/WebAssembly/exception.ll
Log Message:
-----------
[WebAssembly] Require tags for Wasm EH and Wasm SJLJ to be defined externally (#159143)
Rather then defining these tags in each object file that requires them
we can can declare them as undefined and require that they defined
externally in, for example, compiler-rt or libcxxabi.
Commit: bf835169a52b792acc9f8ad26141fb3e556b6f71
https://github.com/llvm/llvm-project/commit/bf835169a52b792acc9f8ad26141fb3e556b6f71
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[AArch64] Remove post-decoding instruction mutations (#156364)
Add `bits<0>` fields to instructions using the ZTR/MPR/MPR8 register
classes. These register classes contain only one register, and it is
not encoded in the instruction. This way, the generated decoder can
completely decode instructions without having to perform a post-decoding
pass to insert missing operands.
Some immediate operands are also not encoded and have only one possible
value "zero". Use this trick for them, too.
Finally, remove `-ignore-non-decodable-operands` option from
`llvm-tblgen` invocation to ensure that non-decodable operands do not
appear in the future.
Commit: 51e3c3d51ba8064c7dafd57bf19e2a54b553af03
https://github.com/llvm/llvm-project/commit/51e3c3d51ba8064c7dafd57bf19e2a54b553af03
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M offload/liboffload/API/Program.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/libomptarget/PluginManager.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/unittests/OffloadAPI/CMakeLists.txt
A offload/unittests/OffloadAPI/program/olIsValidBinary.cpp
Log Message:
-----------
[Offload] Implement 'olIsValidBinary' in offload and clean up (#159658)
Summary:
This exposes the 'isDeviceCompatible' routine for checking if a binary
*can* be loaded. This is useful if people don't want to consume errors
everywhere when figuring out which image to put to what device.
I don't know if this is a good name, I was thining like `olIsCompatible`
or whatever. Let me know what you think.
Long term I'd like to be able to do something similar to what OpenMP
does where we can conditionally only initialize devices if we need them.
That's going to be support needed if we want this to be more
generic.
Commit: 90d03a0386a6b9640e50513f6948cd2549937208
https://github.com/llvm/llvm-project/commit/90d03a0386a6b9640e50513f6948cd2549937208
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use MutableArrayRef instead of SmallVectorImpl&. NFC (#159651)
We're only going to modify existing items, not add or remove any
elements to the vector.
Commit: 21f5f32cc6feacdacd9a22bc74f3e6ceb2a258c4
https://github.com/llvm/llvm-project/commit/21f5f32cc6feacdacd9a22bc74f3e6ceb2a258c4
Author: Gabriel Baraldi <baraldigabriel at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
A llvm/test/Other/pipeline-callbacks-string-api.ll
Log Message:
-----------
[PassBuilder] Add callback invoking to PassBuilder string API (#157153)
This is a very rough state of what this can look like, but I didn't want
to spend too much time on what could be a dead end.
Currently the only way to invoke callbacks is by using the default
pipelines, this is an issue if you want to define your own pipeline
using the C string API (we do that in LLVM.jl in julia) so I extended
the api to allow for invoking those callbacks just like one would call a
pass of that kind.
There are some questions about the params that these callbacks take and
also I'm missing some of them (some of them are also invoked by the
backend so we may not want to expose them)
Code written with AI help, bugs are mine. (Not sure what policy for this
is on LLVM)
Commit: bedfee0b8db6d3a2dba21e6d896ddcb4d38c1ab7
https://github.com/llvm/llvm-project/commit/bedfee0b8db6d3a2dba21e6d896ddcb4d38c1ab7
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/IR/invalid-type-info.cir
Log Message:
-----------
[CIR] Upstream TypeInfo attribute (#159426)
This change adds support for TypeInfoAttr which is needed later for RTTI
in exceptions
Issue https://github.com/llvm/llvm-project/issues/154992
Commit: 2998c74a1e113c63bc2c59685628bd0d0731caee
https://github.com/llvm/llvm-project/commit/2998c74a1e113c63bc2c59685628bd0d0731caee
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
Log Message:
-----------
[mlir][xegpu] Add SIMT distribution support for GEMM transpose B case. (#155517)
This PR adds the features needed for supporting the GEMM with transpose
B case.
Summary of changes.
1). Add distribution logic for `vector.bitcast`, `vector.transpose` and
`memref.extract_aligned_pointer_as_index` cases.
2). Add layout propagation support for `vector.shape_cast`,
`vector.broadcast` and `vector.bitcast`
3). Incorporate slice attribute and `DistributeLayoutAttr` interface
with the core logic in layout prop.
Commit: 4c7ebf825edabb5e0433b312ddac7914028e4488
https://github.com/llvm/llvm-project/commit/4c7ebf825edabb5e0433b312ddac7914028e4488
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
A clang/test/SemaHLSL/BuiltIns/binary-compat-overload-warnings.hlsl
A clang/test/SemaHLSL/BuiltIns/ternary-compat-overload-warnings.hlsl
A clang/test/SemaHLSL/BuiltIns/unary-compat-overload-warnings.hlsl
A clang/test/SemaHLSL/BuiltIns/vec-scalar-compat-overload-warnings.hlsl
Log Message:
-----------
[HLSL] Add deprecation warnings to compatability overloads (#159208)
Add deprecation warnings to compatability overloads and add tests to
show the warnings.
Closes #133452
Commit: 4cace1ff0f9a144de9f46f4521d140080e4e284d
https://github.com/llvm/llvm-project/commit/4cace1ff0f9a144de9f46f4521d140080e4e284d
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
M llvm/test/MC/Disassembler/ARM/arm-tests.txt
Log Message:
-----------
[ARM] Verify that disassembled instruction is correct (#157360)
This change adds basic `MCInst` verification (checks the number of
operands) and fixes detected bugs.
* `RFE*` instructions have only one operand, but `DecodeRFEInstruction`
added two.
* `DecodeMVEModImmInstruction` and `DecodeMVEVCMP` added a `vpred`
operand, but this is what `AddThumbPredicate` normally does. This
resulted in an extra `vpred` operand.
* `DecodeMVEVADCInstruction` added an extra immediate operand.
* `getARMInstruction` added a `pred` operand to instructions that don't
have one (via `DecodePredicateOperand`).
* `AddThumb1SBit` appended an extra register operand to instructions
that don't modify CPSR (such as `tBL`).
* Instructions in `NEONDup` namespace have `pred` operand that the
generated code successfully decodes. The operand was added once again by
`getARMInstruction`/`getThumbInstruction` via `AddThumbPredicate`.
Functional changes extracted from #156540.
Commit: 2e34188513e296f0c3d84b5a808924cafc6fd5a4
https://github.com/llvm/llvm-project/commit/2e34188513e296f0c3d84b5a808924cafc6fd5a4
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPC.td
Log Message:
-----------
[PowerPC] clean unused PPC target feature FeatureBPERMD (#159782)
clean unused PPC target feature FeatureBPERMD.
Commit: 21821f50cf1c420fe598b1252f04ebce3cc0f79e
https://github.com/llvm/llvm-project/commit/21821f50cf1c420fe598b1252f04ebce3cc0f79e
Author: lntue <lntue at google.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M libc/test/UnitTest/FEnvSafeTest.cpp
M libc/test/UnitTest/FPMatcher.h
Log Message:
-----------
[libc] Update floating testing infra for MSVC compatibility. (#159810)
Commit: 0ce6052a0c08035a07fcabb05271be7313308db3
https://github.com/llvm/llvm-project/commit/0ce6052a0c08035a07fcabb05271be7313308db3
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M lldb/utils/TableGen/CMakeLists.txt
Log Message:
-----------
[lldb] install lldb-tblgen by default to ease cross-compilation (one-liner) (#159812)
Right now, cross-building `lldb` means either installing a native
`lldb-tblgen` by hand (non-trivial, as CMake is painful) or first
building all of native clang because of how the CMake rules work, which
is not fun.
In keeping with the pattern established by llvm-tblgen and clang-tblgen,
install lldb-tblgen to ease cross-compilation.
Co-authored-by: Ross Burton <ross.burton at arm.com>
Commit: 8fcb712167fa809af9bec2ffcfe1ac1b8c5e4aa6
https://github.com/llvm/llvm-project/commit/8fcb712167fa809af9bec2ffcfe1ac1b8c5e4aa6
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
Log Message:
-----------
[AMDGPU] gfx1250 runlines for global-atomicrmw-fadd.ll. NFC (#159817)
Commit: 2d503b924c324f7f67ef8b1f5c518c1f80a2825b
https://github.com/llvm/llvm-project/commit/2d503b924c324f7f67ef8b1f5c518c1f80a2825b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M flang-rt/CMakeLists.txt
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M openmp/CMakeLists.txt
M runtimes/CMakeLists.txt
Log Message:
-----------
[LLVM] Simplify GPU runtimes flag handling (#159802)
Summary:
The AMDGPU hack can be removed, and we no longer need to skip 90% of the
`HandleLLVMOptions` if we work around NVPTX earlier. Simplifies the
interface by removing duplicated logic and keeps the GPU targets from
being weirdly divergent on some flags.
Commit: bbf657d5bb52f0f60f16224aba7e05f5eb33638f
https://github.com/llvm/llvm-project/commit/bbf657d5bb52f0f60f16224aba7e05f5eb33638f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/lib/AST/ExprClassification.cpp
M clang/test/SemaTemplate/temp_arg_template.cpp
Log Message:
-----------
[clang] fix expression classification for dependent binary operators (#159819)
This fixes a regression reported here:
https://github.com/llvm/llvm-project/pull/159463#issuecomment-3312157416
Since this regression was never released, there are no release notes.
Commit: 16880116c9a180e1dfed69be383d20e1efd8d3c1
https://github.com/llvm/llvm-project/commit/16880116c9a180e1dfed69be383d20e1efd8d3c1
Author: Anthony Latsis <alatsis at apple.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
Log Message:
-----------
[lldb] Fix Linux build when LLDB_ENABLE_PYTHON is OFF (#159825)
Remove 'lldb-python-scripts' from LLVM_DISTRIBUTION_COMPONENTS when
Python scripting is disabled. Otherwise we get
```
Specified distribution component 'lldb-python-scripts' doesn't have an install target
```
Commit: fc73ef42c92bf50547d5a069e98459a4a5615872
https://github.com/llvm/llvm-project/commit/fc73ef42c92bf50547d5a069e98459a4a5615872
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/test/Driver/uefi-constructed-args.c
Log Message:
-----------
[clang][Driver] Clean up UEFI linker argument handling (#159639)
This makes the UEFI driver's handling of linking more canonical
in a few ways:
* Use /option:value syntax with lld-link as in the MSVC driver.
* Handle -nostdlib, -nodefaultlibs, -r and call common
subroutines when they aren't set. This covers sanitizer and
profile runtimes and their associated switches; compiler-rt
builds do not yet provide these libraries, but the driver
behavior is opt-in and supports all the opt-in/out plumbing
like other targets do. This lets command lines immediately
use the opt-out switches even when they are superfluous for
opt-in features, as build system plumbing often needs to do.
It also updates some TODO comments for how the driver behavior
will look when more runtime support is ready.
Commit: 9ba844eb3a21d461c3adc7add7691a076c6992fc
https://github.com/llvm/llvm-project/commit/9ba844eb3a21d461c3adc7add7691a076c6992fc
Author: Walter Erquinigo <werquinigo at nvidia.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M lldb/include/lldb/Utility/ArchSpec.h
M lldb/source/Utility/ArchSpec.cpp
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Object/ObjectFile.cpp
M llvm/lib/TargetParser/TargetDataLayout.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/Object/ELFObjectFileTest.cpp
Log Message:
-----------
[ELF][LLDB] Add an nvsass triple (#159459)
When handling CUDA ELF files via objdump or LLDB, the ELF parser in LLVM
needs to distinguish if an ELF file is sass or not, which requires a
triple for sass to exist in llvm. This patch includes all the necessary
changes for LLDB and objdump to correctly identify these files with the
correct triple.
Commit: fcf2c4629ccf41d13837748b261bfab6625afb11
https://github.com/llvm/llvm-project/commit/fcf2c4629ccf41d13837748b261bfab6625afb11
Author: Wendi <uwendi at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/docs/QualGroup.rst
R llvm/docs/qual-wg/slides/202507_llvm_qual_wg.pdf
R llvm/docs/qual-wg/slides/202508_llvm_qual_wg.pdf
R llvm/docs/qual-wg/slides/202509_llvm_qual_wg.pdf
Log Message:
-----------
[QualGroup] Update Slides Section, Add AI Transcription Policy, Clean Up (#158842)
This patch makes the following updates to the `QualGroup.rst`
documentation:
✅ 1. Replace slide links with Google Drive URLs
Replaced links to slide PDFs previously hosted in `llvm/docs/qual-wg/`
with publicly accessible links to the same files stored on Google Drive.
✅ 2. Remove duplicated "Current Topics & Backlog" section
Removed an accidental duplication of the "Current Topics & Backlog"
section to improve clarity and structure.
✅ 3. Add "AI Transcription Policy" section
Introduced a dedicated section documenting the group's practices and
expectations regarding AI-based auto-transcription during sync-up
meetings. Includes purpose, consent practices, retention details, and
how participants can opt out or raise concerns.
✅ 4. Remove `qual-wg` subfolder from `docs`
Removed the now-unused `llvm/docs/qual-wg` directory after migrating
slide hosting off-repo. No longer needed for qualification group
documentation.
✅ 5. Revision of the introduction
Updated sentence to reflect the most current and widely relevant safety
standards: adding IEC 61508 and IEC 62304 for broader applicability, and
replacing EN 50128 (older standard in railways) by EN 50716 for
correctness.
---------
Co-authored-by: Wendi Urribarri (Woven by Toyota <wendi.urribarri at woven-planet.global>
Commit: 6e977aabb9494ab0afbe4b4b47465a0798e2bf45
https://github.com/llvm/llvm-project/commit/6e977aabb9494ab0afbe4b4b47465a0798e2bf45
Author: Nico Weber <thakis at chromium.org>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/test/BUILD.gn
Log Message:
-----------
[gn] port a513b701752b1
Commit: 8afea0d0ea1c1d24c8df646a6d8c87fd02ca0ea1
https://github.com/llvm/llvm-project/commit/8afea0d0ea1c1d24c8df646a6d8c87fd02ca0ea1
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A offload/test/offloading/fortran/target-declare-mapper-allocatable.f90
Log Message:
-----------
[OpenMP][MLIR] Preserve to/from flags in mapper base entry for mappers (#159799)
With declare mapper, the parent base entry was emitted as `TARGET_PARAM`
only. The mapper received a map-type without `to/from`, causing
components to degrade to `alloc`-only (no copies), breaking allocatable
payload mapping. This PR preserves the map-type bits from the parent.
This fixes #156466.
Commit: 733c1aded131ca955563ef7ef04fb8acf49aa5e3
https://github.com/llvm/llvm-project/commit/733c1aded131ca955563ef7ef04fb8acf49aa5e3
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/ARMScheduleA57.td
M llvm/lib/Target/ARM/ARMScheduleR52.td
M llvm/lib/Target/ARM/ARMScheduleSwift.td
M llvm/test/Analysis/CostModel/ARM/abs.ll
M llvm/test/Analysis/CostModel/ARM/mve-abs.ll
M llvm/test/CodeGen/Thumb2/abs.ll
Log Message:
-----------
[ARM] Replace ABS and tABS machine nodes with custom lowering (#156717)
Just do a custom lowering instead.
Also copy paste the cmov-neg fold to prevent regressions in nabs.
Commit: e22985795ceddae29d91580f92e0d04d80ce5f60
https://github.com/llvm/llvm-project/commit/e22985795ceddae29d91580f92e0d04d80ce5f60
Author: David Green <david.green at arm.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Clean up the formatting of some bitconvert patterns. NFC
Commit: b28d2ea432ab9ce04225874d893769be109be5c3
https://github.com/llvm/llvm-project/commit/b28d2ea432ab9ce04225874d893769be109be5c3
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
Log Message:
-----------
[CIR] Implement Logical AND for VectorType (#158696)
This change adds support for local AND op for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 580860e8b7341783e8e53114f26b9a9659a3a3e1
https://github.com/llvm/llvm-project/commit/580860e8b7341783e8e53114f26b9a9659a3a3e1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M openmp/device/include/State.h
M openmp/device/src/Misc.cpp
M openmp/device/src/Synchronization.cpp
M openmp/tools/omptest/src/OmptAssertEvent.cpp
Log Message:
-----------
[OpenMP][NFC] Clean up a bunch of warnings and clang-tidy messages (#159831)
Summary:
I made the GPU flags accept more of the default LLVM warnings, which
triggered some new cases. Clean those up and fix some other ones while
I'm at it.
Commit: dcce216289b10f01ac4e974efcbd486f79cc35ea
https://github.com/llvm/llvm-project/commit/dcce216289b10f01ac4e974efcbd486f79cc35ea
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel][AArch64] Port #156364: fix tablegen args (#159835)
This was updated in #156364 but `-ignore-non-decodable-operands` was
removed from the wrong tablegen arg list (arm vs aarch64)
Commit: 46ce6a02ffc15e6b3b8a9ca89714c00c06150bed
https://github.com/llvm/llvm-project/commit/46ce6a02ffc15e6b3b8a9ca89714c00c06150bed
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/builtin-structured-binding-size.cpp
Log Message:
-----------
[clang] diagnose invalid std::tuple_size sizes (#159677)
This makes sure the tuple sizes remain within implementation limits, and
this doesn't cause the compiler to crash later, as the tuple size is
assumed to fit within an UnsignedOrNone.
Fixes #159563
Commit: 57a593f6b23be04d47fee0c691e6738bdec0e608
https://github.com/llvm/llvm-project/commit/57a593f6b23be04d47fee0c691e6738bdec0e608
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
R libcxx/test/std/re/re.alg/re.alg.match/awk.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.match/awk.pass.cpp
R libcxx/test/std/re/re.alg/re.alg.match/basic.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.match/basic.pass.cpp
R libcxx/test/std/re/re.alg/re.alg.match/ecma.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.match/ecma.pass.cpp
R libcxx/test/std/re/re.alg/re.alg.match/extended.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.match/extended.pass.cpp
R libcxx/test/std/re/re.alg/re.alg.search/awk.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.search/awk.pass.cpp
R libcxx/test/std/re/re.alg/re.alg.search/basic.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.search/basic.pass.cpp
R libcxx/test/std/re/re.alg/re.alg.search/ecma.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.search/ecma.pass.cpp
R libcxx/test/std/re/re.alg/re.alg.search/extended.locale.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.search/extended.pass.cpp
M libcxx/test/std/re/re.traits/lookup_collatename.pass.cpp
Log Message:
-----------
[libc++] Remove obsolete locale-specific regex tests (#159590)
After a recent macOS update, several of the locale-specific regex tests
started failing. These tests were mainly testing two locale specific
features of regular expressions:
- A character class like `[=x=]` matches any character that is
considered equivalent to `x` according to the collation rules of the
current locale.
- A character class like `[[.ch.]]` matches anything that is equivalent
to `ch` (whether as two letters or as a single collation element) in the
current locale.
However, these tests were relying on platform-specific localization
data, specifically they were only working with older macOS localization
data. As can be seen from the numerous XFAILs, most mainstream platforms
didn't actually pass this test. After the macOS update, macOS itself
also doesn't pass these tests anymore.
I looked at whether there are locales where these tests would still make
sense, and I couldn't find any. I am not a localization expert, but it
appears that only legacy locales like the traditional Spanish locale
(which isn't commonly shipped on systems anymore) considers `[.ch.]` to
be a single collation element. Therefore, it seems that the locale
specific part of these tests is not relevant anymore, and this patch
removes them.
The patch also moves some tests for equivalence classes inside character
classes to their non locale-specific tests, since that feature was not
covered there.
Finally, the lookup_collatename.pass.cpp test was fixed by removing an
assertion that `ch` is a collation element in the CZ locale, which seems
to not be the case in recent localization data (and appears to be the
root cause for about half the failures in these tests).
Commit: 19659eec2b81720eb6c827349c8df28331393e1a
https://github.com/llvm/llvm-project/commit/19659eec2b81720eb6c827349c8df28331393e1a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/x86_fp80-vector-store.ll
Log Message:
-----------
[LV] Add additional test for replicating store costs.
Add tests for costing replicating stores with x86_fp80, scalarizing
costs after discarding interleave groups and cost when preferring vector
addressing.
Commit: 93f9ca21f060a7aa34e5bb94557409634bf0e39d
https://github.com/llvm/llvm-project/commit/93f9ca21f060a7aa34e5bb94557409634bf0e39d
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/Yaml.h
A clang/test/Analysis/Inputs/taint-generic-config-vfs.json
M clang/test/Analysis/taint-generic.c
Log Message:
-----------
[clang][analyzer] Load config through the proper VFS (#159164)
This PR ensures that the Clang static analyzer loads the config file
through the properly-configured VFS rather than through the bare real
file system. This enables correctly going through VFS overlays, unifying
the behavior with the rest of the compiler.
Commit: 81c0c7337df51b84feee6c40c4e09f41e740e3b1
https://github.com/llvm/llvm-project/commit/81c0c7337df51b84feee6c40c4e09f41e740e3b1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/x86_fp80-vector-store.ll
Log Message:
-----------
[LV] Pass operand info to getMemoryOpCost in getMemInstScalarizationCost.
Pass operand info to getMemoryOpCost in getMemInstScalarizationCost.
This matches the behavior in VPReplicateRecipe::computeCost.
Commit: ef1372af431f62ca05d6c56ad5d13813860c4aae
https://github.com/llvm/llvm-project/commit/ef1372af431f62ca05d6c56ad5d13813860c4aae
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/include/llvm/Support/KnownBits.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Support/KnownBits.cpp
Log Message:
-----------
[KnownBits] Add setAllConflict to set all bits in Zero and One. NFC (#159815)
This is a common pattern to initialize Knownbits that occurs before
loops that call intersectWith.
Commit: d38979dca24a20b94a682aef5dfbd9e290335ea9
https://github.com/llvm/llvm-project/commit/d38979dca24a20b94a682aef5dfbd9e290335ea9
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPC.td
Log Message:
-----------
Revert "[PowerPC] clean unused PPC target feature FeatureBPERMD" (#159837)
Reverts llvm/llvm-project#159782
The PR breaks multiple build bots and CI as well.
Commit: d8a4c61fe4c11b16a496a089e2962473c6b1b183
https://github.com/llvm/llvm-project/commit/d8a4c61fe4c11b16a496a089e2962473c6b1b183
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/sink-addr-memory-intrinsics.ll
Log Message:
-----------
[CodeGenPrepare] Consider target memory intrinics as memory use (#159638)
When deciding to sink address instructions into their uses, we check if
it is profitable to do so. The profitability check is based on the types
of uses of this address instruction -- if there are users which are not
memory instructions, then do not fold.
However, this profitability check wasn't considering target intrinsics,
which may be loads / stores.
This adds some logic to handle target memory intrinsics.
Commit: 67244da08e1aa83f34358a32e3fa3b2e1722bc65
https://github.com/llvm/llvm-project/commit/67244da08e1aa83f34358a32e3fa3b2e1722bc65
Author: kkent030315 <hrn832 at protonmail.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/Options.td
M lld/COFF/Writer.cpp
A lld/test/COFF/nodbgdirmerge.test
Log Message:
-----------
[LLD][COFF] Add /nodbgdirmerge to control debug directory section (#159235)
Resolves #141712.
As described in the issue, this PR adds support for `/nodbgdirmerge`
flag in LLD to align with MS link. When the flag is specified, the
linker will emit the debug directory section in `.cvinfo` section,
instead of merging it to the `.rdata`. The flag will be ignored on
MinGW.
---------
Co-authored-by: namazso <admin at namazso.eu>
Commit: fadea8cd1da608fb3c378ab7edc53b7fb2e02c3e
https://github.com/llvm/llvm-project/commit/fadea8cd1da608fb3c378ab7edc53b7fb2e02c3e
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/ds_read2-gfx1250.ll
M llvm/test/CodeGen/AMDGPU/ds_write2.ll
Log Message:
-----------
[AMDGPU] ds_read2/ds_write2 gfx1250 tests. NFC (#159824)
Commit: 1250095b1a21f219b22e2c50b9789e001813627a
https://github.com/llvm/llvm-project/commit/1250095b1a21f219b22e2c50b9789e001813627a
Author: Roy Shi <royitaqi at users.noreply.github.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
M lldb/tools/lldb-dap/src-ts/logging.ts
Log Message:
-----------
[vscode-lldb] Improve logging in Server Mode (#159672)
A few improvements to logging when lldb-dap is started in **Server
Mode** AND when the **`lldb-dap.logFolder`** setting is used (not
`lldb-dap.log-path`).
### Improvement #1
**Avoid the prompt of restarting the server when starting each debug
session.**
That prompt is caused by the combination of the following facts:
1. The log filename changes every time a new debug session is starting
(see
[here](https://github.com/llvm/llvm-project/blob/9d6062c490548a5e6fea103e010ab3c9bc73a86d/lldb/tools/lldb-dap/src-ts/logging.ts#L47))
2. The log filename is passed to the server via an environment variable
called "LLDBDAP_LOG" (see
[here](https://github.com/llvm/llvm-project/blob/9d6062c490548a5e6fea103e010ab3c9bc73a86d/lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts#L263-L269))
3. All environment variables are put into the "spawn info" variable (see
[here](https://github.com/llvm/llvm-project/blob/9d6062c490548a5e6fea103e010ab3c9bc73a86d/lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts#L170-L172)).
4. The old and new "spawn info" are compared to decide if a prompt
should show (see
[here](https://github.com/llvm/llvm-project/blob/9d6062c490548a5e6fea103e010ab3c9bc73a86d/lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts#L107-L110)).
The fix is to remove the "LLDBDAP_LOG" from the "spawn info" variable,
so that the same server can be reused if the log path is the only thing
that has changed.
### Improvement #2
**Avoid log file conflict when multiple users share a machine and start
server in the same second.**
The problem: If two users start lldb-dap server in the same second, they
will share the same log path. The first user will create the log file.
The second user will find that they cannot access the same file, so
their server will fail to start.
The fix is to add a part of the VS Code session ID to the log filename.
### Improvement #3
**Avoid restarting the server when the order of environment variables
changed.**
This is done by sorting the environment variables before putting them
into the "spawn info".
Commit: 7165cf3e1266958c4457abeeadf9d9e965b51c92
https://github.com/llvm/llvm-project/commit/7165cf3e1266958c4457abeeadf9d9e965b51c92
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGen/array-ctor.cpp
M clang/test/CIR/CodeGen/array-dtor.cpp
Log Message:
-----------
[CIR] Fix structors for multidimensional arrrays (#159820)
This patchs implements array constructors and destructors for
multidimensional arrays. This works by bitcasting the pointer to the
first element to a one-dimensional array type of the same extent before
lowering to a loop.
Commit: cfabbf0f3dab99fba27ff8a9abdacc8555b44c98
https://github.com/llvm/llvm-project/commit/cfabbf0f3dab99fba27ff8a9abdacc8555b44c98
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg
A llvm/utils/lit/tests/shtest-readfile-external.py
M llvm/utils/lit/tests/shtest-readfile.py
Log Message:
-----------
[lit] Add support for readfile to external shell
This patch adds support for the new lit %{readfile:<filename>}
substitution to the external shell. The implementation currently just
appends some test commands to ensure the file exists and uses a subshell
with cat. This is intended to enable running tests using the
substitution in the external shell before we fully switch over to the
internal shell.
This code is designed to be temporary with us deleting it once
everything has migrated over to the internal shell and we are able to
remove the external shell code paths.
Reviewers: petrhosek, cmtice, pogo59, ilovepi, arichardson
Reviewed By: cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/159431
Commit: b4a17b13b7327e583fb16384004155508f31a09d
https://github.com/llvm/llvm-project/commit/b4a17b13b7327e583fb16384004155508f31a09d
Author: Alireza Torabian <alireza.torabian at huawei.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
A llvm/test/Analysis/DependenceAnalysis/SameSDLoops.ll
Log Message:
-----------
[DependenceAnalysis] Extending SIV to handle fusable loops (#128782)
When there is a dependency between two memory instructions in separate loops that have the same iteration space and depth, SIV will be able to test them and compute the direction and the distance of the dependency.
Commit: 4bc9d29fbaa7f0d0a3b522e1e085e228d5d40d76
https://github.com/llvm/llvm-project/commit/4bc9d29fbaa7f0d0a3b522e1e085e228d5d40d76
Author: Chengjun <chengjunp at Nvidia.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
A llvm/test/Transforms/SROA/vector-promotion-cannot-tree-structure-merge.ll
A llvm/test/Transforms/SROA/vector-promotion-via-tree-structure-merge.ll
Log Message:
-----------
[SROA] Use tree-structure merge to remove alloca (#152793)
This patch introduces a new optimization in SROA that handles the
pattern where multiple non-overlapping vector `store`s completely fill
an `alloca`.
The current approach to handle this pattern introduces many `.vecexpand`
and `.vecblend` instructions, which can dramatically slow down
compilation when dealing with large `alloca`s built from many small
vector `store`s. For example, consider an `alloca` of type `<128 x
float>` filled by 64 `store`s of `<2 x float>` each. The current
implementation requires:
- 64 `shufflevector`s( `.vecexpand`)
- 64 `select`s ( `.vecblend` )
- All operations use masks of size 128
- These operations form a long dependency chain
This kind of IR is both difficult to optimize and slow to compile,
particularly impacting the `InstCombine` pass.
This patch introduces a tree-structured merge approach that
significantly reduces the number of operations and improves compilation
performance.
Key features:
- Detects when vector `store`s completely fill an `alloca` without gaps
- Ensures no loads occur in the middle of the store sequence
- Uses a tree-based approach with `shufflevector`s to merge stored
values
- Reduces the number of intermediate operations compared to linear
merging
- Eliminates the long dependency chains that hurt optimization
Example transformation:
```
// Before: (stores do not have to be in order)
%alloca = alloca <8 x float>
store <2 x float> %val0, ptr %alloca ; offset 0-1
store <2 x float> %val2, ptr %alloca+16 ; offset 4-5
store <2 x float> %val1, ptr %alloca+8 ; offset 2-3
store <2 x float> %val3, ptr %alloca+24 ; offset 6-7
%result = load <8 x float>, ptr %alloca
// After (tree-structured merge):
%shuffle0 = shufflevector %val0, %val1, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
%shuffle1 = shufflevector %val2, %val3, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
%result = shufflevector %shuffle0, %shuffle1, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
```
Benefits:
- Logarithmic depth (O(log n)) instead of linear dependency chains
- Fewer total operations for large vectors
- Better optimization opportunities for subsequent passes
- Significant compilation time improvements for large vector patterns
For some large cases, the compile time can be reduced from about 60s to
less than 3s.
---------
Co-authored-by: chengjunp <chengjunp at nividia.com>
Commit: f437309e28daaf7443cb200d789a9304aac250d1
https://github.com/llvm/llvm-project/commit/f437309e28daaf7443cb200d789a9304aac250d1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
Log Message:
-----------
[RISCV] Update comments in RISCVMatInt to reflect we don't always use ADDIW after LUI now. NFC (#159829)
The simm32 base case only uses lui+addiw when necessary after
3d2650bdeb8409563d917d8eef70b906323524ef
The worst case 8 instruction sequence doesn't leave a full 32 bits for
the LUI+ADDI(W) after the 3 12-bit ADDI and SLLI pairs are created. So
we will never generate LUI+ADDIW in the worst case sequence.
Commit: c91fa95fc7426215817c3d20564558a310d587e2
https://github.com/llvm/llvm-project/commit/c91fa95fc7426215817c3d20564558a310d587e2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
Log Message:
-----------
[SampleProfile] Always use FAM to get ORE
The split in this code path was left over from when we had to support
the old PM and the new PM at the same time. Now that the legacy pass has
been dropped, this simplifies the code a little bit and swaps pointers
for references in a couple places.
Reviewers: aeubanks, efriedma-quic, wlei-llvm
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/159858
Commit: 4a9fdda9882da8f054009c249c4bb0ef18f6f21a
https://github.com/llvm/llvm-project/commit/4a9fdda9882da8f054009c249c4bb0ef18f6f21a
Author: Roman Belenov <rbelenov at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-mca.rst
M llvm/include/llvm/MCA/CustomBehaviour.h
M llvm/include/llvm/MCA/InstrBuilder.h
M llvm/lib/MCA/CustomBehaviour.cpp
M llvm/lib/MCA/InstrBuilder.cpp
A llvm/test/tools/llvm-mca/X86/llvm-mca-markers-13.s
A llvm/test/tools/llvm-mca/X86/llvm-mca-markers-14.s
M llvm/tools/llvm-mca/llvm-mca.cpp
M llvm/unittests/tools/llvm-mca/MCATestBase.cpp
M llvm/unittests/tools/llvm-mca/MCATestBase.h
M llvm/unittests/tools/llvm-mca/X86/TestIncrementalMCA.cpp
Log Message:
-----------
[MCA] Enable customization of individual instructions (#155420)
Currently MCA takes instruction properties from scheduling model.
However, some instructions may execute differently depending on external
factors - for example, latency of memory instructions may vary
differently depending on whether the load comes from L1 cache, L2 or
DRAM. While MCA as a static analysis tool cannot model such differences
(and currently takes some static decision, e.g. all memory ops are
treated as L1 accesses), it makes sense to allow manual modification of
instruction properties to model different behavior (e.g. sensitivity of
code performance to cache misses in particular load instruction). This
patch addresses this need.
The library modification is intentionally generic - arbitrary
modifications to InstrDesc are allowed. The tool support is currently
limited to changing instruction latencies (single number applies to all
output arguments and MaxLatency) via coments in the input assembler
code; the format is the like this:
add (%eax), eax // LLVM-MCA-LATENCY:100
Users of MCA library can already make additional customizations; command
line tool can be extended in the future.
Note that InstructionView currently shows per-instruction information
according to scheduling model and is not affected by this change.
See https://github.com/llvm/llvm-project/issues/133429 for additional
clarifications (including explanation why existing customization
mechanisms do not provide required functionality)
---------
Co-authored-by: Min-Yih Hsu <min at myhsu.dev>
Commit: 9542d0a0c661be92db950514b5dc9c5ea6d953af
https://github.com/llvm/llvm-project/commit/9542d0a0c661be92db950514b5dc9c5ea6d953af
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[libc] Fix libc build on NVPTX using wrong linker flag
Summary:
Ugly hacks abound, we can't actually test linker flags correctly
generically because not everyone has `nvlink` as a binary on their
machine which would then result in every single flag being unsupported.
This is the only 'linker flag' check we have, so just hard code it off.
Commit: a38794ff3d47588cb226881eb048cb2333962ab9
https://github.com/llvm/llvm-project/commit/a38794ff3d47588cb226881eb048cb2333962ab9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/test/ClangScanDeps/pr61006.cppm
M clang/test/ClangScanDeps/resource_directory.c
M clang/test/Driver/env.c
M clang/test/Driver/program-path-priority.c
M clang/test/Modules/relative-resource-dir.m
Log Message:
-----------
[Clang] Rewrite tests using subshells to set env variables
Now that we have the %readfile substitution, we can rewrite these tests
that were using env variable subshells to write the output of the
command into a file and then load it where it is needed using readfile.
This does involve one invocation of bash so that we are using the system
env binary, which does support redirection into a tool like grep. We
already do this in one LLVM test. I'm not happy about needing that, but
the more principled way to solve it involves reworking how in-process
builtins work within lit. That is something we want to do eventually,
but not something that I think should block this patch.
Reviewers: cmtice, petrhosek, ilovepi
Reviewed By: cmtice, ilovepi
Pull Request: https://github.com/llvm/llvm-project/pull/158446
Commit: 0a47e8c2fc337b8dc5dac1778c7a46c3219e157c
https://github.com/llvm/llvm-project/commit/0a47e8c2fc337b8dc5dac1778c7a46c3219e157c
Author: Gábor Spaits <gaborspaits1 at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
A llvm/test/Transforms/SimplifyCFG/unreachable-multi-basic-block-funclet.ll
Log Message:
-----------
Reland [BasicBlockUtils] Handle funclets when detaching EH pad blocks (#159379)
Fixes #148052 .
Last PR did not account for the scenario, when more than one instruction
used the `catchpad` label.
In that case I have deleted uses, which were already "choosen to be
iterated over" by the early increment iterator. This issue was not
visible in normal release build on x86, but luckily later on the address
sanitizer build it has found it on the buildbot.
Here is the diff from the last version of this PR: #158435
```diff
diff --git a/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp b/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
index 91e245e5e8f5..1dd8cb4ee584 100644
--- a/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
+++ b/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
@@ -106,7 +106,8 @@ void llvm::detachDeadBlocks(ArrayRef<BasicBlock *> BBs,
// first block, the we would have possible cleanupret and catchret
// instructions with poison arguments, which wouldn't be valid.
if (isa<FuncletPadInst>(I)) {
- for (User *User : make_early_inc_range(I.users())) {
+ SmallPtrSet<BasicBlock *, 4> UniqueEHRetBlocksToDelete;
+ for (User *User : I.users()) {
Instruction *ReturnInstr = dyn_cast<Instruction>(User);
// If we have a cleanupret or catchret block, replace it with just an
// unreachable. The other alternative, that may use a catchpad is a
@@ -114,33 +115,12 @@ void llvm::detachDeadBlocks(ArrayRef<BasicBlock *> BBs,
if (isa<CatchReturnInst>(ReturnInstr) ||
isa<CleanupReturnInst>(ReturnInstr)) {
BasicBlock *ReturnInstrBB = ReturnInstr->getParent();
- // This catchret or catchpad basic block is detached now. Let the
- // successors know it.
- // This basic block also may have some predecessors too. For
- // example the following LLVM-IR is valid:
- //
- // [cleanuppad_block]
- // |
- // [regular_block]
- // |
- // [cleanupret_block]
- //
- // The IR after the cleanup will look like this:
- //
- // [cleanuppad_block]
- // |
- // [regular_block]
- // |
- // [unreachable]
- //
- // So regular_block will lead to an unreachable block, which is also
- // valid. There is no need to replace regular_block with unreachable
- // in this context now.
- // On the other hand, the cleanupret/catchret block's successors
- // need to know about the deletion of their predecessors.
- emptyAndDetachBlock(ReturnInstrBB, Updates, KeepOneInputPHIs);
+ UniqueEHRetBlocksToDelete.insert(ReturnInstrBB);
}
}
+ for (BasicBlock *EHRetBB :
+ make_early_inc_range(UniqueEHRetBlocksToDelete))
+ emptyAndDetachBlock(EHRetBB, Updates, KeepOneInputPHIs);
}
}
```
Commit: 386301cd5ccbbf2b65edf627d6e05f14146d127b
https://github.com/llvm/llvm-project/commit/386301cd5ccbbf2b65edf627d6e05f14146d127b
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/utils/TableGen/Common/InstructionEncoding.cpp
M llvm/utils/TableGen/Common/InstructionEncoding.h
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Remove unused Target from InstructionEncoding methods (NFC) (#159833)
Commit: 07def2797be4538a22f8e8b826c77626d15e0b3b
https://github.com/llvm/llvm-project/commit/07def2797be4538a22f8e8b826c77626d15e0b3b
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
Log Message:
-----------
[M68k] Remove STI from M68kAsmParser (#159827)
STI exists in the base class, use it instead.
Fixes #159862.
Commit: 9b3e2f53eb219e7ed2f0a761bad2fa3bd396a57c
https://github.com/llvm/llvm-project/commit/9b3e2f53eb219e7ed2f0a761bad2fa3bd396a57c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrControl.td
Log Message:
-----------
X86: Elide use of RegClassByHwMode in some ptr_rc_tailcall uses (#159874)
Different instructions are used for the 32-bit and 64-bit cases
anyway, so directly use the concrete register class in the
instruction.
Commit: 4554cdf6cfd1745ecdbad6665b17913c4af9c1b2
https://github.com/llvm/llvm-project/commit/4554cdf6cfd1745ecdbad6665b17913c4af9c1b2
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M clang/lib/Sema/SemaModule.cpp
A clang/test/Modules/named-module-with-fmodules.cppm
Log Message:
-----------
[modules] Fix assert on Clang module import from the global module fragment. (#159771)
Fixes #159768.
When building a named module interface with `-fmodules` enabled,
importing a Clang module from inside the global module fragment causes
Clang to crash only on assertion builds.
This fixes the assert and extends the test coverage.
Commit: 5d39b87d0b4725771bb18e62a44e3f5264b810e5
https://github.com/llvm/llvm-project/commit/5d39b87d0b4725771bb18e62a44e3f5264b810e5
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/test/Lower/OpenACC/acc-reduction-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
Log Message:
-----------
[flang][acc] Fix the indexing of the reduction initializer for multidimensional static arrays (#159848)
Similarly to https://github.com/llvm/llvm-project/pull/155536, this PR
fixes incorrect coordinates for array access in the reduction
initializer.
Commit: 5b017e3884956bc9bd65f91f86c0ccbbaa7fc653
https://github.com/llvm/llvm-project/commit/5b017e3884956bc9bd65f91f86c0ccbbaa7fc653
Author: Cameron McInally <cameron.mcinally at nyu.edu>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
R llvm/test/MC/AsmParser/native.s
A llvm/test/MC/X86/mcpu-native.s
Log Message:
-----------
[MC] Make `-mcpu=native` test target specific (#159868)
It's not possible to use `-mcpu=native` when the Target's Triple doesn't
match the Host's. Move this test to the X86 directory so that it isn't
run while cross-compiling.
Originally #159414
---------
Co-authored-by: Cameron McInally <cmcinally at nvidia.com>
Commit: 0fa3061c4e1468f8ab8fbb06ef0d19c00df2aef3
https://github.com/llvm/llvm-project/commit/0fa3061c4e1468f8ab8fbb06ef0d19c00df2aef3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M lldb/include/lldb/Utility/ArchSpec.h
M lldb/source/Utility/ArchSpec.cpp
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Object/ObjectFile.cpp
M llvm/lib/TargetParser/TargetDataLayout.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/Object/ELFObjectFileTest.cpp
Log Message:
-----------
Revert "[ELF][LLDB] Add an nvsass triple (#159459)" (#159879)
Summary:
This patch has broken the `libc` build bot. I could work around that but
the changes seem unnecessary.
This reverts commit 9ba844eb3a21d461c3adc7add7691a076c6992fc.
Commit: 57b673b3c15e5c606896a6b39b41a6a2867547ec
https://github.com/llvm/llvm-project/commit/57b673b3c15e5c606896a6b39b41a6a2867547ec
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/include/llvm/CodeGen/LiveRangeEdit.h
M llvm/lib/CodeGen/LiveRangeEdit.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
Log Message:
-----------
[CodeGen] Untangle RegisterCoalescer from LRE's ScannedRemattable flag [nfc[ (#159839)
LiveRangeEdit's rematerialization checking logic is used in two quite
different ways. For SplitKit and InlineSpiller, we're analyzing all defs
associated with a live interval, doing that analysis up front, and then
using the result a bit later. The RegisterCoalescer, we're analysing
exactly one ValNo at a time, and using the legality result immediately.
LRE had a checkRematerializable which existed basically to adapt the
later into the former usage model.
Instead, this change bypasses the ScannedRemat and Remattable
structures, and directly queries the underlying routines. This is easy
to read, and makes it more clear as to which uses actually need the
deferred analysis. (A following change may try to unwind that too, but
it's not strictly NFC.)
Commit: f6c711b426300d2f8b914fc7debe6d09c026740e
https://github.com/llvm/llvm-project/commit/f6c711b426300d2f8b914fc7debe6d09c026740e
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/test/SemaCXX/ptrauth-type-traits.cpp
Log Message:
-----------
[clang][PAC] Don't try to diagnose use of pointer auth on dependent types #159505 (#159859)
We can't give a correct answer for dependent types, so for now just
report no ptrauth involves if the type being queried is dependent. In
future we may want to distinguigh the `None` vs `Dependent` cases but
that does not seem warranted for now.
Fixes #159505
Commit: 60bdf0965441ef244a4fd79e4cd056359b9d31d5
https://github.com/llvm/llvm-project/commit/60bdf0965441ef244a4fd79e4cd056359b9d31d5
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/include/llvm/MC/MCDecoderOps.h
M llvm/test/TableGen/DecoderEmitter/DecoderEmitterBitwidthSpecialization.td
M llvm/test/TableGen/DecoderEmitter/VarLenDecoder.td
M llvm/test/TableGen/DecoderEmitter/additional-encoding.td
M llvm/test/TableGen/DecoderEmitter/big-filter.td
M llvm/test/TableGen/DecoderEmitter/trydecode-emission.td
M llvm/test/TableGen/DecoderEmitter/trydecode-emission2.td
M llvm/test/TableGen/DecoderEmitter/trydecode-emission3.td
M llvm/test/TableGen/DecoderEmitter/trydecode-emission4.td
M llvm/test/TableGen/DecoderEmitter/var-len-conflict-1.td
M llvm/test/TableGen/HwModeEncodeDecode.td
M llvm/test/TableGen/HwModeEncodeDecode2.td
M llvm/test/TableGen/HwModeEncodeDecode3.td
M llvm/utils/TableGen/CMakeLists.txt
M llvm/utils/TableGen/DecoderEmitter.cpp
A llvm/utils/TableGen/DecoderTableEmitter.cpp
A llvm/utils/TableGen/DecoderTableEmitter.h
A llvm/utils/TableGen/DecoderTree.cpp
A llvm/utils/TableGen/DecoderTree.h
Log Message:
-----------
[TableGen][DecoderEmitter] Rework table construction/emission (#155889)
### Current state
We have FilterChooser class, which can be thought of as a **tree of
encodings**. Tree nodes are instances of FilterChooser itself, and come
in two types:
* A node containing single encoding that has *constant* bits in the
specified bit range, a.k.a. singleton node.
* A node containing only child nodes, where each child represents a set
of encodings that have the same *constant* bits in the specified bit
range.
Either of these nodes can have an additional child, which represents a
set of encodings that have some *unknown* bits in the same bit range.
As can be seen, the **data structure is very high level**.
The encoding tree represented by FilterChooser is then converted into a
finite-state machine (FSM), represented as **byte array**. The
translation is straightforward: for each node of the tree we emit a
sequence of opcodes that check encoding bits and predicates for each
encoding. For a singleton node we also emit a terminal "decode" opcode.
The translation is done in one go, and this has negative consequences:
* We miss optimization opportunities.
* We have to use "fixups" when encoding transitions in the FSM since we
don't know the size of the data we want to jump over in advance. We have
to emit the data first and then fix up the location of the jump. This
means the fixup size has to be large enough to encode the longest jump,
so **most of the transitions are encoded inefficiently**.
* Finally, when converting the FSM into human readable form, we have to
**decode the byte array we've just emitted**. This is also done in one
go, so we **can't do any pretty printing**.
### This PR
We introduce an intermediary data structure, decoder tree, that can be
thought as **AST of the decoder program**.
This data structure is **low level** and as such allows for optimization
and analysis.
It resolves all the issues listed above. We now can:
* Emit more optimal opcode sequences.
* Compute the size of the data to be emitted in advance, avoiding
fixups.
* Do pretty printing.
Serialization is done by a new class, DecoderTableEmitter, which
converts the AST into a FSM in **textual form**, streamed right into the
output file.
### Results
* The new approach immediately resulted in 12% total table size savings
across all in-tree targets, without implementing any optimizations on
the AST. Many tables observe ~20% size reduction.
* The generated file is much more readable.
* The implementation is arguably simpler and more straightforward (the
diff is only +150~200 lines, which feels rather small for the benefits
the change gives).
Commit: 3baddef8a8136bb6479374320d756a3838d65daf
https://github.com/llvm/llvm-project/commit/3baddef8a8136bb6479374320d756a3838d65daf
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/ArithToArmSME/ArithToArmSME.cpp
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/TosaToArith/TosaToArith.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
Log Message:
-----------
[mlir][arith] Simplify inheriting constructors declarations. NFC. (#159682)
Use the `Base` type alias from
https://github.com/llvm/llvm-project/pull/158433.
Commit: 5eebb58fb42fa173ada0465d574ca182e9bf6448
https://github.com/llvm/llvm-project/commit/5eebb58fb42fa173ada0465d574ca182e9bf6448
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPC.td
A llvm/test/CodeGen/PowerPC/ppc32_64bit_support_cpus.ll
Log Message:
-----------
PPC: Fix regression for 32-bit ppc with 64-bit support (#159893)
Fixes regression after e5bbaa9c8fb6e06dbcbd39404039cc5d31df4410.
e5500 accidentally still had the 64bit feature applied instead of
64bit-support.
Commit: 43e4757d85ccb2a4a0a6a2f4ceff27e38b77c542
https://github.com/llvm/llvm-project/commit/43e4757d85ccb2a4a0a6a2f4ceff27e38b77c542
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/call03.f90
M flang/test/Semantics/call44.f90
M flang/test/Semantics/call45.f90
Log Message:
-----------
[flang][semantic] update semantic checks for ansychronous and volatility attributes to use MayNeedCopy (#159477)
Ties the semantic checks for overwriting a asynchronous or volatile
value with a copy-out operation to the function
`evaluate::MayNeedCopy(..., /*forCopyOut=*/false)`. This should make the
checks more accurate and consistent with the lowering. The PR also adds
a default check that looks for the undesired behavior directly, in case
extension later modify what is possible.
A couple portability warnings are added where other compilers are over
restrictive.
Closes https://github.com/llvm/llvm-project/issues/137369
```
$ build/bin/flang -c ~/work/llvm-test-suite/Fortran/gfortran/regression/volatile8.f90 -pedantic
/home/akuhlenschmi/work/llvm-test-suite/Fortran/gfortran/regression/volatile8.f90:21:16: warning: The array section 'a(1_8:5_8:2_8)' should not be associated with dummy argument 'dummy8=' with VOLATILE attribute, unless the dummy is assumed-shape or assumed-rank [-Wvolatile-or-asynchronous-temporary]
call sub8 (a(1:5:2)) ! { dg-error "Array-section actual argument" }
^^^^^^^^
/home/akuhlenschmi/work/llvm-test-suite/Fortran/gfortran/regression/volatile8.f90:37:16: portability: The actual argument 's9dummy' should not be associated with dummy argument 'dummy9=' with VOLATILE attribute, because a temporary copy is required during the call [-Wportability]
call sub9 (s9dummy) ! { dg-error "Assumed-shape actual argument" }
^^^^^^^
/home/akuhlenschmi/work/llvm-test-suite/Fortran/gfortran/regression/volatile8.f90:55:17: portability: The actual argument 'a' should not be associated with dummy argument 'dummy10=' with VOLATILE attribute, because a temporary copy is required during the call [-Wportability]
call sub10 (a) ! { dg-error "Pointer-array actual argument" }
^
```
Commit: 3e57a0d01c90c09b1e40d8edfe48f8e5a63e2de6
https://github.com/llvm/llvm-project/commit/3e57a0d01c90c09b1e40d8edfe48f8e5a63e2de6
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
Log Message:
-----------
[lldb][MachO] Local structs for larger VA offsets (#159849)
The Mach-O file format has several load commands which specify the
location of data in the file in UInt32 offsets. lldb uses these same
structures to track the offsets of the binary in virtual address space
when it is running. Normally a binary is loaded in memory contiguously,
so this is fine, but on Darwin systems there is a "system shared cache"
where all system libraries are combined into one region of memory and
pre-linked. The shared cache has the TEXT segments for every binary
loaded contiguously, then the DATA segments, and finally a shared common
LINKEDIT segment for all binaries. The virtual address offset from the
TEXT segment for a libray to the LINKEDIT may exceed 4GB of virtual
address space depending on the structure of the shared cache, so this
use of a UInt32 offset will not work.
There was an initial instance of this issue that I fixed last November
in https://github.com/llvm/llvm-project/pull/117832 where I fixed this
issue for the LC_SYMTAB / `symtab_command` structure. But we have the
same issue now with three additional structures;
`linkedit_data_command`, `dyld_info_command`, and `dysymtab_command`.
For all of these we can see the pattern of `dyld_info.export_off +=
linkedit_slide` applied to the offset fields in ObjectFileMachO.
This defines local structures that mirror the Mach-O structures, except
that it uses UInt64 offset fields so we can reuse the same field for a
large virtual address offset at runtime. I defined ctor's from the
genuine structures, as well as operator= methods so the structures can
be read from the Mach-O binary into the standard object, then copied
into our local expanded versions of them. These structures are ABI in
Mach-O and cannot change their layout.
The alternative is to create local variables alongside these Mach-O load
command objects for the offsets that we care about, adjust those by the
correct VA offsets, and only use those local variables instead of the
fields in the objects. I took the approach of the local enhanced
structure in November and I think it is the cleaner approach.
rdar://160384968
Commit: 2b937daa1310f7c17a03a0a4a7abf83149e1dc71
https://github.com/llvm/llvm-project/commit/2b937daa1310f7c17a03a0a4a7abf83149e1dc71
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/dsqrtl.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/dsqrtl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/dsqrtl.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor dsqrtl implementation to header-only in src/__support/math folder. (#154868)
Part of #147386
in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 7a3fa0671b34c067262f14aa07779a1f13908314
https://github.com/llvm/llvm-project/commit/7a3fa0671b34c067262f14aa07779a1f13908314
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/test/Misc/dev-fd-fs.c
M llvm/utils/lit/lit/builtin_commands/cat.py
M llvm/utils/lit/tests/Inputs/shtest-cat/cat.txt
Log Message:
-----------
[lit] Make builtin cat work with stdin
cat with no files passed to it is supposed to read from STDIN according
to POSIX. The builtin cat lacking this behavior led to the clang test in
dev-fd-fs.c to fail because it expected this behavior. This is a simple
modification and I do not think it is possible to rewrite the test
without this easily while preserving the semantics around named pipes.
Reviewers: petrhosek, arichardson, ilovepi, cmtice, jh7370
Reviewed By: jh7370, arichardson, ilovepi, cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/158447
Commit: 8d6470f717cb5c2d200f71dff09ee76a12f908a7
https://github.com/llvm/llvm-project/commit/8d6470f717cb5c2d200f71dff09ee76a12f908a7
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/test/Frontend/rewrite-includes-bom.c
Log Message:
-----------
[Clang] Make rewrite-includes-bom.c work with internal shell
This test was using $'<content with escapes' to have bash interpret
shell escapes and then passing them to grep. The lexer/parser for lit's
internal shell does not support such sequences. Given this is the only
test in-tree that uses this functionality, it makes much more sense to
use a POSIX compliant utility like od to transform the file into hex and
then grep over that rather than modify the internal shell. This test
should remain portable as od should be widely available and we are only
using options specified in POSIX.
Reviewers: cmtice, petrhosek, ilovepi
Reviewed By: petrhosek, ilovepi
Pull Request: https://github.com/llvm/llvm-project/pull/158463
Commit: 83268237baaff3c46956255370480ee2fdb570d4
https://github.com/llvm/llvm-project/commit/83268237baaff3c46956255370480ee2fdb570d4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/utils/lit/lit/TestRunner.py
A llvm/utils/lit/tests/Inputs/shtest-shell-symlinks/lit.cfg
A llvm/utils/lit/tests/Inputs/shtest-shell-symlinks/rm-symlink-dir.txt
A llvm/utils/lit/tests/shtest-shell-symlinks.py
Log Message:
-----------
[lit] Add support for deleting symlinks to directories without -r
Before this change, rm would assume that a symlink to a directory was
actually a directory and require the recursive flag to be passed,
differing from other shells. Given the change in lit is about the same
length as the test change would be (minus tests), I think it makes sense
to just support this in the internal shell.
Reviewers: cmtice, petrhosek, ilovepi
Reviewed By: petrhosek, cmtice, ilovepi
Pull Request: https://github.com/llvm/llvm-project/pull/158464
Commit: 25e218d7562f1f360a8f112de2b771585cd922c3
https://github.com/llvm/llvm-project/commit/25e218d7562f1f360a8f112de2b771585cd922c3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/test/lit.cfg.py
Log Message:
-----------
[Clang] Enable lit internal shell by default
Now that all of the clang tests have been verified (and adjusted when
necessary) to work with lit's internal shell, we can enable it by
default, which this patch does.
This should make check-clang 10-15% faster in addition to providing
richer feedback on test failures.
Reviewers: AaronBallman, petrhosek, rnk, ilovepi, shafik, cmtice
Reviewed By: petrhosek, ilovepi, rnk, cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/158465
Commit: 43cfad6e26bcaba3423972d3e29fdfd4c440a36b
https://github.com/llvm/llvm-project/commit/43cfad6e26bcaba3423972d3e29fdfd4c440a36b
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
Log Message:
-----------
[clang-format][NFC] Add is_sorted() assertion for binary_search()
Commit: a4f89a7ef9afa4fb65de0c21ef28b94249d788cc
https://github.com/llvm/llvm-project/commit/a4f89a7ef9afa4fb65de0c21ef28b94249d788cc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-19 (Fri, 19 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix typo in comment. NFC
Commit: 354ad556e17358db2b22507e3ef07ba39991b189
https://github.com/llvm/llvm-project/commit/354ad556e17358db2b22507e3ef07ba39991b189
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M clang/test/Frontend/rewrite-includes-bom.c
Log Message:
-----------
Revert "[Clang] Make rewrite-includes-bom.c work with internal shell"
This reverts commit 8d6470f717cb5c2d200f71dff09ee76a12f908a7.
This was causing a failure on the llvm-clang-aarch64-darwin builder when
using the external shell.
Commit: 5b13d99357d5113b0ee4cde2066a024e1df58222
https://github.com/llvm/llvm-project/commit/5b13d99357d5113b0ee4cde2066a024e1df58222
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M clang/test/lit.cfg.py
Log Message:
-----------
Revert "[Clang] Enable lit internal shell by default"
This reverts commit 25e218d7562f1f360a8f112de2b771585cd922c3.
This is causing errors on the llvm-clang-aarch64-darwin builder related
to too many files being open.
Commit: 4d7694a740dfacba0e2dcb52c45b6d93fb692142
https://github.com/llvm/llvm-project/commit/4d7694a740dfacba0e2dcb52c45b6d93fb692142
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/icmp.ll
Log Message:
-----------
[ValueTracking] a - b == NonZero -> a != b (#159792)
Alive2: https://alive2.llvm.org/ce/z/8rX5Rk
Closes https://github.com/llvm/llvm-project/issues/118106.
Commit: a728f213c863e4dd19f8969a417148d2951323c0
https://github.com/llvm/llvm-project/commit/a728f213c863e4dd19f8969a417148d2951323c0
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/modules.cpp
Log Message:
-----------
[Driver] [C++20] [Modules] Fix --precompile with -fmodule-output
Close https://github.com/llvm/llvm-project/issues/159780
Commit: d510a693af0cdc397544c7e8ce111a01002e0640
https://github.com/llvm/llvm-project/commit/d510a693af0cdc397544c7e8ce111a01002e0640
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
Log Message:
-----------
[CIR][NFC] Fix Missing Decl::OMPGroupPrivate warning (#159631)
Fix the Missing enum element `Decl::OMPGroupPrivate` warning
Commit: 674491928c9ae8ec25bde79044894570988202ea
https://github.com/llvm/llvm-project/commit/674491928c9ae8ec25bde79044894570988202ea
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/atomic.c
A clang/test/CIR/IR/atomic.cir
Log Message:
-----------
[CIR] Add atomic exchange operation (#158089)
This patch adds atomic exchange operation which covers the following
C/C++ intrinsic functions:
- `__c11_atomic_exchange`
- `__atomic_exchange`
- `__atomic_exchange_n`
Commit: 56a561920a31381d38ee9f123669df45da569427
https://github.com/llvm/llvm-project/commit/56a561920a31381d38ee9f123669df45da569427
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
Log Message:
-----------
[CIR] Implement Type promotion for VectorType (#158715)
This change adds support for type promotion for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 47c1b650626043f0a8f8e32851617201751f9439
https://github.com/llvm/llvm-project/commit/47c1b650626043f0a8f8e32851617201751f9439
Author: Raul Tambre <raul at tambre.ee>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/test/Other/codegen-plugin-loading.ll
Log Message:
-----------
[llvm][test][CGPluginTest] Fix plugin path (#159914)
During development I introduced the `%llvm_obj_root` substitution but later removed it as a better
solution became apparent. Revert this to the original substitution while keeping the new path.
Fixes: 4e1c996674cc340f290b0a528e2038e76494d8d4
Commit: f205a2c0a093767144f474fe54bbfa103e1d6431
https://github.com/llvm/llvm-project/commit/f205a2c0a093767144f474fe54bbfa103e1d6431
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/runtimes/CMakeLists.txt
M openmp/CMakeLists.txt
M openmp/README.rst
M openmp/cmake/OpenMPTesting.cmake
M openmp/runtime/test/CMakeLists.txt
M openmp/runtime/test/lit.cfg
M openmp/runtime/test/lit.site.cfg.in
A openmp/runtime/test/transform/unroll/heuristic_intdo.f90
Log Message:
-----------
[OpenMP] Allow Fortran tests (#150722)
In addition to existing C/C++ tests, add Fortran-based tests. Fortran
tests will only run if a Fortran compiler is found. The first test is
for the unroll construct added in #144785.
Commit: 22a64170df0365c53d004a7c763d83776aa065a9
https://github.com/llvm/llvm-project/commit/22a64170df0365c53d004a7c763d83776aa065a9
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M openmp/CMakeLists.txt
Log Message:
-----------
[openmp][test] Don't use random Flang by default
Only enable Fortran tests when either the test compiler is set
explicitly, or in a runtimes bootstrapping build. A system-installed
Flang either may not exist, or too old to compiler our tests.
Fixes buildbot failure after landing #150722
https://lab.llvm.org/buildbot/#/builders/10/builds/13905
Commit: 5d39cae6ba30d84e48b5374239dbd4e20d1d4870
https://github.com/llvm/llvm-project/commit/5d39cae6ba30d84e48b5374239dbd4e20d1d4870
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstCombine/redundant-fcmp.ll
Log Message:
-----------
[InstCombine] Generalise optimisation of redundant floating point comparisons with `ConstantFPRange` (#159315)
Follow up of #158097
Similar to `simplifyAndOrOfICmpsWithConstants`, we can do so for
floating point comparisons.
Commit: 18fa33f577236093c1f00448edd3bb15de43e011
https://github.com/llvm/llvm-project/commit/18fa33f577236093c1f00448edd3bb15de43e011
Author: Nico Weber <thakis at chromium.org>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
Log Message:
-----------
[gn] port 60bdf0965441
Commit: 576ac09cdff7becbd999f484b5448e645009ef49
https://github.com/llvm/llvm-project/commit/576ac09cdff7becbd999f484b5448e645009ef49
Author: Nico Weber <thakis at chromium.org>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/Disassembler/BUILD.gn
Log Message:
-----------
[gn] port bf835169a52b7
Commit: eff6b77de8f71ff1d2b17311d2a655e83a6ea672
https://github.com/llvm/llvm-project/commit/eff6b77de8f71ff1d2b17311d2a655e83a6ea672
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M clang-tools-extra/clang-tidy/custom/CMakeLists.txt
Log Message:
-----------
[clang-tidy][NFC] fix cmake issue (#159919)
Commit: db2a5a97b3a40b0b5ec53cbf12c18fea10869509
https://github.com/llvm/llvm-project/commit/db2a5a97b3a40b0b5ec53cbf12c18fea10869509
Author: Raul Tambre <raul at tambre.ee>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/test/Other/codegen-plugin-loading.ll
Log Message:
-----------
[llvm][test][CGPluginTest] Fix plugin path again (#159923)
I forgot to remove a bunch of the intermediary path.
That's what I get for not waiting my local build to finish.
Fixes: 47c1b650626043f0a8f8e32851617201751f9439
Commit: e4d7b8928b287a9954e3c83306bdb9b16e4e7c1b
https://github.com/llvm/llvm-project/commit/e4d7b8928b287a9954e3c83306bdb9b16e4e7c1b
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/Transforms/MemProfContextDisambiguation/funcassigncloning3.ll
Log Message:
-----------
[MemProf] Propagate function call assignments to newly cloned nodes (#159907)
There are a couple of places during function cloning where we may create
new callsite clone nodes. One of those places was correctly propagating
the assignment to which function clone it should call, and one was not.
Refactor this handling into a helper and use in both places so the newly
created callsite clones actually call the assigned callee function
clones.
Commit: 2dd0edf2d8593a979421f0ab6575e76a37671459
https://github.com/llvm/llvm-project/commit/2dd0edf2d8593a979421f0ab6575e76a37671459
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[LLVM] Remove leftover unnecessary CMake for GPU runtimes
Summary:
This somehow snuck back in.
Commit: 23efc67e194222a9c14da8e99f183f98cb126c8a
https://github.com/llvm/llvm-project/commit/23efc67e194222a9c14da8e99f183f98cb126c8a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M offload/include/omptarget.h
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/ErrorReporting.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/common/src/RPC.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] Remove non-blocking allocation type (#159851)
Summary:
This was originally added in as a hack to work around CUDA's limitation
on allocation. The `libc` implementation now isn't even used for CUDA so
this code is never hit. Even if this case, this code never truly worked.
A true solution would be to use CUDA's virtual memory API instead to
allocate 2MiB slabs independenctly from the normal memory management
done in the stream.
Commit: 941ea28f3f4f12e49b5e511299a2bf7214795630
https://github.com/llvm/llvm-project/commit/941ea28f3f4f12e49b5e511299a2bf7214795630
Author: yicuixi <63290259+yicuixi at users.noreply.github.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M clang/test/Modules/no-stale-modtime.m
Log Message:
-----------
[NFC][clang] Refactor no-stable-modtime.m test use split-file (#159924)
This PR refactor no-stable-modtime.m to use split-file
Signed-off-by: yicuixi <qin_17914 at 126.com>
Commit: cb78bf6c94dca7dab802f61895a84c21452ea71a
https://github.com/llvm/llvm-project/commit/cb78bf6c94dca7dab802f61895a84c21452ea71a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/FunctionExtras.h
Log Message:
-----------
[ADT] Move IsSizeLessThanThresholdT into AdjustedParamTBase (NFC) (#159900)
This patch moves IsSizeLessThanThresholdT into AdjustedParamTBase, the
sole user of the helper, while switching to a type alias.
Aside from moving the helper closer to where it's used, another
benefit is that we can assume that T is a complete type inside
AdjustedParamTBase. Note that sizeof(T) serves as a check for a
complete type. Inside AdjustedParamTBase, we only pass complete
non-void types to:
std::is_trivially_copy_constructible<T>
std::is_trivially_move_constructible<T>
so we can safely drop the fallback case implemented with
std::false_type.
Commit: a04c0f5cebfed58fb54969c0f52ce559c7277025
https://github.com/llvm/llvm-project/commit/a04c0f5cebfed58fb54969c0f52ce559c7277025
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/lib/IR/Metadata.cpp
Log Message:
-----------
[IR] Modernize HasCachedHash (NFC) (#159902)
This patch modernizes HasCachedHash.
- "struct SFINAE" is replaced with identically defined SameType.
- The return types Yes and No are replaced with std::true_type and
std::false_type.
My previous attempt (#159510) to clean up HasCachedHash failed on
clang++-18, but this version works with clang++-18.
Commit: b91de4cbee54cf50f9f92c140a9259bdea81e1d2
https://github.com/llvm/llvm-project/commit/b91de4cbee54cf50f9f92c140a9259bdea81e1d2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/include/llvm/IR/Metadata.h
M llvm/lib/IR/Metadata.cpp
Log Message:
-----------
[IR] Simplify dispatchRecalculateHash and dispatchResetHash (NFC) (#159903)
This patch simplifies dispatchRecalculateHash and dispatchResetHash
with "constexpr if".
This patch does not inline dispatchRecalculateHash and
dispatchResetHash into their respective call sites. Using "constexpr
if" in a non-template context like MDNode::uniquify would still
require the discarded branch to be syntactically valid, causing a
compilation error for node types that do not have
recalculateHash/setHash. Using template functions ensures that the
"constexpr if" is evaluated in a proper template context, allowing the
compiler to fully discard the inactive branch.
Commit: ef840d8fb7d072344867b21d2cb6574ba494b0c9
https://github.com/llvm/llvm-project/commit/ef840d8fb7d072344867b21d2cb6574ba494b0c9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/docs/GettingStarted.rst
Log Message:
-----------
[llvm] Proofread GettingStarted.rst (#159904)
Commit: 507f394d03d8cb24c90ae4b2d28e8afae3b4088d
https://github.com/llvm/llvm-project/commit/507f394d03d8cb24c90ae4b2d28e8afae3b4088d
Author: mykouHW <koumeiyuan at huawei.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M lld/ELF/LinkerScript.cpp
A lld/test/ELF/linkerscript/orphan-relocation.s
Log Message:
-----------
[ELF] -r/--emit-relocs: Fix crash when processing .rela.text before .text (#156354)
fixes #156417
When the relocation section is placed before the relocated section and
the relocated section is not defined in the linker script, an error will
occur during the linking process.
**Issue Cause:**
In a.ro, `.rela.text` precedes its relocated `InputSection` `.text`.
`addOrphanSections` doesn't handle this scenario.
When it processes `.rela.text`, in the called `getOutputSectionName`,
`rel->getOutputSection()` is nullptr (input `.text` doesn't yet have a
parent output section), leading to an assertion failure.
**Solution:**
For --emit-relocs and -r, ensure the output section for `.text.foo` is
created before the output section for `.rela.text.foo`.
---------
Co-authored-by: Fangrui Song <i at maskray.me>
Commit: b3c7d25422355949227a12ded7515f5114db5bda
https://github.com/llvm/llvm-project/commit/b3c7d25422355949227a12ded7515f5114db5bda
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/Hashing.h
Log Message:
-----------
[ADT] Use a C++17 fold expression in hash_combine (NFC) (#159901)
combine() combines hash values with recursion on variadic parameters.
This patch replaces the recursion with a C++17 fold expression:
(combine_data(length, buffer_ptr, buffer_end, get_hashable_data(args)),
...);
which expands to:
combine_data(length, buffer_ptr, buffer_end, get_hashable_data(a));
combine_data(length, buffer_ptr, buffer_end, get_hashable_data(b));
combine_data(length, buffer_ptr, buffer_end, get_hashable_data(c));
:
A key benefit of this change is the unification of the recursive step
and the base case. The argument processing and finalization logic now
exist as straight-line code within a single function.
combine_data now takes buffer_ptr by reference. This is necessary
because the previous assignment pattern:
buffer_ptr = combine_data(...)
is syntactically incompatible with a fold expression. The new pattern:
(combine_data(...), ...)
discards return values, so combine_data must update buffer_ptr
directly.
For readability, this patch does the bare minimum to use a fold
expression, leaving further cleanups to subsequent patches. For
example, buffer_ptr and buffer_end could become member variables, and
several comments that mention recursion still need updating.
Commit: c1d838e6f21746a6839840a53db99f55d6370cdf
https://github.com/llvm/llvm-project/commit/c1d838e6f21746a6839840a53db99f55d6370cdf
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M libc/test/shared/shared_math_test.cpp
Log Message:
-----------
[libc] fix error: implicit conversion loses floating-point precision: 'double' to 'float' in shared_math_test.cpp (#159934)
This test fails under `-Werror=implicit-float-conversion` (like in our
pre-merge CI) because `dsqrtl` returns a double
https://github.com/llvm/llvm-project/blob/2b937daa1310f7c17a03a0a4a7abf83149e1dc71/libc/src/__support/math/dsqrtl.h#L18
Fixes https://github.com/llvm/llvm-project/issues/159932
Commit: 012680faf4c63a9bd432aa92fa0da97981793ac3
https://github.com/llvm/llvm-project/commit/012680faf4c63a9bd432aa92fa0da97981793ac3
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M clang/lib/AST/Expr.cpp
M clang/test/DebugInfo/CXX/structured-binding.cpp
M clang/unittests/AST/ASTTraverserTest.cpp
M lldb/test/API/lang/cpp/structured-binding/TestStructuredBinding.py
M lldb/test/API/lang/cpp/structured-binding/main.cpp
Log Message:
-----------
[clang][Expr] Teach IgnoreUnlessSpelledInSource about implicit calls to std::get free function (#122265)
When we generate the debug-info for a `VarDecl` we try to determine
whether it was introduced as part of a structure binding (aka a "holding
var"). If it was then we don't mark it as `artificial`.
The heuristic to determine a holding var uses
`IgnoreUnlessSpelledInSource` to unwrap the `VarDecl` initializer until
we hit a `DeclRefExpr` that refers to a `Decomposition`. For "tuple-like
decompositions", Clang will generate a call to a `template<size_t I> Foo
get(Bar)` function that retrieves the `Ith` element from the tuple-like
structure. If that function is a member function, we get an AST that
looks as follows:
```
VarDecl implicit used z1 'std::tuple_element<0, B>::type &&' cinit
`-ExprWithCleanups <col:10> 'int' xvalue
`-MaterializeTemporaryExpr <col:10> 'int' xvalue extended by Var 0x11d110cf8 'z1' 'std::tuple_element<0, B>::type &&'
`-CXXMemberCallExpr <col:10> 'int'
`-MemberExpr <col:10> '<bound member function type>' .get 0x11d104390
`-ImplicitCastExpr <col:10> 'B' xvalue <NoOp>
`-DeclRefExpr <col:10> 'B' lvalue Decomposition 0x11d1100a8 '' 'B'
```
`IgnoreUnlessSpelledInSource` happily unwraps this down to the
`DeclRefExpr`. However, when the `get` helper is a free function (which
it is for `std::pair` in libc++ for example), then the AST is:
```
VarDecl col:16 implicit used k 'std::tuple_element<0, const std::tuple<int, int>>::type &' cinit
`-CallExpr <col:16> 'const typename tuple_element<0UL, tuple<int, int>>::type':'const int' lvalue adl
|-ImplicitCastExpr <col:16> 'const typename tuple_element<0UL, tuple<int, int>>::type &(*)(const tuple<int, int> &) noexcept' <FunctionToPointerDecay>
| `-DeclRefExpr <col:16> 'const typename tuple_element<0UL, tuple<int, int>>::type &(const tuple<int, int> &) noexcept' lvalue Function 0x1210262d8 'get' 'const typename tuple_element<0UL, tuple<int, int>>::type &(const tuple<int, int> &) noexcept' (FunctionTemplate 0x11d068088 'get')
`-DeclRefExpr <col:16> 'const std::tuple<int, int>' lvalue Decomposition 0x121021518 '' 'const std::tuple<int, int> &'
```
`IgnoreUnlessSpelledInSource` doesn't unwrap this `CallExpr`, so we
incorrectly mark the binding as `artificial` in debug-info.
This patch adjusts `IgnoreUnlessSpelledInSource` so it unwraps implicit
`CallExpr`s. It's almost identical to how we treat implicit constructor
calls (unfortunately the code can't quite be re-used because a
`CXXConstructExpr` is-not a `CallExpr`, and we check `isElidable`, which
doesn't exist for regular function calls. So I added a new
`IgnoreImplicitCallSingleStep`).
Fixes https://github.com/llvm/llvm-project/issues/122028
Commit: f847c2a0facdee0b9792ddb2f8e044705ba50276
https://github.com/llvm/llvm-project/commit/f847c2a0facdee0b9792ddb2f8e044705ba50276
Author: Nico Weber <thakis at chromium.org>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/lib/Object/Archive.cpp
Log Message:
-----------
[Object] Add a missing space to a diagnostic (#159826)
Follow-up to https://reviews.llvm.org/D46527
Commit: b5299210f29da7432adaf3b48332c93b9cace3b0
https://github.com/llvm/llvm-project/commit/b5299210f29da7432adaf3b48332c93b9cace3b0
Author: Nico Weber <thakis at chromium.org>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M lld/COFF/Driver.cpp
Log Message:
-----------
[lld-link] Do not assert when reporting error about non-thin archive (#159828)
Follow-up to https://reviews.llvm.org/D57974, which added calls to
Archive::Child::getFullName() to produce strings in errors.
But getFullName() is only valid on thin archives, and should only be
used to open the file the archive points to. For diagnostics, getName()
is better: It works for both thin and non-thin files, and it doesn't
make a very long string for thin files. And we already prepend the name
of the parent archive file anyways.
Commit: 8693ef16f6f828275c6f9b65b855504019bea27a
https://github.com/llvm/llvm-project/commit/8693ef16f6f828275c6f9b65b855504019bea27a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info-apply-to-adds.ll
M llvm/test/Transforms/IndVarSimplify/canonicalize-cmp.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-guards.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
Log Message:
-----------
[SCEV] Add tests that benefit from rewriting SCEVAddExpr with guards.
Add additional tests benefiting from rewriting existing SCEVAddExprs with
guards.
Commit: efd96afedf2c0f6f2cc34cf5a9a7e3e78f592255
https://github.com/llvm/llvm-project/commit/efd96afedf2c0f6f2cc34cf5a9a7e3e78f592255
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M .ci/all_requirements.txt
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/examples/standalone/CMakeLists.txt
M mlir/examples/standalone/python/CMakeLists.txt
M mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
A mlir/examples/standalone/python/mlir_standalone/_mlir_libs/_standaloneDialectsNanobind/py.typed
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/lib/Bindings/Python/DialectPDL.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/Bindings/Python/MainModule.cpp
M mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/_mlir_libs/__init__.py
R mlir/python/mlir/_mlir_libs/_mlir/__init__.pyi
R mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
R mlir/python/mlir/_mlir_libs/_mlir/passmanager.pyi
A mlir/python/mlir/_mlir_libs/_mlir/py.typed
M mlir/python/requirements.txt
M mlir/test/Examples/standalone/test.toy
M mlir/test/python/lib/PythonTestModuleNanobind.cpp
Log Message:
-----------
[MLIR][Python] reland (narrower) type stub generation (#157930)
This a reland of https://github.com/llvm/llvm-project/pull/155741 which
was reverted at https://github.com/llvm/llvm-project/pull/157831. This
version is narrower in scope - it only turns on automatic stub
generation for `MLIRPythonExtension.Core._mlir` and **does not do
anything automatically**. Specifically, the only CMake code added to
`AddMLIRPython.cmake` is the `mlir_generate_type_stubs` function which
is then used only in a manual way. The API for
`mlir_generate_type_stubs` is:
```
Arguments:
MODULE_NAME: The fully-qualified name of the extension module (used for importing in python).
DEPENDS_TARGETS: List of targets these type stubs depend on being built; usually corresponding to the
specific extension module (e.g., something like StandalonePythonModules.extension._standaloneDialectsNanobind.dso)
and the core bindings extension module (e.g., something like StandalonePythonModules.extension._mlir.dso).
OUTPUT_DIR: The root output directory to emit the type stubs into.
OUTPUTS: List of expected outputs.
DEPENDS_TARGET_SRC_DEPS: List of cpp sources for extension library (for generating a DEPFILE).
IMPORT_PATHS: List of paths to add to PYTHONPATH for stubgen.
PATTERN_FILE: (Optional) Pattern file (see https://nanobind.readthedocs.io/en/latest/typing.html#pattern-files).
Outputs:
NB_STUBGEN_CUSTOM_TARGET: The target corresponding to generation which other targets can depend on.
```
Downstream users should use `mlir_generate_type_stubs` in coordination
with `declare_mlir_python_sources` to turn on stub generation for their
own downstream dialect extensions and upstream dialect extensions if
they so choose. Standalone example shows an example.
Note, downstream will also need to set
`-DMLIR_PYTHON_PACKAGE_PREFIX=...` correctly for their bindings.
Commit: 5c21b1b6dcc808795d1596ea2e29f94314488026
https://github.com/llvm/llvm-project/commit/5c21b1b6dcc808795d1596ea2e29f94314488026
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp
Log Message:
-----------
[clang-tidy] Support find for string-like classes in readability-container-contains (#157243)
Fix #109327. Small parts taken from #110351.
Removed the type checking between `contains` and `count`/`find`
arguments for simplicity. Because of overloads, this type-checking is
tricky. The same strategy is used in `modernize-use-starts-ends-with`.
Co-authored-by: dl8sd11 <gcchen at google.com>
Commit: 70529dfbfe0be9ddac2cecc8c1de5ce63d39a1c6
https://github.com/llvm/llvm-project/commit/70529dfbfe0be9ddac2cecc8c1de5ce63d39a1c6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
Log Message:
-----------
[LV] Regenerate check lines without dce/instcombine.
Remove dce,instcombine from run lines from test to make it easier to
check the output generated by LV.
Commit: c506c28ec0cd600ca2785b9d8f41d8e94921ce6b
https://github.com/llvm/llvm-project/commit/c506c28ec0cd600ca2785b9d8f41d8e94921ce6b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
Log Message:
-----------
[LV] Add additional tests for scalar load costs of addresses.
Commit: 2ed7b9f29b1e0e0a14e3d427610ab43cb65e6f6d
https://github.com/llvm/llvm-project/commit/2ed7b9f29b1e0e0a14e3d427610ab43cb65e6f6d
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M .github/workflows/issue-write.yml
A .github/workflows/pr-code-lint.yml
A llvm/utils/git/code-lint-helper.py
A llvm/utils/git/requirements_linting.txt
A llvm/utils/git/requirements_linting.txt.in
Log Message:
-----------
[GitHub][CI] Add clang-tidy premerge workflow (#154829)
**KEY POINTS**
- MVP workflow to automatically lint C++ files, located **only** in
`clang-tools-extra/clang-tidy`. It's chosen this way as
`clang-tools-extra/clang-tidy` is almost 100% `clang-tidy` complaint,
thus we would automatically enforce a [high quality standard for
clang-tidy source
code](https://discourse.llvm.org/t/rfc-create-hardened-clang-tidy-config-for-clang-tidy-directory/87247).
(https://github.com/llvm/llvm-project/pull/147793)
- Implementation is very similar to code-format job, but without the
ability to run `code-lint-helper.py` locally.
**FOUND ISSUES** + open questions
- Speed: it takes ~ 1m40sec to download and unpack `clang-tidy` plus
additional ~4 mins to configure and CodeGen targets. I see that
`premerge.yaml` runs on special `llvm-premerge-linux-runners` runners
which can use `sccache` for speed. Can we use the same runners for this
job? Exact timings can be found
[here](https://github.com/llvm/llvm-project/actions/runs/17135749067/job/48611150680?pr=154223).
**TO DO**
- Place common components from `code-lint-helper.py` and
`code-format-helper.py` into a separate file and reuse it in both CI's.
- Compute CodeGen targets based on `projects_to_build`, for now
`clang-tablegen-targets` is hardcoded for `clang-tools-extra/`.
- Automatically generate and upload `.yaml` for
`clang-apply-replacements`
- Create an RFC with a plan how to enable `clang-tidy` in other projects
so that Maintainers of LLVM components could choose if they want
`clang-tidy` or not.
- Add more linters like `pylint`, `ruff` in the future.
Commit: 678dcf13d8fa9c1e5086864ff998e068cbb3160c
https://github.com/llvm/llvm-project/commit/678dcf13d8fa9c1e5086864ff998e068cbb3160c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/include/llvm/Analysis/MemoryLocation.h
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/utils/TableGen/Common/DAGISelMatcher.h
Log Message:
-----------
[IR] Fix a few implicit conversions from TypeSize to uint64_t. NFC (#159894)
Commit: d263150db59281473a38abcc5fe2c15be2f776b7
https://github.com/llvm/llvm-project/commit/d263150db59281473a38abcc5fe2c15be2f776b7
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M clang-tools-extra/clang-tidy/llvm/UseRangesCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] add comment in llvm-use-ranges for add_new_check.py (#159927)
`add_new_check.py` deps on heuristic method (find special words) to
detect whether check support auto fix.
This PR wants to add comment in `llvm-use-ranges` to make it work.
Commit: a36a1ec0546c59917c7b40a8733b1d3f8b5df8f3
https://github.com/llvm/llvm-project/commit/a36a1ec0546c59917c7b40a8733b1d3f8b5df8f3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/Hashing.h
Log Message:
-----------
[ADT] Simplify hash_combine (NFC) (#159938)
We just started using a C++17 fold expression inside combine
(#159901). We still carry the style that was suitable for recursive
calls of combine_data. Specifically, we keep passing several state
variables as parameters of combine_data.
Now that we no longer use recursion, this patch simplifies
hash_combine_recursive_helper by making buffer_ptr, buffer_end, and
length member variables while dropping the return value from
hash_combine. This patch also names hash_combine_recursive_helper to
hash_combine_helper.
I will follow up to update comments that still mention "recursion".
Commit: b5c658861426e01828b9f92ed767eaa1c83cb812
https://github.com/llvm/llvm-project/commit/b5c658861426e01828b9f92ed767eaa1c83cb812
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/fallible_iterator.h
Log Message:
-----------
[ADT] Simplify enable_if_struct_deref_supported (NFC) (#159939)
This patch simplifies enable_if_struct_deref_supported by using a
default template parameter as a temporary type alias. This way, we do
not have to repeat decltype(...).
Commit: 1cb8afb2587d2fddf8120f98b7646a681da18cff
https://github.com/llvm/llvm-project/commit/1cb8afb2587d2fddf8120f98b7646a681da18cff
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/include/llvm/Testing/ADT/StringMapEntry.h
Log Message:
-----------
[Testing] Use is_detected for StringMapEntry ostream check (NFC) (#159954)
This patch replaces a std::void_t-based detection of the streaming
(<<) operator with a llvm::is_detected-based detection. This way, we
don't have to roll our own SFINAE logic and fallback mechanism.
Commit: a997e91a2c315c0d6d2956a7a375eda1d3d08131
https://github.com/llvm/llvm-project/commit/a997e91a2c315c0d6d2956a7a375eda1d3d08131
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/docs/DeveloperPolicy.rst
Log Message:
-----------
[llvm] Proofread DeveloperPolicy.rst (#159955)
Commit: e8e0108a873c1efd7f614251f22de67b16a05c8c
https://github.com/llvm/llvm-project/commit/e8e0108a873c1efd7f614251f22de67b16a05c8c
Author: yonghong-song <yhs at fb.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h
Log Message:
-----------
[BPF] Avoid generating .comment section (#159958)
The kernel libbpf does not need .comment section. If not filtering out
in llvm, the section will be filtered out in libbpf. So let us filter it
out as early as possible which is in llvm.
The following is an example.
$ cat t.c
int test() { return 5; }
Without this change:
$ llvm-readelf -S t.o
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .strtab STRTAB 0000000000000000 000110 000047 00 0 0 1
[ 2] .text PROGBITS 0000000000000000 000040 000010 00 AX 0 0 8
[ 3] .comment PROGBITS 0000000000000000 000050 000072 01 MS 0 0 1
[ 4] .note.GNU-stack PROGBITS 0000000000000000 0000c2 000000 00 0 0 1
[ 5] .llvm_addrsig LLVM_ADDRSIG 0000000000000000 000110 000000 00 E 6 0 1
[ 6] .symtab SYMTAB 0000000000000000 0000c8 000048 18 1 2 8
With this change:
$ llvm-readelf -S t.o
[Nr] Name Type Address Off Size ES Flg Lk Inf Al
[ 0] NULL 0000000000000000 000000 000000 00 0 0 0
[ 1] .strtab STRTAB 0000000000000000 000098 00003e 00 0 0 1
[ 2] .text PROGBITS 0000000000000000 000040 000010 00 AX 0 0 8
[ 3] .note.GNU-stack PROGBITS 0000000000000000 000050 000000 00 0 0 1
[ 4] .llvm_addrsig LLVM_ADDRSIG 0000000000000000 000098 000000 00 E 5 0 1
[ 5] .symtab SYMTAB 0000000000000000 000050 000048 18 1 2 8
Commit: 7d748a9ceb3716a216a8b586b1d31e046bdee039
https://github.com/llvm/llvm-project/commit/7d748a9ceb3716a216a8b586b1d31e046bdee039
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
Log Message:
-----------
[InstCombine][nfc] Fix assert failure with function entry count equal to zero
We were hitting an assert discovered in https://github.com/llvm/llvm-project/pull/157768#issuecomment-3315359832
Commit: 22e17a6383ebdc7f2b4563f2716ded478a2dc1f5
https://github.com/llvm/llvm-project/commit/22e17a6383ebdc7f2b4563f2716ded478a2dc1f5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M .github/workflows/pr-code-lint.yml
Log Message:
-----------
[Github] Test pr-code-lint workflow on changes to workflow (#159968)
This patch ensures that the pr-code-lint workflow is run for testing
whenever the workflow file is changed. This will not catch actual
functionality issues on most changes but does ensure that the workflow
is not completely broken.
Commit: 906f934b46f675d25ca0b076fc7b7b8066f85f31
https://github.com/llvm/llvm-project/commit/906f934b46f675d25ca0b076fc7b7b8066f85f31
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-20 (Sat, 20 Sep 2025)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Add three new tests to XFail List (#159969)
We have not gotten to LoopVectorize or SROA yet. The phase ordering pass
issue is probably the result of another pass that we have not gotten to
yet.
Commit: 54662112676976b57fdb67a806d4d471be0d4aa9
https://github.com/llvm/llvm-project/commit/54662112676976b57fdb67a806d4d471be0d4aa9
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/Hashing.h
Log Message:
-----------
Revert "[ADT] Use a C++17 fold expression in hash_combine (NFC) (#159901)"
This has a negative impact on compile times.
This reverts commit a36a1ec0546c59917c7b40a8733b1d3f8b5df8f3.
This reverts commit b3c7d25422355949227a12ded7515f5114db5bda.
Commit: 7dd9b3d81450b29bf2cddb8270081f61080bddc0
https://github.com/llvm/llvm-project/commit/7dd9b3d81450b29bf2cddb8270081f61080bddc0
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
Log Message:
-----------
[LV] Also handle non-uniform scalarized loads when processing AddrDefs.
Loads of addresses are scalarized and have their costs computed w/o
scalarization overhead. Consistently apply this logic also to
non-uniform loads that are already scalarized, to ensure their costs are
consistent with other scalarized lodas that are used as addresses.
Commit: 4cabd1efb9cb13aba5b25e0714b9d8a72378633f
https://github.com/llvm/llvm-project/commit/4cabd1efb9cb13aba5b25e0714b9d8a72378633f
Author: Aleksandr Platonov <platonov.aleksandr at huawei.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M clang-tools-extra/clangd/FeatureModule.cpp
M clang-tools-extra/clangd/FeatureModule.h
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
A clang-tools-extra/clangd/unittests/FeatureModulesRegistryTests.cpp
Log Message:
-----------
Reland "[clangd] Add feature modules registry" (#154836)
Reland #153756
LLVM_INSTANTIATE_REGISTRY(..) and FeatureModuleRegistry::entries() were
in different translation units, that rises a warning when compiling with
clang and leads to compilation failure if -Werror flag is set.
Instead of iterating directly in the main function, a static method
FeatureModuleSet::fromRegistry() was added and it is called in the main
function.
Commit: 26192f04cf873758532c39bfa936139a78311f52
https://github.com/llvm/llvm-project/commit/26192f04cf873758532c39bfa936139a78311f52
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
Log Message:
-----------
[gn build] Port 4cabd1efb9cb
Commit: a46edff2066af49c4d11687a3f9325c59c313544
https://github.com/llvm/llvm-project/commit/a46edff2066af49c4d11687a3f9325c59c313544
Author: Pragyansh Chaturvedi <76248539+r41k0u at users.noreply.github.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-abs.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-abs.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.abs.ll
Log Message:
-----------
[GlobalISel] Add G_ABS computeKnownBits (#154413)
The code is taken from `SelectionDAG::computeKnownBits`.
This ticks off ABS from #150515
Commit: b716d353885c9a12bc14a3d42a5018a9833fb03c
https://github.com/llvm/llvm-project/commit/b716d353885c9a12bc14a3d42a5018a9833fb03c
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlanPatternMatch] Introduce m_ConstantInt (#159558)
Commit: 90a6b0002d1ba7d6cbfe67942bf7499f1f011d65
https://github.com/llvm/llvm-project/commit/90a6b0002d1ba7d6cbfe67942bf7499f1f011d65
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaTemplate/destructor-template.cpp
Log Message:
-----------
[Clang] Fix an error-recovery crash after d1a80dea (#159976)
d1a80dea tried to ensure a TypeSourceInfo for a destructor name.
However, we don't actually have one during error recovery, so we should
bail in that case.
No release note, since it's a regression and a backport could improve
the stability of clangd.
Fixes https://github.com/llvm/llvm-project/issues/159630
Commit: addfdb5273170901ed4fec5dac421e0559466ffb
https://github.com/llvm/llvm-project/commit/addfdb5273170901ed4fec5dac421e0559466ffb
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
Log Message:
-----------
[LV] Skip select cost for invariant divisors in legacy cost model.
For UDiv/SDiv with invariant divisors, the created selects will be
hoisted out. Don't compute their cost for each iteration, to match the
more accurate VPlan-based cost modeling.
Fixes https://github.com/llvm/llvm-project/issues/159402.
Commit: 69affe790e50eb3b8637b123f105000995bf39a8
https://github.com/llvm/llvm-project/commit/69affe790e50eb3b8637b123f105000995bf39a8
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
Log Message:
-----------
[llvm][Analysis] Silence warning when building with MSVC
When building an assert-enabled target, silence the following:
```
C:\git\llvm-project\llvm\include\llvm/Analysis/DependenceAnalysis.h(290): warning C4018: '<=': signed/unsigned mismatch
```
Commit: 105fc90b6b96e0edb7529062fcba513a3a347820
https://github.com/llvm/llvm-project/commit/105fc90b6b96e0edb7529062fcba513a3a347820
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M lld/MachO/Driver.cpp
Log Message:
-----------
[LLD][MachO] Silence warning when building with MSVC
Silence the following warning with latest MSVC:
```
C:\git\llvm-project\lld\MachO\Driver.cpp(358): warning C4189: 't': local variable is initialized but not referenced
```
Commit: 6f188056b3acf6a98d321f514e3d802e483a1990
https://github.com/llvm/llvm-project/commit/6f188056b3acf6a98d321f514e3d802e483a1990
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/test/CodeGen/ARM/ha-alignstack-call.ll
Log Message:
-----------
[ARM] ha-alignstack-call.ll - regenerate test checks (#159988)
Commit: 398f6c271d4b408f7e783c29d5bfcd5413eae76d
https://github.com/llvm/llvm-project/commit/398f6c271d4b408f7e783c29d5bfcd5413eae76d
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
A clang/test/AST/ast-dump-templates-pattern.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/attr-lifetime-capture-by.cpp
M clang/test/ASTSYCL/ast-dump-sycl-kernel-call-stmt.cpp
M clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
[clang] ast-dump: use template pattern for `instantiated_from` (#159952)
This changes the instiantiated_from field to use
`getTemplateInstantiationPattern`, which makes this field work for all
template specialization kinds, not just member templates.
Also adds this field to variables, and adds equivalents for the JSON
dumper as well.
Commit: 49605a472792745f30940bd7ebd87db111350f20
https://github.com/llvm/llvm-project/commit/49605a472792745f30940bd7ebd87db111350f20
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
Log Message:
-----------
[LV] Set correct costs for interleave group members.
This ensures each scalarized member has an accurate cost, matching the
cost it would have if it would not have been considered for an
interleave group.
Commit: 8b52d62d426d31169cad2e78b2463a775a97a8b0
https://github.com/llvm/llvm-project/commit/8b52d62d426d31169cad2e78b2463a775a97a8b0
Author: Matthias Springer <me at m-sp.org>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/Func/Transforms/FuncConversions.h
M mlir/lib/Dialect/Func/Transforms/FuncConversions.cpp
Log Message:
-----------
[mlir] Expose optional `PatternBenefit` to `func` populate functions (NFC) (#159986)
Pattern benefit allows users to give priority to a pattern.
Commit: f65d5a7a56c31aaa982d3d4717481d739f2f9ecb
https://github.com/llvm/llvm-project/commit/f65d5a7a56c31aaa982d3d4717481d739f2f9ecb
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/combine-storetomstore.ll
Log Message:
-----------
[DAG] Skip `mstore` combine for `<1 x ty>` vectors (#159915)
Fixes #159912
Commit: 290f5b5639717d12765401c2f51311d47c894990
https://github.com/llvm/llvm-project/commit/290f5b5639717d12765401c2f51311d47c894990
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/test/SemaCXX/cxx20-using-enum.cpp
Log Message:
-----------
[clang] fix using enum redecl in template regression (#159996)
This fixes a regression reported here:
https://github.com/llvm/llvm-project/pull/155313#issuecomment-3315883183
Since this regression was never released, there are no release notes.
Commit: e764e190ee0197bc1e03e3f20dc20b6cca81b3dc
https://github.com/llvm/llvm-project/commit/e764e190ee0197bc1e03e3f20dc20b6cca81b3dc
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-code-lint.yml
Log Message:
-----------
[Github] Remove separate tools checkout from pr-code workflows (#159967)
These separate checkouts I believe were originally carried over from
when we were using pull_request_target. We needed two checkouts to
ensure we were not executing user supplied code. We kept them to ensure
we were using the latest version of the tools, but this was born mostly
out of a misunderstanding of how Github Actions works. All PRs directly
against main are executed as if merged into main, so already are using
the latest version of the tools no matter the branch point. Stacked PRs
still need to be rebased for changes to propagate but these files have
been pretty stable for the past two years or so and I can't imagine any
changes needed to keep things running on release/stacked PR branches.
Commit: 370e00774048aa6e30819886735754724ee816e0
https://github.com/llvm/llvm-project/commit/370e00774048aa6e30819886735754724ee816e0
Author: Florian Mayer <fmayer at google.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/test/Transforms/IndVarSimplify/X86/overflow-intrinsics.ll
Log Message:
-----------
[NFC] [IndVarSimplify] Add non-overflowing usub test (#159683)
We would reenter the loop with %i.04 being 0, so the usub would
overflow to -1. This was the only test in this file that had
an overflow in the loop, the other ones did not.
Commit: c12f08f645f31305f6a288befd7d379b963ab874
https://github.com/llvm/llvm-project/commit/c12f08f645f31305f6a288befd7d379b963ab874
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/Linux/coverage-missing.cpp
M compiler-rt/test/asan/TestCases/Linux/local_alias.cpp
M compiler-rt/test/asan/TestCases/Linux/odr-violation.cpp
M compiler-rt/test/asan/TestCases/Linux/odr-vtable.cpp
M compiler-rt/test/asan/TestCases/Linux/odr_c_test.c
M compiler-rt/test/asan/TestCases/Linux/preinit_test.cpp
M compiler-rt/test/asan/TestCases/Posix/coverage-module-unloaded.cpp
M compiler-rt/test/asan/TestCases/Posix/coverage-reset.cpp
M compiler-rt/test/asan/TestCases/Posix/coverage.cpp
M compiler-rt/test/asan/TestCases/Posix/interception-in-shared-lib-test.cpp
M compiler-rt/test/asan/TestCases/suppressions-library.cpp
M compiler-rt/test/cfi/cross-dso-diagnostic.cpp
M compiler-rt/test/cfi/cross-dso/icall/diag.cpp
M compiler-rt/test/cfi/cross-dso/icall/icall-from-dso.cpp
M compiler-rt/test/cfi/cross-dso/icall/icall.cpp
M compiler-rt/test/cfi/cross-dso/simple-fail.cpp
M compiler-rt/test/cfi/cross-dso/simple-pass.cpp
M compiler-rt/test/cfi/target_uninstrumented.cpp
M compiler-rt/test/fuzzer/coverage.test
M compiler-rt/test/fuzzer/dso.test
M compiler-rt/test/fuzzer/full-coverage.test
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/tsan/on_initialize_finalize_hooks.cpp
M compiler-rt/test/ubsan/TestCases/Misc/no-interception.cpp
M compiler-rt/test/ubsan/TestCases/TypeCheck/Function/function.cpp
M compiler-rt/test/ubsan/TestCases/TypeCheck/vptr-non-unique-typeinfo.cpp
Log Message:
-----------
Reapply "[compiler-rt] Remove %T from shared object substitutions (#155302)"
This reverts commit 05e31438ac9491cfc72c48664480796de874c860.
There was quite a bit of churn with this patch, everytime related to the executable
no longer being in the same directory as the shared objects. This reland ensures
that all of the executables in the tests touched are in the same directory as the
shared objects in the substitutions.
Commit: d8b84be1078861dd463bae964c6443fbb613f6c8
https://github.com/llvm/llvm-project/commit/d8b84be1078861dd463bae964c6443fbb613f6c8
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M mlir/include/mlir/Dialect/Transform/CMakeLists.txt
A mlir/include/mlir/Dialect/Transform/SMTExtension/CMakeLists.txt
A mlir/include/mlir/Dialect/Transform/SMTExtension/SMTExtension.h
A mlir/include/mlir/Dialect/Transform/SMTExtension/SMTExtensionOps.h
A mlir/include/mlir/Dialect/Transform/SMTExtension/SMTExtensionOps.td
M mlir/lib/Bindings/Python/DialectSMT.cpp
M mlir/lib/Dialect/Transform/CMakeLists.txt
A mlir/lib/Dialect/Transform/SMTExtension/CMakeLists.txt
A mlir/lib/Dialect/Transform/SMTExtension/SMTExtension.cpp
A mlir/lib/Dialect/Transform/SMTExtension/SMTExtensionOps.cpp
M mlir/lib/RegisterAllExtensions.cpp
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/TransformSMTExtensionOps.td
M mlir/python/mlir/dialects/smt.py
A mlir/python/mlir/dialects/transform/smt.py
A mlir/test/Dialect/Transform/test-smt-extension-invalid.mlir
A mlir/test/Dialect/Transform/test-smt-extension.mlir
A mlir/test/python/dialects/transform_smt_ext.py
Log Message:
-----------
[MLIR][Transform][SMT] Introduce transform.smt.constrain_params (#159450)
Introduces a Transform-dialect SMT-extension so that we can have an op
to express constrains on Transform-dialect params, in particular when
these params are knobs -- see transform.tune.knob -- and can hence be
seen as symbolic variables. This op allows expressing joint constraints
over multiple params/knobs together.
While the op's semantics are clearly defined, per SMTLIB, the interpreted
semantics -- i.e. the `apply()` method -- for now just defaults to failure. In
the future we should support attaching an implementation so that users
can Bring Your Own Solver and thereby control performance of
interpreting the op. For now the main usage is to walk schedule IR and
collect these constraints so that knobs can be rewritten to constants that
satisfy the constraints.
Commit: 87a4e1ce3c0cfbc726a070717d0d5901289ee073
https://github.com/llvm/llvm-project/commit/87a4e1ce3c0cfbc726a070717d0d5901289ee073
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/docs/CMake.rst
M llvm/docs/CodingStandards.rst
Log Message:
-----------
Document Policy on supporting newer C++ standard in LLVM codebase (#156823)
See RFC:
https://discourse.llvm.org/t/policy-on-supporting-newer-c-standard-in-llvm-codebase/88114
Commit: 81f83a85db27600ef571299fc9dc88063dba4a6f
https://github.com/llvm/llvm-project/commit/81f83a85db27600ef571299fc9dc88063dba4a6f
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV][NFC] Parsed Immediates are Expressions (#159888)
I find it very confusing that we have two different kinds of
"immediates":
- MCOperands in the backend that are `isImm()` which can only be numbers
- RISCVOperands in the parser that are `isImm()` which can contain
expressions
This change aims to make it clearer that in the AsmParser, we are
dealing with expressions, rather than just numbers.
Unfortunately, `isImm` comes from the `MCParsedAsmOperand`, which is
needed for Microsoft Inline Asm, so we cannot fully get rid of it.
Commit: 096c62cf21adcfae73dfcb5a39ab2f10c14b595a
https://github.com/llvm/llvm-project/commit/096c62cf21adcfae73dfcb5a39ab2f10c14b595a
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/ThrowingStaticInitializationCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/ThrowingStaticInitializationCheck.h
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cert/CMakeLists.txt
R clang-tools-extra/clang-tidy/cert/StaticObjectExceptionCheck.cpp
R clang-tools-extra/clang-tidy/cert/StaticObjectExceptionCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/throwing-static-initialization.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/err58-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/throwing-static-initialization.cpp
R clang-tools-extra/test/clang-tidy/checkers/cert/static-object-exception.cpp
Log Message:
-----------
[clang-tidy] Rename 'cert-err58-cpp' to 'bugprone-throwing-static-initialization' (#158151)
Closes https://github.com/llvm/llvm-project/issues/157298.
Commit: 2bcccdddc8cb98fd7d126be85273f66d436428d9
https://github.com/llvm/llvm-project/commit/2bcccdddc8cb98fd7d126be85273f66d436428d9
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cert/CMakeLists.txt
R clang-tools-extra/clang-tidy/cert/VariadicFunctionDefCheck.cpp
R clang-tools-extra/clang-tidy/cert/VariadicFunctionDefCheck.h
A clang-tools-extra/clang-tidy/modernize/AvoidVariadicFunctionsCheck.cpp
A clang-tools-extra/clang-tidy/modernize/AvoidVariadicFunctionsCheck.h
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/dcl50-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-variadic-functions.rst
R clang-tools-extra/test/clang-tidy/checkers/cert/variadic-function-def.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-variadic-functions.cpp
Log Message:
-----------
[clang-tidy] Rename 'cert-dcl50-cpp' to 'modernize-avoid-variadic-functions' (#157737)
Chose `modernize` section because we already have
`modernize-avoid-bind`, `modernize-avoid-c-arrays` and this check sound
modernize-ish (but next place it could go is `misc` I guess).
Closes https://github.com/llvm/llvm-project/issues/157301.
Commit: 4916bd717df2c7ff5fb43ae8079cc5216d5fd7ce
https://github.com/llvm/llvm-project/commit/4916bd717df2c7ff5fb43ae8079cc5216d5fd7ce
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cert/BUILD.gn
Log Message:
-----------
[gn build] Port 096c62cf21ad
Commit: 6ac2db2b9ff8e40e01dc6845b4f9e0ea30c0aad4
https://github.com/llvm/llvm-project/commit/6ac2db2b9ff8e40e01dc6845b4f9e0ea30c0aad4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cert/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
Log Message:
-----------
[gn build] Port 2bcccdddc8cb
Commit: 722b25114ac5356a57dc5901f3c457854c30f9e7
https://github.com/llvm/llvm-project/commit/722b25114ac5356a57dc5901f3c457854c30f9e7
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/utils/git/code-lint-helper.py
Log Message:
-----------
[Github][CI] fix invalid path in clang-tidy helper (#160014)
This path was left untouched after refactoring made in
https://github.com/llvm/llvm-project/pull/159967 which broke clang-tidy
runner.
Commit: cafc064fc7a96b3979a023ddae1da2b499d6c954
https://github.com/llvm/llvm-project/commit/cafc064fc7a96b3979a023ddae1da2b499d6c954
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M clang/lib/AST/Expr.cpp
M clang/test/SemaCXX/delete-and-function-templates.cpp
Log Message:
-----------
[clang] NFC: small formatting and stray whitespace cleanup
Formats `Expr::HasSideEffects` because incorrect identation of block end token
makes clang-format go haywire in patch mode.
Also removes stray whitespace from a test file.
Commit: 591e60b0a458d63abf8da8c794eac1678b55e172
https://github.com/llvm/llvm-project/commit/591e60b0a458d63abf8da8c794eac1678b55e172
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/FunctionExtras.h
Log Message:
-----------
[ADT] Use "inline static" to initialize CallbacksHolder (NFC) (#160003)
In C++17, we can initialize a static member variable with
"inline static" as part of the class definition. With this, we can
eliminate the out-of-line static initializers that are a bit hard to
decipher.
Commit: 7bf39a5585342b152888104205a11f3c0235b7a9
https://github.com/llvm/llvm-project/commit/7bf39a5585342b152888104205a11f3c0235b7a9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/include/llvm/ADT/SmallVector.h
Log Message:
-----------
[ADT] Refactor SmallVector::assertSafeToAddRange with "constexpr if" (#160004)
This patch consolidates two implementations of assertSafeToAddRange
into a single template function.
The new implementation uses "constexpr if" to check for pointer
iterators, preserving the original behavior while simplifying the
code.
Commit: 3e6ee89507878926e9746d0b2ca5db9c4ce3c061
https://github.com/llvm/llvm-project/commit/3e6ee89507878926e9746d0b2ca5db9c4ce3c061
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
Log Message:
-----------
[AMDGPU] Simplify template metaprogramming in IsMCExpr##member (NFC) (#160005)
Without this patch, we compute a type trait in a roundabout manner:
- Compute a boolean value in the primary template.
- Pass the value to std::enable_if_t.
- Return std::true_type (or std::false_type on the fallback path).
- Compare the return type to std::true_type.
That is, when the expression for the first boolean value above is well
formed, we already have the answer we are looking for.
This patch bypasses the entire sequence by having the primary template
return std::bool_constant and adjusting RESULT to extract the ::value
of the boolean type.
Commit: c25d7a878729dfb0c8446da8cc6368d00c3585f7
https://github.com/llvm/llvm-project/commit/c25d7a878729dfb0c8446da8cc6368d00c3585f7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/docs/FAQ.rst
Log Message:
-----------
[llvm] Proofread FAQ.rst (#160006)
Commit: 84a796d7dd09a4a6d64a30d47405cf60e59534c1
https://github.com/llvm/llvm-project/commit/84a796d7dd09a4a6d64a30d47405cf60e59534c1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
Log Message:
-----------
[ExecutionEngine] Use std::tie for a lexicographical comparison (NFC) (#160007)
Commit: 4efbbe1d35fe2666225b2989ea80d3af4d827f84
https://github.com/llvm/llvm-project/commit/4efbbe1d35fe2666225b2989ea80d3af4d827f84
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M clang/test/Driver/env.c
Log Message:
-----------
[Clang] Make env.c test use proper file substitutions
I left accesses to /tmp in the patch from my debugging and never
switched them over to proper lit substitutions to ensure that everything
is isolated.
Commit: 092bc04acebe9fb763bf5ab5bc6d5cecc2d20353
https://github.com/llvm/llvm-project/commit/092bc04acebe9fb763bf5ab5bc6d5cecc2d20353
Author: Brad Smith <brad at comstyle.com>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Hurd.cpp
M clang/lib/Driver/ToolChains/Hurd.h
M clang/test/Driver/aarch64-features.c
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[Driver][Hurd] Add AArch64 and RISCV64 support (#157212)
Commit: 03cf9ba7e051c8212d931d3125bf46e0d6ca92f4
https://github.com/llvm/llvm-project/commit/03cf9ba7e051c8212d931d3125bf46e0d6ca92f4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
M llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
M llvm/lib/CodeGen/ExecutionDomainFix.cpp
Log Message:
-----------
[CodeGen] Use MCRegister::id() to avoid implicit conversions to unsigned. NFC (#159965)
Commit: e396dab01f3da49df16c710d105a409973df5a03
https://github.com/llvm/llvm-project/commit/e396dab01f3da49df16c710d105a409973df5a03
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
Log Message:
-----------
[RISCV] Use SignExtend64<32> instead of ORing in 32 1s into upper bits in RISCVMatInt. NFC (#159864)
I think this better reflects the intent of modification. In all these
places we know bit 31 is 1 so we are sign extending.
Commit: 383bd691285114563ebf396e765ba4dee8037379
https://github.com/llvm/llvm-project/commit/383bd691285114563ebf396e765ba4dee8037379
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M clang/test/AST/ByteCode/const-eval.c
Log Message:
-----------
[clang][bytecode][test] Enable a few tests in const-eval.c (#160034)
They didn't use to work but do now.
Commit: cc6b81c0c0ff4692e12f08ed6ed7a39cfe813488
https://github.com/llvm/llvm-project/commit/cc6b81c0c0ff4692e12f08ed6ed7a39cfe813488
Author: Hans Wennborg <hans at hanshq.net>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/test/Transforms/Coroutines/coro-byval-param.ll
Log Message:
-----------
[Coroutines] Take byval param alignment into account when spilling to frame (#159765)
Fixes #159571
Commit: 1d3bd5797d2949705571ce2f3f118ab9f0e3cb6e
https://github.com/llvm/llvm-project/commit/1d3bd5797d2949705571ce2f3f118ab9f0e3cb6e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-qualified-auto in VectorLegalization.cpp (NFC)
Commit: 8245fb687a9c7acfd44b9451fc984faaea3b7af6
https://github.com/llvm/llvm-project/commit/8245fb687a9c7acfd44b9451fc984faaea3b7af6
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-qualified-auto in GreedyPatternRewriteDriver.cpp (NFC)
Commit: 322b9902679e86466893ed0462b810616ee93edf
https://github.com/llvm/llvm-project/commit/322b9902679e86466893ed0462b810616ee93edf
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-09-21 (Sun, 21 Sep 2025)
Changed paths:
M mlir/lib/Transforms/CompositePass.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-qualified-auto in CompositePass.cpp (NFC)
Commit: 583256d165cb8dd9efe144866b245a2e5b7d5125
https://github.com/llvm/llvm-project/commit/583256d165cb8dd9efe144866b245a2e5b7d5125
Author: owenca <owenpiano at gmail.com>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Add AllowBreakBeforeQtProperty option (#159909)
The test cases are adapted from #131605.
Commit: 8323ff0c59739e4735fd896fad4be05e54432815
https://github.com/llvm/llvm-project/commit/8323ff0c59739e4735fd896fad4be05e54432815
Author: Brad Smith <brad at comstyle.com>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/test/CodeGen/X86/stack-align2.ll
Log Message:
-----------
Default stack alignment of X86 Hurd to 16 bytes (#158454)
https://sourceware.org/bugzilla/show_bug.cgi?id=21120
Commit: 7d1952a330dc653e914cfe6e2928d218fc12f361
https://github.com/llvm/llvm-project/commit/7d1952a330dc653e914cfe6e2928d218fc12f361
Author: hev <wangrui at loongson.cn>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
A llvm/test/CodeGen/LoongArch/lasx/issue159529.ll
A llvm/test/CodeGen/LoongArch/lsx/issue159529.ll
Log Message:
-----------
[LoongArch] Fix assertion failure when vec-args are not fully passed in vec-regs (#159568)
Fixes #159529
Commit: 7d1adab5a6f745f038bc774b8f2c381ae32845e0
https://github.com/llvm/llvm-project/commit/7d1adab5a6f745f038bc774b8f2c381ae32845e0
Author: Wenju He <wenju.he at intel.com>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
R libclc/check_external_calls.sh
A libclc/check_external_funcs.sh
M libclc/clc/lib/generic/misc/clc_shuffle.cl
M libclc/clc/lib/generic/misc/clc_shuffle2.cl
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Fix ctest failures after 7f3661128b1e: adjust external check and make shuffle helpers static (#160036)
* Replace call-site check with external declaration scan (grep declare)
to avoid false positives for not-inlined __clc_* functions.
* _clc_get_el* helpers are defined as inline in clc_shuffle2.cl, so they
have available_externally attribute. When they fail to inline they are
deleted by EliminateAvailableExternallyPass and become unresolved in
cedar-r600--.bc. Mark them static to resolve the issue.
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: add9079dcf0f0a34e03e5453e754d8fc40116785
https://github.com/llvm/llvm-project/commit/add9079dcf0f0a34e03e5453e754d8fc40116785
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/broadcast-load.ll
M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lsx/broadcast-load.ll
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
Log Message:
-----------
[LoongArch] Broadcast repeated subsequence in build_vector instead of inserting per element (#154533)
Commit: 370ea51f706a043d4a660bda8513f51c288772a6
https://github.com/llvm/llvm-project/commit/370ea51f706a043d4a660bda8513f51c288772a6
Author: Jasmine Tang <jjasmine at igalia.com>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Robustify Tosa_IfOp against null dereference and wrong assertion (#159756)
Fixes #159650.
The current implementation ICE out if we access an IfOp's terminator
when it doesn't have it. Instead the PR defers the job of verifying that
a block would have at least a terminator.
The current implementation also crashes with cast<YieldOp> if the
terminator is not a YieldOp, the PR also defers the job of verification
to the op itself.
Commit: 4839cc15583968618c87bc7f0a6b78341d3d6e2d
https://github.com/llvm/llvm-project/commit/4839cc15583968618c87bc7f0a6b78341d3d6e2d
Author: David Green <david.green at arm.com>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Remove unnecessary extloadi32 -> i32 pattern. NFCI (#159527)
As far as I can tell this load pattern will not perform anything as it
could only trigger from a i32 MemVT extended to a i32.
Commit: 02a2f4f078e1ccd98fa678abc06637353fe3cbe3
https://github.com/llvm/llvm-project/commit/02a2f4f078e1ccd98fa678abc06637353fe3cbe3
Author: David Green <david.green at arm.com>
Date: 2025-09-22 (Mon, 22 Sep 2025)
Changed paths:
A .ci/all_requirements.txt
A .ci/cache_lit_timing_files.py
A .ci/compute_projects.py
A .ci/compute_projects_test.py
R .ci/generate-buildkite-pipeline-premerge
R .ci/generate_test_report.py
A .ci/generate_test_report_github.py
A .ci/generate_test_report_lib.py
A .ci/generate_test_report_lib_test.py
A .ci/metrics/Dockerfile
A .ci/metrics/metrics.py
A .ci/metrics/metrics_test.py
A .ci/metrics/requirements.lock.txt
A .ci/metrics/requirements.txt
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .ci/requirements.txt
A .ci/utils.sh
A .clang-format-ignore
M .clang-tidy
M .git-blame-ignore-revs
M .github/CODEOWNERS
A .github/copilot-instructions.md
R .github/dependabot.yml
M .github/new-issues-labeler.yml
M .github/new-prs-labeler.yml
A .github/workflows/bazel-checks.yml
A .github/workflows/build-ci-container-windows.yml
M .github/workflows/build-ci-container.yml
A .github/workflows/build-metrics-container.yml
A .github/workflows/check-ci.yml
M .github/workflows/ci-post-commit-analyzer.yml
R .github/workflows/clang-tests.yml
A .github/workflows/commit-access-greeter.yml
M .github/workflows/commit-access-review.py
M .github/workflows/commit-access-review.yml
A .github/workflows/containers/github-action-ci-windows/Dockerfile
A .github/workflows/containers/github-action-ci/Dockerfile
R .github/workflows/containers/github-action-ci/bootstrap.patch
R .github/workflows/containers/github-action-ci/stage1.Dockerfile
R .github/workflows/containers/github-action-ci/stage2.Dockerfile
R .github/workflows/containers/github-action-ci/storage.conf
M .github/workflows/docs.yml
M .github/workflows/email-check.yaml
A .github/workflows/gha-codeql.yml
A .github/workflows/hlsl-matrix.yaml
A .github/workflows/hlsl-test-all.yaml
M .github/workflows/issue-release-workflow.yml
M .github/workflows/issue-subscriber.yml
M .github/workflows/issue-write.yml
A .github/workflows/libc-fullbuild-tests.yml
A .github/workflows/libc-overlay-tests.yml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/libclang-python-tests.yml
R .github/workflows/libclc-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/libcxx-build-containers.yml
M .github/workflows/libcxx-check-generated-files.yml
R .github/workflows/libcxx-restart-preempted-jobs.yaml
A .github/workflows/libcxx-run-benchmarks.yml
R .github/workflows/lld-tests.yml
R .github/workflows/lldb-tests.yml
M .github/workflows/llvm-bugs.yml
R .github/workflows/llvm-project-tests.yml
R .github/workflows/llvm-project-workflow-tests.yml
M .github/workflows/llvm-tests.yml
M .github/workflows/merged-prs.yml
A .github/workflows/mlir-spirv-tests.yml
M .github/workflows/new-issues.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-code-format.yml
A .github/workflows/pr-code-lint.yml
M .github/workflows/pr-request-release-note.yml
M .github/workflows/pr-subscriber.yml
A .github/workflows/premerge.yaml
M .github/workflows/release-asset-audit.py
M .github/workflows/release-asset-audit.yml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries-setup-stage/action.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-doxygen.yml
M .github/workflows/release-lit.yml
M .github/workflows/release-sources.yml
M .github/workflows/release-tasks.yml
M .github/workflows/scorecard.yml
M .github/workflows/spirv-tests.yml
M .github/workflows/version-check.yml
M .gitignore
M .mailmap
M CONTRIBUTING.md
M bolt/CMakeLists.txt
R bolt/CODE_OWNERS.TXT
A bolt/Maintainers.txt
A bolt/docs/BinaryAnalysis.md
M bolt/docs/CMakeLists.txt
M bolt/docs/CommandLineArgumentReference.md
M bolt/docs/Heatmaps.md
M bolt/docs/doxygen.cfg.in
M bolt/include/bolt/Core/BinaryBasicBlock.h
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryData.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugData.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/include/bolt/Core/Linker.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Core/Relocation.h
A bolt/include/bolt/Core/TargetConfig.def.in
M bolt/include/bolt/Passes/ADRRelaxationPass.h
R bolt/include/bolt/Passes/ContinuityStats.h
M bolt/include/bolt/Passes/DataflowAnalysis.h
M bolt/include/bolt/Passes/DominatorAnalysis.h
M bolt/include/bolt/Passes/FrameAnalysis.h
M bolt/include/bolt/Passes/IdenticalCodeFolding.h
A bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Passes/PatchEntries.h
A bolt/include/bolt/Passes/ProfileQualityStats.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/include/bolt/Profile/Heatmap.h
M bolt/include/bolt/Profile/ProfileYAMLMapping.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryBasicBlock.cpp
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryData.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinaryFunctionCallGraph.cpp
M bolt/lib/Core/BinaryFunctionProfile.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/CMakeLists.txt
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Core/Exceptions.cpp
M bolt/lib/Core/HashUtilities.cpp
M bolt/lib/Core/JumpTable.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Core/ParallelUtilities.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/ADRRelaxationPass.cpp
M bolt/lib/Passes/Aligner.cpp
M bolt/lib/Passes/AsmDump.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/CMakeLists.txt
R bolt/lib/Passes/ContinuityStats.cpp
M bolt/lib/Passes/FrameAnalysis.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Passes/HFSort.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/IndirectCallPromotion.cpp
M bolt/lib/Passes/Inliner.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/MCF.cpp
A bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Passes/PettisAndHansen.cpp
A bolt/lib/Passes/ProfileQualityStats.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Passes/RetpolineInsertion.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Passes/StokeInfo.cpp
M bolt/lib/Passes/TailDuplication.cpp
M bolt/lib/Passes/VeneerElimination.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/CMakeLists.txt
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/Heatmap.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/BoltDiff.cpp
M bolt/lib/Rewrite/BuildIDRewriter.cpp
M bolt/lib/Rewrite/CMakeLists.txt
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/JITLinkLinker.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/RuntimeLibs/CMakeLists.txt
M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
A bolt/lib/Target/AArch64/AArch64MCSymbolizer.h
M bolt/lib/Target/AArch64/CMakeLists.txt
M bolt/lib/Target/RISCV/CMakeLists.txt
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/CMakeLists.txt
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCSymbolizer.h
M bolt/lib/Utils/CMakeLists.txt
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/runtime/CMakeLists.txt
M bolt/runtime/common.h
M bolt/runtime/hugify.cpp
M bolt/runtime/instr.cpp
A bolt/runtime/sys_riscv64.h
A bolt/test/AArch64/adr-relaxation-fail.s
M bolt/test/AArch64/adr-relaxation.s
A bolt/test/AArch64/cfi-state-list.test
A bolt/test/AArch64/check-init-not-moved.s
A bolt/test/AArch64/computed-goto.s
A bolt/test/AArch64/data-in-code.s
A bolt/test/AArch64/data-marker-invalidates-extra-entrypoint.s
A bolt/test/AArch64/exceptions-plt.cpp
A bolt/test/AArch64/got-load-symbolization.s
A bolt/test/AArch64/inline-small-function-1.s
A bolt/test/AArch64/inline-small-function-2.s
A bolt/test/AArch64/jmp-table-unsupported.s
A bolt/test/AArch64/jump-table-heuristic-fail.s
A bolt/test/AArch64/lite-mode.s
A bolt/test/AArch64/long-jmp-one-stub.s
A bolt/test/AArch64/missing-code-marker.s
A bolt/test/AArch64/pad-before-funcs.s
A bolt/test/AArch64/patch-ignored.s
M bolt/test/AArch64/plt-call.test
A bolt/test/AArch64/print-mem-data.test
A bolt/test/AArch64/print-sorted-by-order.s
M bolt/test/AArch64/r_aarch64_prelxx.s
A bolt/test/AArch64/remove-nops.s
A bolt/test/AArch64/skip-non-vfuncptr-reloc-in-relative-vtable.s
M bolt/test/AArch64/test-indirect-branch.s
M bolt/test/AArch64/tls.c
A bolt/test/AArch64/unsupported-passes.test
A bolt/test/AArch64/validate-secondary-entry-point.s
M bolt/test/AArch64/veneer-lld-abs.s
M bolt/test/CMakeLists.txt
A bolt/test/Inputs/indirect_goto.c
A bolt/test/Inputs/multi-func.cpp
M bolt/test/RISCV/call-annotations.s
M bolt/test/RISCV/relax.s
M bolt/test/RISCV/reloc-branch.s
M bolt/test/RISCV/reloc-jal.s
M bolt/test/RISCV/reloc-jt.s
M bolt/test/RISCV/reloc-label-diff.s
M bolt/test/RISCV/reorder-blocks-reverse.s
A bolt/test/RISCV/validate-secondary-entry-point.s
M bolt/test/X86/Inputs/define_bar.s
R bolt/test/X86/Inputs/indirect_goto.c
A bolt/test/X86/Inputs/pre-aggregated-basic.txt
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/branch-data.test
M bolt/test/X86/callcont-fallthru.s
R bolt/test/X86/cfg-discontinuity-reporting.test
M bolt/test/X86/cfi-instrs-reordered.s
M bolt/test/X86/debug-fission-single-convert.s
M bolt/test/X86/debug-fission-single.s
M bolt/test/X86/double-jump.test
M bolt/test/X86/double-rel-scan.s
M bolt/test/X86/double-rel.s
A bolt/test/X86/dwarf5-debug-line-print.s
A bolt/test/X86/dwarf5-debug-names-abstract-origin-linkage-name-only.s
A bolt/test/X86/dwarf5-debug-names-abstract-origin-specification.s
A bolt/test/X86/dwarf5-debug-names-gnu-push-tls-address.s
A bolt/test/X86/dwarf5-debug-names-union.test
A bolt/test/X86/dwarf5-two-cus.s
M bolt/test/X86/dynamic-relocs-on-entry.s
A bolt/test/X86/entry-point-fallthru.s
A bolt/test/X86/fix-branches-broken-cfg.s
A bolt/test/X86/heatmap-preagg.test
A bolt/test/X86/high-segments.s
A bolt/test/X86/hlt-terminator.s
A bolt/test/X86/icf-safe-icp.test
A bolt/test/X86/icf-safe-process-rela-data.test
A bolt/test/X86/icf-safe-test1-no-relocs.test
A bolt/test/X86/icf-safe-test1.test
A bolt/test/X86/icf-safe-test2GlobalConstPtrNoPic.test
R bolt/test/X86/indirect-goto-pie.test
M bolt/test/X86/indirect-goto.test
M bolt/test/X86/inlined-function-mixed.test
M bolt/test/X86/jmp-optimization.test
A bolt/test/X86/jump-table-ambiguous-unreachable.s
M bolt/test/X86/jump-table-icp.test
M bolt/test/X86/linux-alt-instruction.s
M bolt/test/X86/linux-bug-table.s
M bolt/test/X86/linux-exceptions.s
M bolt/test/X86/linux-orc.s
M bolt/test/X86/linux-parainstructions.s
M bolt/test/X86/linux-pci-fixup.s
M bolt/test/X86/linux-smp-locks.s
M bolt/test/X86/linux-static-calls.s
M bolt/test/X86/linux-static-keys.s
A bolt/test/X86/linux-version.S
A bolt/test/X86/lite-mode-target-expr.s
A bolt/test/X86/multi-cu-debug-line.s
A bolt/test/X86/nobits-symbol.s
A bolt/test/X86/patch-ignored.s
M bolt/test/X86/plt-call.test
M bolt/test/X86/pre-aggregated-perf.test
A bolt/test/X86/profile-quality-reporting-small-binary.s
A bolt/test/X86/profile-quality-reporting.test
M bolt/test/X86/reader-stale-yaml-std.test
M bolt/test/X86/reader-stale-yaml.test
M bolt/test/X86/register-fragments-bolt-symbols.s
M bolt/test/X86/shrinkwrapping.test
A bolt/test/X86/skip-inline.s
M bolt/test/X86/split-func-jump-table-fragment-bidirection.s
M bolt/test/X86/unclaimed-jt-entries.s
A bolt/test/X86/zero-density.s
A bolt/test/avoid-wx-segment.c
A bolt/test/binary-analysis/AArch64/Inputs/dummy.txt
A bolt/test/binary-analysis/AArch64/cmdline-args.test
A bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
A bolt/test/binary-analysis/AArch64/gs-pacret-multi-bb.s
A bolt/test/binary-analysis/AArch64/gs-pauth-address-checks.s
A bolt/test/binary-analysis/AArch64/gs-pauth-address-materialization.s
A bolt/test/binary-analysis/AArch64/gs-pauth-authentication-oracles.s
A bolt/test/binary-analysis/AArch64/gs-pauth-calls.s
A bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
A bolt/test/binary-analysis/AArch64/gs-pauth-signing-oracles.s
A bolt/test/binary-analysis/AArch64/gs-pauth-tail-calls.s
A bolt/test/binary-analysis/AArch64/lit.local.cfg
A bolt/test/binary-analysis/AArch64/trap-instructions.s
A bolt/test/code-at-high-address.c
A bolt/test/dump-dot-func.test
A bolt/test/dwo-name-retrieving.test
A bolt/test/indirect-goto-relocs.test
M bolt/test/link_fdata.py
M bolt/test/lit.cfg.py
M bolt/test/lit.local.cfg
M bolt/test/lsda-section-name.cpp
A bolt/test/merge-fdata-bat-no-lbr.test
A bolt/test/merge-fdata-lbr-mode.test
A bolt/test/merge-fdata-mixed-bat-no-lbr.test
A bolt/test/merge-fdata-mixed-mode.test
A bolt/test/merge-fdata-no-lbr-mode.test
M bolt/test/non-empty-debug-line.test
A bolt/test/perf2bolt/AArch64/perf2bolt-spe.test
A bolt/test/perf2bolt/X86/perf2bolt-spe.test
M bolt/test/perf2bolt/perf_test.test
M bolt/test/permission.test
A bolt/test/process-debug-line
A bolt/test/program-header.test
R bolt/test/runtime/AArch64/adrrelaxationpass.s
A bolt/test/runtime/AArch64/inline-memcpy.s
A bolt/test/runtime/Inputs/user_func_order.txt
A bolt/test/runtime/RISCV/basic-instrumentation.s
A bolt/test/runtime/RISCV/instrumentation-ind-call.c
A bolt/test/runtime/RISCV/lit.local.cfg
R bolt/test/runtime/X86/Inputs/user_func_order.txt
M bolt/test/runtime/X86/fdata-escape-chars.ll
R bolt/test/runtime/X86/hugify.c
M bolt/test/runtime/X86/tail-duplication-constant-prop.s
R bolt/test/runtime/X86/user-func-reorder.c
A bolt/test/runtime/copy_file.py
A bolt/test/runtime/exceptions-plt.cpp
A bolt/test/runtime/hugify.c
M bolt/test/runtime/instrumentation-indirect-2.c
M bolt/test/runtime/plt-lld.test
A bolt/test/runtime/relative-vftable.cpp
A bolt/test/runtime/user-func-reorder.c
M bolt/test/timers.c
M bolt/test/unreadable-profile.test
M bolt/tools/CMakeLists.txt
M bolt/tools/bat-dump/bat-dump.cpp
A bolt/tools/binary-analysis/CMakeLists.txt
A bolt/tools/binary-analysis/binary-analysis.cpp
M bolt/tools/driver/CMakeLists.txt
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/heatmap/CMakeLists.txt
M bolt/tools/heatmap/heatmap.cpp
M bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
M bolt/tools/llvm-bolt-fuzzer/llvm-bolt-fuzzer.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
A bolt/unittests/Core/ClusteredRows.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
A bolt/unittests/Core/MemoryMaps.cpp
M bolt/unittests/Profile/CMakeLists.txt
A bolt/unittests/Profile/PerfSpeEvents.cpp
M bolt/utils/docker/Dockerfile
M bolt/utils/llvm-bolt-wrapper.py
M bolt/utils/nfc-check-setup.py
M clang-tools-extra/CMakeLists.txt
M clang-tools-extra/Maintainers.txt
M clang-tools-extra/README.txt
M clang-tools-extra/clang-apply-replacements/tool/ClangApplyReplacementsMain.cpp
M clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp
M clang-tools-extra/clang-change-namespace/tool/ClangChangeNamespace.cpp
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeReader.h
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.h
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
A clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
A clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Mapper.h
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/Serialize.h
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
A clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
A clang-tools-extra/clang-doc/assets/class-template.mustache
A clang-tools-extra/clang-doc/assets/comment-template.mustache
A clang-tools-extra/clang-doc/assets/enum-template.mustache
A clang-tools-extra/clang-doc/assets/function-template.mustache
M clang-tools-extra/clang-doc/assets/index.js
A clang-tools-extra/clang-doc/assets/mustache-index.js
A clang-tools-extra/clang-doc/assets/namespace-template.mustache
A clang-tools-extra/clang-doc/assets/template.mustache
A clang-tools-extra/clang-doc/support/CMakeLists.txt
A clang-tools-extra/clang-doc/support/File.cpp
A clang-tools-extra/clang-doc/support/File.h
A clang-tools-extra/clang-doc/support/Utils.cpp
A clang-tools-extra/clang-doc/support/Utils.h
M clang-tools-extra/clang-doc/tool/CMakeLists.txt
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-include-fixer/FuzzySymbolIndex.cpp
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang-tools-extra/clang-include-fixer/IncludeFixerContext.cpp
M clang-tools-extra/clang-include-fixer/YamlSymbolIndex.cpp
M clang-tools-extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp
M clang-tools-extra/clang-include-fixer/find-all-symbols/STLPostfixHeaderMap.cpp
M clang-tools-extra/clang-include-fixer/find-all-symbols/SymbolInfo.cpp
M clang-tools-extra/clang-include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp
M clang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp
M clang-tools-extra/clang-move/Move.cpp
M clang-tools-extra/clang-move/Move.h
M clang-tools-extra/clang-move/tool/ClangMove.cpp
M clang-tools-extra/clang-query/Query.cpp
M clang-tools-extra/clang-reorder-fields/CMakeLists.txt
A clang-tools-extra/clang-reorder-fields/Designator.cpp
A clang-tools-extra/clang-reorder-fields/Designator.h
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
M clang-tools-extra/clang-reorder-fields/tool/ClangReorderFields.cpp
A clang-tools-extra/clang-tidy/.clang-format
A clang-tools-extra/clang-tidy/.clang-tidy
M clang-tools-extra/clang-tidy/CMakeLists.txt
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidy.h
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyForceLinker.h
M clang-tools-extra/clang-tidy/ClangTidyModule.cpp
M clang-tools-extra/clang-tidy/ClangTidyModule.h
M clang-tools-extra/clang-tidy/ClangTidyModuleRegistry.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/ClangTidyProfiling.cpp
M clang-tools-extra/clang-tidy/ClangTidyProfiling.h
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
M clang-tools-extra/clang-tidy/FileExtensionsSet.h
M clang-tools-extra/clang-tidy/GlobList.cpp
M clang-tools-extra/clang-tidy/GlobList.h
M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp
M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.h
M clang-tools-extra/clang-tidy/abseil/AbseilMatcher.h
M clang-tools-extra/clang-tidy/abseil/AbseilTidyModule.cpp
M clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.cpp
M clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationAdditionCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationAdditionCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationComparisonCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationComparisonCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationConversionCastCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationConversionCastCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationFactoryFloatCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationFactoryFloatCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationFactoryScaleCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationFactoryScaleCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp
M clang-tools-extra/clang-tidy/abseil/DurationRewriter.h
M clang-tools-extra/clang-tidy/abseil/DurationSubtractionCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationSubtractionCheck.h
M clang-tools-extra/clang-tidy/abseil/DurationUnnecessaryConversionCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationUnnecessaryConversionCheck.h
M clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp
M clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.h
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.cpp
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.h
M clang-tools-extra/clang-tidy/abseil/NoNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/abseil/NoNamespaceCheck.h
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.h
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.h
M clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
M clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.h
M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.h
M clang-tools-extra/clang-tidy/abseil/TimeComparisonCheck.cpp
M clang-tools-extra/clang-tidy/abseil/TimeComparisonCheck.h
M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp
M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.h
M clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp
M clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.h
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/altera/AlteraTidyModule.cpp
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.h
M clang-tools-extra/clang-tidy/altera/KernelNameRestrictionCheck.cpp
M clang-tools-extra/clang-tidy/altera/KernelNameRestrictionCheck.h
M clang-tools-extra/clang-tidy/altera/SingleWorkItemBarrierCheck.cpp
M clang-tools-extra/clang-tidy/altera/SingleWorkItemBarrierCheck.h
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.h
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.h
M clang-tools-extra/clang-tidy/android/AndroidTidyModule.cpp
M clang-tools-extra/clang-tidy/android/CloexecAccept4Check.cpp
M clang-tools-extra/clang-tidy/android/CloexecAccept4Check.h
M clang-tools-extra/clang-tidy/android/CloexecAcceptCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecAcceptCheck.h
M clang-tools-extra/clang-tidy/android/CloexecCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCheck.h
M clang-tools-extra/clang-tidy/android/CloexecCreatCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCreatCheck.h
M clang-tools-extra/clang-tidy/android/CloexecDupCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecDupCheck.h
M clang-tools-extra/clang-tidy/android/CloexecEpollCreate1Check.cpp
M clang-tools-extra/clang-tidy/android/CloexecEpollCreate1Check.h
M clang-tools-extra/clang-tidy/android/CloexecEpollCreateCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecEpollCreateCheck.h
M clang-tools-extra/clang-tidy/android/CloexecFopenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecFopenCheck.h
M clang-tools-extra/clang-tidy/android/CloexecInotifyInit1Check.cpp
M clang-tools-extra/clang-tidy/android/CloexecInotifyInit1Check.h
M clang-tools-extra/clang-tidy/android/CloexecInotifyInitCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecInotifyInitCheck.h
M clang-tools-extra/clang-tidy/android/CloexecMemfdCreateCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecMemfdCreateCheck.h
M clang-tools-extra/clang-tidy/android/CloexecOpenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecOpenCheck.h
M clang-tools-extra/clang-tidy/android/CloexecPipe2Check.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipe2Check.h
M clang-tools-extra/clang-tidy/android/CloexecPipeCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipeCheck.h
M clang-tools-extra/clang-tidy/android/CloexecSocketCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecSocketCheck.h
M clang-tools-extra/clang-tidy/android/ComparisonInTempFailureRetryCheck.cpp
M clang-tools-extra/clang-tidy/android/ComparisonInTempFailureRetryCheck.h
M clang-tools-extra/clang-tidy/boost/BoostTidyModule.cpp
M clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/boost/UseRangesCheck.h
M clang-tools-extra/clang-tidy/boost/UseToStringCheck.cpp
M clang-tools-extra/clang-tidy/boost/UseToStringCheck.h
M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.h
M clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.h
M clang-tools-extra/clang-tidy/bugprone/AssignmentInIfConditionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/AssignmentInIfConditionCheck.h
M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.h
M clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.h
M clang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.h
M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.h
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.h
M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.h
M clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.h
M clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CopyConstructorInitCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CopyConstructorInitCheck.h
M clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.h
M clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.h
A clang-tools-extra/clang-tidy/bugprone/DerivedMethodShadowingBaseMethodCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/DerivedMethodShadowingBaseMethodCheck.h
M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.h
M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.h
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.h
M clang-tools-extra/clang-tidy/bugprone/FoldInitTypeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/FoldInitTypeCheck.h
M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.h
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.h
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.h
M clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.h
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.h
A clang-tools-extra/clang-tidy/bugprone/IncorrectEnableSharedFromThisCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/IncorrectEnableSharedFromThisCheck.h
M clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.h
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.h
M clang-tools-extra/clang-tidy/bugprone/IntegerDivisionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IntegerDivisionCheck.h
A clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.h
M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.h
M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.h
M clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.h
A clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.h
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.h
M clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.h
M clang-tools-extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedWideningCastCheck.h
M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.h
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.h
M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.h
M clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.h
A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/NoEscapeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NoEscapeCheck.h
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.h
M clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.h
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.h
M clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.h
M clang-tools-extra/clang-tidy/bugprone/PointerArithmeticOnPolymorphicObjectCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/PointerArithmeticOnPolymorphicObjectCheck.h
M clang-tools-extra/clang-tidy/bugprone/PosixReturnCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/PosixReturnCheck.h
M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.h
M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.h
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.h
M clang-tools-extra/clang-tidy/bugprone/SharedPtrArrayMismatchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SharedPtrArrayMismatchCheck.h
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.h
M clang-tools-extra/clang-tidy/bugprone/SignedCharMisuseCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SignedCharMisuseCheck.h
M clang-tools-extra/clang-tidy/bugprone/SizeofContainerCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofContainerCheck.h
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.h
M clang-tools-extra/clang-tidy/bugprone/SmartPtrArrayMismatchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SmartPtrArrayMismatchCheck.h
M clang-tools-extra/clang-tidy/bugprone/SpuriouslyWakeUpFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SpuriouslyWakeUpFunctionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.h
M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.h
M clang-tools-extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.h
M clang-tools-extra/clang-tidy/bugprone/StringLiteralWithEmbeddedNulCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringLiteralWithEmbeddedNulCheck.h
M clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemoryComparisonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemoryComparisonCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousReallocUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousReallocUsageCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousStringCompareCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousStringCompareCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.h
M clang-tools-extra/clang-tidy/bugprone/SwappedArgumentsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SwappedArgumentsCheck.h
M clang-tools-extra/clang-tidy/bugprone/SwitchMissingDefaultCaseCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SwitchMissingDefaultCaseCheck.h
M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.h
M clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.h
M clang-tools-extra/clang-tidy/bugprone/ThrowKeywordMissingCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ThrowKeywordMissingCheck.h
A clang-tools-extra/clang-tidy/bugprone/ThrowingStaticInitializationCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/ThrowingStaticInitializationCheck.h
M clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.h
M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.h
A clang-tools-extra/clang-tidy/bugprone/UncheckedStringToNumberConversionCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/UncheckedStringToNumberConversionCheck.h
M clang-tools-extra/clang-tidy/bugprone/UndefinedMemoryManipulationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UndefinedMemoryManipulationCheck.h
M clang-tools-extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UndelegatedConstructorCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.h
A clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.h
M clang-tools-extra/clang-tidy/bugprone/UniquePtrArrayMismatchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UniquePtrArrayMismatchCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.h
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.h
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.h
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cert/CMakeLists.txt
M clang-tools-extra/clang-tidy/cert/CommandProcessorCheck.cpp
M clang-tools-extra/clang-tidy/cert/CommandProcessorCheck.h
M clang-tools-extra/clang-tidy/cert/DefaultOperatorNewAlignmentCheck.cpp
M clang-tools-extra/clang-tidy/cert/DefaultOperatorNewAlignmentCheck.h
M clang-tools-extra/clang-tidy/cert/DontModifyStdNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/cert/DontModifyStdNamespaceCheck.h
M clang-tools-extra/clang-tidy/cert/FloatLoopCounter.cpp
M clang-tools-extra/clang-tidy/cert/FloatLoopCounter.h
M clang-tools-extra/clang-tidy/cert/LimitedRandomnessCheck.cpp
M clang-tools-extra/clang-tidy/cert/LimitedRandomnessCheck.h
M clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp
M clang-tools-extra/clang-tidy/cert/MutatingCopyCheck.h
M clang-tools-extra/clang-tidy/cert/NonTrivialTypesLibcMemoryCallsCheck.cpp
M clang-tools-extra/clang-tidy/cert/NonTrivialTypesLibcMemoryCallsCheck.h
M clang-tools-extra/clang-tidy/cert/ProperlySeededRandomGeneratorCheck.cpp
M clang-tools-extra/clang-tidy/cert/ProperlySeededRandomGeneratorCheck.h
M clang-tools-extra/clang-tidy/cert/SetLongJmpCheck.cpp
M clang-tools-extra/clang-tidy/cert/SetLongJmpCheck.h
R clang-tools-extra/clang-tidy/cert/StaticObjectExceptionCheck.cpp
R clang-tools-extra/clang-tidy/cert/StaticObjectExceptionCheck.h
R clang-tools-extra/clang-tidy/cert/StrToNumCheck.cpp
R clang-tools-extra/clang-tidy/cert/StrToNumCheck.h
M clang-tools-extra/clang-tidy/cert/ThrownExceptionTypeCheck.cpp
M clang-tools-extra/clang-tidy/cert/ThrownExceptionTypeCheck.h
R clang-tools-extra/clang-tidy/cert/VariadicFunctionDefCheck.cpp
R clang-tools-extra/clang-tidy/cert/VariadicFunctionDefCheck.h
M clang-tools-extra/clang-tidy/clang-tidy-config.h.cmake
M clang-tools-extra/clang-tidy/concurrency/ConcurrencyTidyModule.cpp
M clang-tools-extra/clang-tidy/concurrency/MtUnsafeCheck.cpp
M clang-tools-extra/clang-tidy/concurrency/MtUnsafeCheck.h
M clang-tools-extra/clang-tidy/concurrency/ThreadCanceltypeAsynchronousCheck.cpp
M clang-tools-extra/clang-tidy/concurrency/ThreadCanceltypeAsynchronousCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidCapturingLambdaCoroutinesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidCapturingLambdaCoroutinesCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidConstOrRefDataMembersCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidConstOrRefDataMembersCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidDoWhileCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidDoWhileCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidGotoCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidGotoCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidReferenceCoroutineParametersCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidReferenceCoroutineParametersCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/MisleadingCaptureDefaultByValueCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MisleadingCaptureDefaultByValueCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.h
R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/NoMallocCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/NoMallocCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.h
A clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsAvoidUncheckedContainerAccess.cpp
A clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsAvoidUncheckedContainerAccess.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsPointerArithmeticCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsPointerArithmeticCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeConstCastCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeConstCastCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeCstyleCastCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeCstyleCastCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeReinterpretCastCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeReinterpretCastCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeStaticCastDowncastCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeStaticCastDowncastCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeUnionAccessCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeUnionAccessCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
A clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
A clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.h
A clang-tools-extra/clang-tidy/custom/CMakeLists.txt
A clang-tools-extra/clang-tidy/custom/CustomTidyModule.cpp
A clang-tools-extra/clang-tidy/custom/QueryCheck.cpp
A clang-tools-extra/clang-tidy/custom/QueryCheck.h
M clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.cpp
M clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.h
M clang-tools-extra/clang-tidy/darwin/DarwinTidyModule.cpp
M clang-tools-extra/clang-tidy/darwin/DispatchOnceNonstaticCheck.cpp
M clang-tools-extra/clang-tidy/darwin/DispatchOnceNonstaticCheck.h
M clang-tools-extra/clang-tidy/fuchsia/DefaultArgumentsCallsCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/DefaultArgumentsCallsCheck.h
M clang-tools-extra/clang-tidy/fuchsia/DefaultArgumentsDeclarationsCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/DefaultArgumentsDeclarationsCheck.h
M clang-tools-extra/clang-tidy/fuchsia/FuchsiaTidyModule.cpp
M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.h
M clang-tools-extra/clang-tidy/fuchsia/OverloadedOperatorCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/OverloadedOperatorCheck.h
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.h
M clang-tools-extra/clang-tidy/fuchsia/TrailingReturnCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/TrailingReturnCheck.h
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.h
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.h
M clang-tools-extra/clang-tidy/google/AvoidNSObjectNewCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidNSObjectNewCheck.h
M clang-tools-extra/clang-tidy/google/AvoidThrowingObjCExceptionCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidThrowingObjCExceptionCheck.h
M clang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidUnderscoreInGoogletestNameCheck.h
M clang-tools-extra/clang-tidy/google/CMakeLists.txt
M clang-tools-extra/clang-tidy/google/DefaultArgumentsCheck.cpp
M clang-tools-extra/clang-tidy/google/DefaultArgumentsCheck.h
M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.h
M clang-tools-extra/clang-tidy/google/ExplicitMakePairCheck.cpp
M clang-tools-extra/clang-tidy/google/ExplicitMakePairCheck.h
A clang-tools-extra/clang-tidy/google/FloatTypesCheck.cpp
A clang-tools-extra/clang-tidy/google/FloatTypesCheck.h
M clang-tools-extra/clang-tidy/google/FunctionNamingCheck.cpp
M clang-tools-extra/clang-tidy/google/FunctionNamingCheck.h
M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.h
M clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.h
M clang-tools-extra/clang-tidy/google/OverloadedUnaryAndCheck.cpp
M clang-tools-extra/clang-tidy/google/OverloadedUnaryAndCheck.h
M clang-tools-extra/clang-tidy/google/TodoCommentCheck.cpp
M clang-tools-extra/clang-tidy/google/TodoCommentCheck.h
M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.h
M clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp
M clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.h
M clang-tools-extra/clang-tidy/google/UsingNamespaceDirectiveCheck.cpp
M clang-tools-extra/clang-tidy/google/UsingNamespaceDirectiveCheck.h
M clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.h
M clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
M clang-tools-extra/clang-tidy/hicpp/IgnoredRemoveResultCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/IgnoredRemoveResultCheck.h
M clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.h
M clang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.h
M clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.h
M clang-tools-extra/clang-tidy/linuxkernel/LinuxKernelTidyModule.cpp
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.cpp
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.h
M clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
M clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.cpp
M clang-tools-extra/clang-tidy/llvm/HeaderGuardCheck.h
M clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp
M clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.h
M clang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.h
M clang-tools-extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.h
A clang-tools-extra/clang-tidy/llvm/PreferStaticOverAnonymousNamespaceCheck.cpp
A clang-tools-extra/clang-tidy/llvm/PreferStaticOverAnonymousNamespaceCheck.h
M clang-tools-extra/clang-tidy/llvm/TwineLocalCheck.cpp
M clang-tools-extra/clang-tidy/llvm/TwineLocalCheck.h
A clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.cpp
A clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.h
A clang-tools-extra/clang-tidy/llvm/UseRangesCheck.cpp
A clang-tools-extra/clang-tidy/llvm/UseRangesCheck.h
M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.h
M clang-tools-extra/clang-tidy/llvmlibc/ImplementationInNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/ImplementationInNamespaceCheck.h
M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.h
M clang-tools-extra/clang-tidy/llvmlibc/LLVMLibcTidyModule.cpp
M clang-tools-extra/clang-tidy/llvmlibc/NamespaceConstants.h
M clang-tools-extra/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.h
M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.h
M clang-tools-extra/clang-tidy/misc/ConfusableTable/BuildConfusableTable.cpp
M clang-tools-extra/clang-tidy/misc/ConfusableTable/confusables.txt
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h
M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.h
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h
M clang-tools-extra/clang-tidy/misc/HeaderIncludeCycleCheck.cpp
M clang-tools-extra/clang-tidy/misc/HeaderIncludeCycleCheck.h
M clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp
M clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.h
M clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
M clang-tools-extra/clang-tidy/misc/MisleadingBidirectional.cpp
M clang-tools-extra/clang-tidy/misc/MisleadingBidirectional.h
M clang-tools-extra/clang-tidy/misc/MisleadingIdentifier.cpp
M clang-tools-extra/clang-tidy/misc/MisleadingIdentifier.h
M clang-tools-extra/clang-tidy/misc/MisplacedConstCheck.cpp
M clang-tools-extra/clang-tidy/misc/MisplacedConstCheck.h
M clang-tools-extra/clang-tidy/misc/NewDeleteOverloadsCheck.cpp
M clang-tools-extra/clang-tidy/misc/NewDeleteOverloadsCheck.h
M clang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp
M clang-tools-extra/clang-tidy/misc/NoRecursionCheck.h
M clang-tools-extra/clang-tidy/misc/NonCopyableObjects.cpp
M clang-tools-extra/clang-tidy/misc/NonCopyableObjects.h
M clang-tools-extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.cpp
M clang-tools-extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.h
A clang-tools-extra/clang-tidy/misc/OverrideWithDifferentVisibilityCheck.cpp
A clang-tools-extra/clang-tidy/misc/OverrideWithDifferentVisibilityCheck.h
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.h
M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.h
M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h
M clang-tools-extra/clang-tidy/misc/UnconventionalAssignOperatorCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnconventionalAssignOperatorCheck.h
M clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp
M clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.h
M clang-tools-extra/clang-tidy/misc/UnusedAliasDeclsCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedAliasDeclsCheck.h
M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.h
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
M clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.h
M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.h
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.h
A clang-tools-extra/clang-tidy/modernize/AvoidVariadicFunctionsCheck.cpp
A clang-tools-extra/clang-tidy/modernize/AvoidVariadicFunctionsCheck.h
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ConcatNestedNamespacesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ConcatNestedNamespacesCheck.h
M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.h
M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.h
M clang-tools-extra/clang-tidy/modernize/IntegralLiteralExpressionMatcher.cpp
M clang-tools-extra/clang-tidy/modernize/IntegralLiteralExpressionMatcher.h
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.h
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.h
M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.h
M clang-tools-extra/clang-tidy/modernize/MakeSharedCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MakeSharedCheck.h
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.h
M clang-tools-extra/clang-tidy/modernize/MakeUniqueCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MakeUniqueCheck.h
M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.h
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.h
M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.h
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.h
M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.h
M clang-tools-extra/clang-tidy/modernize/ReplaceDisallowCopyAndAssignMacroCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceDisallowCopyAndAssignMacroCheck.h
M clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.h
M clang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.h
M clang-tools-extra/clang-tidy/modernize/ShrinkToFitCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ShrinkToFitCheck.h
M clang-tools-extra/clang-tidy/modernize/TypeTraitsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/TypeTraitsCheck.h
M clang-tools-extra/clang-tidy/modernize/UnaryStaticAssertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UnaryStaticAssertCheck.h
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.h
M clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.h
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.h
A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.h
M clang-tools-extra/clang-tidy/modernize/UseNodiscardCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNodiscardCheck.h
M clang-tools-extra/clang-tidy/modernize/UseNoexceptCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNoexceptCheck.h
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.h
M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h
A clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.h
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.h
M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.h
M clang-tools-extra/clang-tidy/mpi/BufferDerefCheck.cpp
M clang-tools-extra/clang-tidy/mpi/BufferDerefCheck.h
M clang-tools-extra/clang-tidy/mpi/MPITidyModule.cpp
M clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp
M clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.h
M clang-tools-extra/clang-tidy/objc/AssertEquals.cpp
M clang-tools-extra/clang-tidy/objc/AssertEquals.h
M clang-tools-extra/clang-tidy/objc/AvoidNSErrorInitCheck.cpp
M clang-tools-extra/clang-tidy/objc/AvoidNSErrorInitCheck.h
M clang-tools-extra/clang-tidy/objc/DeallocInCategoryCheck.cpp
M clang-tools-extra/clang-tidy/objc/DeallocInCategoryCheck.h
M clang-tools-extra/clang-tidy/objc/ForbiddenSubclassingCheck.cpp
M clang-tools-extra/clang-tidy/objc/ForbiddenSubclassingCheck.h
M clang-tools-extra/clang-tidy/objc/MissingHashCheck.cpp
M clang-tools-extra/clang-tidy/objc/MissingHashCheck.h
M clang-tools-extra/clang-tidy/objc/NSDateFormatterCheck.cpp
M clang-tools-extra/clang-tidy/objc/NSDateFormatterCheck.h
M clang-tools-extra/clang-tidy/objc/NSInvocationArgumentLifetimeCheck.cpp
M clang-tools-extra/clang-tidy/objc/NSInvocationArgumentLifetimeCheck.h
M clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
M clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.h
M clang-tools-extra/clang-tidy/objc/SuperSelfCheck.cpp
M clang-tools-extra/clang-tidy/objc/SuperSelfCheck.h
M clang-tools-extra/clang-tidy/openmp/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/openmp/ExceptionEscapeCheck.h
M clang-tools-extra/clang-tidy/openmp/OpenMPTidyModule.cpp
M clang-tools-extra/clang-tidy/openmp/UseDefaultNoneCheck.cpp
M clang-tools-extra/clang-tidy/openmp/UseDefaultNoneCheck.h
M clang-tools-extra/clang-tidy/performance/AvoidEndlCheck.cpp
M clang-tools-extra/clang-tidy/performance/AvoidEndlCheck.h
M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.h
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.cpp
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.h
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.h
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.h
M clang-tools-extra/clang-tidy/performance/InefficientAlgorithmCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientAlgorithmCheck.h
M clang-tools-extra/clang-tidy/performance/InefficientStringConcatenationCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientStringConcatenationCheck.h
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.h
M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.h
M clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp
M clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.h
M clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.h
M clang-tools-extra/clang-tidy/performance/NoIntToPtrCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoIntToPtrCheck.h
M clang-tools-extra/clang-tidy/performance/NoexceptDestructorCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoexceptDestructorCheck.h
M clang-tools-extra/clang-tidy/performance/NoexceptFunctionBaseCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoexceptFunctionBaseCheck.h
M clang-tools-extra/clang-tidy/performance/NoexceptMoveConstructorCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoexceptMoveConstructorCheck.h
M clang-tools-extra/clang-tidy/performance/NoexceptSwapCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoexceptSwapCheck.h
M clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
M clang-tools-extra/clang-tidy/performance/TriviallyDestructibleCheck.cpp
M clang-tools-extra/clang-tidy/performance/TriviallyDestructibleCheck.h
M clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
M clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.h
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.h
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp
A clang-tools-extra/clang-tidy/portability/AvoidPragmaOnceCheck.cpp
A clang-tools-extra/clang-tidy/portability/AvoidPragmaOnceCheck.h
M clang-tools-extra/clang-tidy/portability/CMakeLists.txt
M clang-tools-extra/clang-tidy/portability/PortabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.cpp
M clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.h
M clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp
M clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.h
M clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp
M clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.h
M clang-tools-extra/clang-tidy/portability/TemplateVirtualMemberFunctionCheck.cpp
M clang-tools-extra/clang-tidy/portability/TemplateVirtualMemberFunctionCheck.h
A clang-tools-extra/clang-tidy/readability/AmbiguousSmartptrResetCallCheck.cpp
A clang-tools-extra/clang-tidy/readability/AmbiguousSmartptrResetCallCheck.h
M clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp
M clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDecls.h
M clang-tools-extra/clang-tidy/readability/AvoidNestedConditionalOperatorCheck.cpp
M clang-tools-extra/clang-tidy/readability/AvoidNestedConditionalOperatorCheck.h
M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.h
M clang-tools-extra/clang-tidy/readability/AvoidUnconditionalPreprocessorIfCheck.cpp
M clang-tools-extra/clang-tidy/readability/AvoidUnconditionalPreprocessorIfCheck.h
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.h
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.h
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.h
M clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.h
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.h
M clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.h
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.h
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.h
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.h
M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.h
M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h
M clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.h
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.h
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.h
M clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.h
M clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp
M clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h
M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.h
M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.h
M clang-tools-extra/clang-tidy/readability/MisleadingIndentationCheck.cpp
M clang-tools-extra/clang-tidy/readability/MisleadingIndentationCheck.h
M clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp
M clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.h
M clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamedParameterCheck.h
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.h
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.h
M clang-tools-extra/clang-tidy/readability/OperatorsRepresentationCheck.cpp
M clang-tools-extra/clang-tidy/readability/OperatorsRepresentationCheck.h
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.h
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/RedundantAccessSpecifiersCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantAccessSpecifiersCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantControlFlowCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantControlFlowCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.h
M clang-tools-extra/clang-tidy/readability/ReferenceToConstructedTemporaryCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReferenceToConstructedTemporaryCheck.h
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
M clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.h
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.h
M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.h
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.h
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.h
M clang-tools-extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.cpp
M clang-tools-extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.h
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.h
M clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp
M clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.h
A clang-tools-extra/clang-tidy/readability/UseConcisePreprocessorDirectivesCheck.cpp
A clang-tools-extra/clang-tidy/readability/UseConcisePreprocessorDirectivesCheck.h
M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.h
M clang-tools-extra/clang-tidy/rename_check.py
M clang-tools-extra/clang-tidy/tool/CMakeLists.txt
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.h
M clang-tools-extra/clang-tidy/tool/ClangTidyToolMain.cpp
M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clang-tidy/utils/ASTUtils.cpp
M clang-tools-extra/clang-tidy/utils/ASTUtils.h
M clang-tools-extra/clang-tidy/utils/Aliasing.cpp
M clang-tools-extra/clang-tidy/utils/Aliasing.h
M clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
M clang-tools-extra/clang-tidy/utils/BracesAroundStatement.h
M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.h
M clang-tools-extra/clang-tidy/utils/DesignatedInitializers.cpp
M clang-tools-extra/clang-tidy/utils/DesignatedInitializers.h
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.h
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.h
M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
M clang-tools-extra/clang-tidy/utils/ExprSequence.h
M clang-tools-extra/clang-tidy/utils/FileExtensionsUtils.cpp
M clang-tools-extra/clang-tidy/utils/FileExtensionsUtils.h
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.h
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.h
M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
M clang-tools-extra/clang-tidy/utils/HeaderGuard.h
M clang-tools-extra/clang-tidy/utils/IncludeInserter.cpp
M clang-tools-extra/clang-tidy/utils/IncludeInserter.h
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.h
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/clang-tidy/utils/Matchers.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.h
M clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp
M clang-tools-extra/clang-tidy/utils/NamespaceAliaser.h
M clang-tools-extra/clang-tidy/utils/OptionsUtils.cpp
M clang-tools-extra/clang-tidy/utils/OptionsUtils.h
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.h
M clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.h
M clang-tools-extra/clang-tidy/utils/TypeTraits.cpp
M clang-tools-extra/clang-tidy/utils/TypeTraits.h
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
M clang-tools-extra/clang-tidy/utils/UsingInserter.cpp
M clang-tools-extra/clang-tidy/utils/UsingInserter.h
M clang-tools-extra/clang-tidy/zircon/TemporaryObjectsCheck.cpp
M clang-tools-extra/clang-tidy/zircon/TemporaryObjectsCheck.h
M clang-tools-extra/clang-tidy/zircon/ZirconTidyModule.cpp
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/AST.h
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/CodeComplete.h
M clang-tools-extra/clangd/CodeCompletionStrings.cpp
M clang-tools-extra/clangd/CollectMacros.cpp
M clang-tools-extra/clangd/CollectMacros.h
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/Compiler.cpp
M clang-tools-extra/clangd/Compiler.h
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/ConfigYAML.cpp
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/Diagnostics.h
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FeatureModule.cpp
M clang-tools-extra/clangd/FeatureModule.h
M clang-tools-extra/clangd/FindSymbols.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/FindTarget.h
M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
M clang-tools-extra/clangd/GlobalCompilationDatabase.h
M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/Headers.h
R clang-tools-extra/clangd/HeuristicResolver.cpp
R clang-tools-extra/clangd/HeuristicResolver.h
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/Hover.h
M clang-tools-extra/clangd/IncludeCleaner.cpp
M clang-tools-extra/clangd/IncludeCleaner.h
M clang-tools-extra/clangd/IncludeFixer.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/InlayHints.h
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/ParsedAST.h
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Preamble.h
M clang-tools-extra/clangd/ProjectModules.h
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/Quality.cpp
M clang-tools-extra/clangd/ScanningProjectModules.cpp
M clang-tools-extra/clangd/Selection.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/SemanticSelection.cpp
M clang-tools-extra/clangd/SourceCode.cpp
A clang-tools-extra/clangd/SymbolDocumentation.cpp
A clang-tools-extra/clangd/SymbolDocumentation.h
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/TUScheduler.cpp
M clang-tools-extra/clangd/TUScheduler.h
M clang-tools-extra/clangd/TidyProvider.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/XRefs.h
M clang-tools-extra/clangd/benchmarks/IndexBenchmark.cpp
M clang-tools-extra/clangd/index/Background.cpp
M clang-tools-extra/clangd/index/Background.h
M clang-tools-extra/clangd/index/BackgroundRebuild.cpp
M clang-tools-extra/clangd/index/CanonicalIncludes.cpp
M clang-tools-extra/clangd/index/FileIndex.cpp
M clang-tools-extra/clangd/index/FileIndex.h
M clang-tools-extra/clangd/index/Index.cpp
M clang-tools-extra/clangd/index/Index.h
M clang-tools-extra/clangd/index/MemIndex.cpp
M clang-tools-extra/clangd/index/MemIndex.h
M clang-tools-extra/clangd/index/Merge.cpp
M clang-tools-extra/clangd/index/Merge.h
M clang-tools-extra/clangd/index/ProjectAware.cpp
M clang-tools-extra/clangd/index/Ref.h
M clang-tools-extra/clangd/index/Relation.cpp
M clang-tools-extra/clangd/index/Serialization.cpp
M clang-tools-extra/clangd/index/Serialization.h
M clang-tools-extra/clangd/index/StdLib.cpp
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/index/SymbolCollector.h
M clang-tools-extra/clangd/index/YAMLSerialization.cpp
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/index/dex/Dex.h
M clang-tools-extra/clangd/index/dex/Trigram.cpp
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/Index.proto
M clang-tools-extra/clangd/index/remote/Service.proto
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/refactor/Rename.cpp
M clang-tools-extra/clangd/refactor/Rename.h
M clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp
M clang-tools-extra/clangd/refactor/tweaks/AnnotateHighlightings.cpp
M clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
M clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExpandDeducedType.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractFunction.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
A clang-tools-extra/clangd/refactor/tweaks/OverridePureVirtuals.cpp
M clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp
M clang-tools-extra/clangd/refactor/tweaks/RemoveUsingNamespace.cpp
M clang-tools-extra/clangd/support/DirectiveTree.cpp
M clang-tools-extra/clangd/support/DirectiveTree.h
M clang-tools-extra/clangd/support/Markup.cpp
M clang-tools-extra/clangd/support/Markup.h
M clang-tools-extra/clangd/test/CMakeLists.txt
M clang-tools-extra/clangd/test/formatting.test
M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
M clang-tools-extra/clangd/test/initialize-params.test
M clang-tools-extra/clangd/test/lit.cfg.py
M clang-tools-extra/clangd/test/lit.site.cfg.py.in
A clang-tools-extra/clangd/test/module_dependencies.test
A clang-tools-extra/clangd/test/modules_no_cdb.test
M clang-tools-extra/clangd/test/path-mappings.test
A clang-tools-extra/clangd/test/positionencoding.test
A clang-tools-extra/clangd/test/signature-help-unescaped.test
M clang-tools-extra/clangd/test/system-include-extractor.test
M clang-tools-extra/clangd/test/type-hierarchy-ext.test
M clang-tools-extra/clangd/test/type-hierarchy.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/ASTTests.cpp
M clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
M clang-tools-extra/clangd/unittests/ClangdTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
M clang-tools-extra/clangd/unittests/DexTests.cpp
M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
A clang-tools-extra/clangd/unittests/FeatureModulesRegistryTests.cpp
M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
M clang-tools-extra/clangd/unittests/HeadersTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp
M clang-tools-extra/clangd/unittests/IndexTests.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/Matchers.h
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/clangd/unittests/ProjectAwareIndexTests.cpp
M clang-tools-extra/clangd/unittests/QualityTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/SelectionTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/clangd/unittests/SemanticSelectionTests.cpp
M clang-tools-extra/clangd/unittests/SerializationTests.cpp
M clang-tools-extra/clangd/unittests/StdLibTests.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
A clang-tools-extra/clangd/unittests/SymbolDocumentationTests.cpp
M clang-tools-extra/clangd/unittests/SymbolInfoTests.cpp
M clang-tools-extra/clangd/unittests/SyncAPI.cpp
M clang-tools-extra/clangd/unittests/SyncAPI.h
M clang-tools-extra/clangd/unittests/TestIndex.cpp
M clang-tools-extra/clangd/unittests/TestTU.cpp
M clang-tools-extra/clangd/unittests/TestWorkspace.cpp
M clang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/clangd/unittests/remote/MarshallingTests.cpp
M clang-tools-extra/clangd/unittests/support/MarkupTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineInlineTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExpandDeducedTypeTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
A clang-tools-extra/clangd/unittests/tweaks/OverridePureVirtualsTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/TweakTests.cpp
M clang-tools-extra/docs/CMakeLists.txt
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/ReleaseNotesTemplate.txt
A clang-tools-extra/docs/clang-change-namespace.rst
M clang-tools-extra/docs/clang-tidy/Contributing.rst
A clang-tools-extra/docs/clang-tidy/QueryBasedCustomChecks.rst
M clang-tools-extra/docs/clang-tidy/checks/android/comparison-in-temp-failure-retry.rst
M clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/branch-clone.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/casting-through-void.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/compare-pointer-to-member-virtual-function.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-init.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/crtp-constructor-accessibility.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/derived-method-shadowing-base-method.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/easily-swappable-parameters.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/incorrect-enable-shared-from-this.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/invalid-enum-default-initialization.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/misleading-setter-of-reference.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/multi-level-implicit-pointer-conversion.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/narrowing-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/redundant-branch-condition.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/standalone-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/string-constructor.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/tagged-union-member-count.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/throwing-static-initialization.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-optional-access.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-string-to-number-conversion.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-local-non-trivial-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/dcl50-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/err34-c.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/err58-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PureVirtualCall.rst
A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.OSObjectCStyleCast.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.MIG.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.OSObjectRetainCount.rst
M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst
M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.CopyToSelf.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.Uninitialized.rst
R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.Unterminated.rst
M clang-tools-extra/docs/clang-tidy/checks/concurrency/mt-unsafe.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-goto.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/missing-std-forward.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/no-malloc.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/owning-memory.rst
A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-avoid-unchecked-container-access.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-pointer-arithmetic.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/rvalue-reference-param-not-moved.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/special-member-functions.rst
A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-enum-class.rst
A clang-tools-extra/docs/clang-tidy/checks/google/runtime-float.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/llvm/namespace-comment.rst
A clang-tools-extra/docs/clang-tidy/checks/llvm/prefer-static-over-anonymous-namespace.rst
A clang-tools-extra/docs/clang-tidy/checks/llvm/use-new-mlir-op-builder.rst
A clang-tools-extra/docs/clang-tidy/checks/llvm/use-ranges.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/include-cleaner.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/no-recursion.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/non-private-member-variables-in-classes.rst
A clang-tools-extra/docs/clang-tidy/checks/misc/override-with-different-visibility.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/redundant-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/unused-parameters.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-variadic-functions.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/deprecated-headers.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/pass-by-value.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/raw-string-literal.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/replace-auto-ptr.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/replace-disallow-copy-and-assign-macro.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/type-traits.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-auto.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-designated-initializers.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-emplace.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-integer-sign-comparison.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-scoped-lock.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-trailing-return-type.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/enum-size.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/for-range-copy.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/noexcept-move-constructor.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-copy-initialization.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-value-param.rst
A clang-tools-extra/docs/clang-tidy/checks/portability/avoid-pragma-once.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-data-pointer.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/function-cognitive-complexity.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/function-size.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/misleading-indentation.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/named-parameter.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/qualified-auto.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-smartptr-get.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/use-concise-preprocessor-directives.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/docs/clangd/DeveloperDocumentation.rst
M clang-tools-extra/docs/doxygen.cfg.in
M clang-tools-extra/docs/index.rst
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Analysis.h
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
M clang-tools-extra/include-cleaner/lib/Analysis.cpp
M clang-tools-extra/include-cleaner/lib/AnalysisInternal.h
M clang-tools-extra/include-cleaner/lib/FindHeaders.cpp
M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
M clang-tools-extra/include-cleaner/lib/LocateSymbol.cpp
M clang-tools-extra/include-cleaner/lib/Record.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/test/tool.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
M clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp
M clang-tools-extra/include-cleaner/unittests/LocateSymbolTest.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
M clang-tools-extra/modularize/CoverageChecker.cpp
M clang-tools-extra/modularize/Modularize.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang-tools-extra/modularize/ModularizeUtilities.h
M clang-tools-extra/modularize/ModuleAssistant.cpp
M clang-tools-extra/modularize/PreprocessorTracker.cpp
M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
M clang-tools-extra/test/CMakeLists.txt
M clang-tools-extra/test/clang-apply-replacements/basic.cpp
M clang-tools-extra/test/clang-apply-replacements/conflict.cpp
M clang-tools-extra/test/clang-apply-replacements/crlf.cpp
M clang-tools-extra/test/clang-apply-replacements/format-header.cpp
M clang-tools-extra/test/clang-apply-replacements/format.cpp
M clang-tools-extra/test/clang-apply-replacements/identical-in-TU.cpp
M clang-tools-extra/test/clang-apply-replacements/identical.cpp
M clang-tools-extra/test/clang-apply-replacements/ignore-conflict.cpp
M clang-tools-extra/test/clang-apply-replacements/invalid-files.cpp
M clang-tools-extra/test/clang-apply-replacements/order-dependent.cpp
M clang-tools-extra/test/clang-apply-replacements/relative-paths.cpp
M clang-tools-extra/test/clang-apply-replacements/yml-basic.cpp
M clang-tools-extra/test/clang-change-namespace/allow-list.cpp
M clang-tools-extra/test/clang-change-namespace/macro.cpp
A clang-tools-extra/test/clang-doc/DR-131697.cpp
A clang-tools-extra/test/clang-doc/DR-141990.cpp
M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Calculator.h
M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Circle.h
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Rectangle.cpp
M clang-tools-extra/test/clang-doc/assets.cpp
A clang-tools-extra/test/clang-doc/basic-project.mustache.test
M clang-tools-extra/test/clang-doc/basic-project.test
A clang-tools-extra/test/clang-doc/builtin_types.cpp
A clang-tools-extra/test/clang-doc/comments-in-macros.cpp
A clang-tools-extra/test/clang-doc/conversion_function.cpp
M clang-tools-extra/test/clang-doc/enum.cpp
A clang-tools-extra/test/clang-doc/invalid-options.cpp
A clang-tools-extra/test/clang-doc/json/class-requires.cpp
A clang-tools-extra/test/clang-doc/json/class-specialization.cpp
A clang-tools-extra/test/clang-doc/json/class-template.cpp
A clang-tools-extra/test/clang-doc/json/class.cpp
A clang-tools-extra/test/clang-doc/json/compound-constraints.cpp
A clang-tools-extra/test/clang-doc/json/concept.cpp
A clang-tools-extra/test/clang-doc/json/function-requires.cpp
A clang-tools-extra/test/clang-doc/json/function-specifiers.cpp
A clang-tools-extra/test/clang-doc/json/method-template.cpp
A clang-tools-extra/test/clang-doc/json/namespace.cpp
A clang-tools-extra/test/clang-doc/json/nested-namespace.cpp
A clang-tools-extra/test/clang-doc/long-name.cpp
A clang-tools-extra/test/clang-doc/mustache-index.cpp
A clang-tools-extra/test/clang-doc/mustache-separate-namespace.cpp
M clang-tools-extra/test/clang-doc/namespace.cpp
M clang-tools-extra/test/clang-doc/single-file-public.cpp
M clang-tools-extra/test/clang-doc/single-file.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
M clang-tools-extra/test/clang-include-fixer/include_path.cpp
M clang-tools-extra/test/clang-include-fixer/multiple_fixes.cpp
M clang-tools-extra/test/clang-include-fixer/yamldb_autodetect.cpp
M clang-tools-extra/test/clang-move/move-class.cpp
M clang-tools-extra/test/clang-move/move-enum-decl.cpp
M clang-tools-extra/test/clang-move/move-function.cpp
M clang-tools-extra/test/clang-move/move-multiple-classes.cpp
M clang-tools-extra/test/clang-move/move-template-class.cpp
M clang-tools-extra/test/clang-move/move-type-alias.cpp
M clang-tools-extra/test/clang-move/move-used-helper-decls.cpp
M clang-tools-extra/test/clang-move/move-var.cpp
M clang-tools-extra/test/clang-move/no-move-macro-helpers.cpp
A clang-tools-extra/test/clang-query/trailing-comma.c
A clang-tools-extra/test/clang-reorder-fields/AggregatePartialInitialization.c
M clang-tools-extra/test/clang-reorder-fields/AggregatePartialInitialization.cpp
A clang-tools-extra/test/clang-reorder-fields/Comments.cpp
A clang-tools-extra/test/clang-reorder-fields/DesignatedInitializerList.c
A clang-tools-extra/test/clang-reorder-fields/DesignatedInitializerList.cpp
A clang-tools-extra/test/clang-reorder-fields/FieldAnnotationsInMacros.cpp
A clang-tools-extra/test/clang-reorder-fields/IdiomaticZeroInitializer.c
A clang-tools-extra/test/clang-reorder-fields/InitializerListExcessElements.c
A clang-tools-extra/test/clang-reorder-fields/MacroExpandsToMultipleFields.cpp
A clang-tools-extra/test/clang-reorder-fields/MacroExpansionField.cpp
A clang-tools-extra/test/clang-reorder-fields/MultipleFieldDeclsInStatement.cpp
A clang-tools-extra/test/clang-reorder-fields/PreprocessorDirectiveAroundDefinition.cpp
A clang-tools-extra/test/clang-reorder-fields/PreprocessorDirectiveAroundFields.cpp
A clang-tools-extra/test/clang-reorder-fields/PreprocessorDirectiveInDefinition.cpp
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/mutex
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/stdfloat
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/system-other.h
M clang-tools-extra/test/clang-tidy/checkers/abseil/Inputs/absl/strings/internal-file.h
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-addition.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-conversion-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-float.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-scale.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-unnecessary-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-startswith.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/upgrade-duration-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/altera/struct-pack-align.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-memfd-create.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-open.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-socket.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/comparison-in-temp-failure-retry-custom-macro.c
M clang-tools-extra/test/clang-tidy/checkers/android/comparison-in-temp-failure-retry.c
M clang-tools-extra/test/clang-tidy/checkers/boost/use-to-string.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/tagged-union-member-count/stdnamespace.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/tagged-union-member-count/system/pthread.h
M clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/unchecked-optional-access/bde/types/bdlb_nullablevalue.h
M clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-strict.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-2.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-macro-crash.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/capturing-this-in-member-variable.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/copy-constructor-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/crtp-constructor-accessibility.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/derived-method-shadowing-base-method.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-ignore.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicit-qualifiers.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicits.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-implicits.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-len2.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-len3.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-prefixsuffixname.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-qualifiermixing.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-relatedness.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-relatedness.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-coro.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-rethrow.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-throw.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/fold-init-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions-bitint-no-crash.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/infinite-loop.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/invalid-enum-default-initialization.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/invalid-enum-default-initialization.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/misleading-setter-of-reference.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-operator-in-strlen-in-alloc.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/move-forwarding-reference.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/multi-level-implicit-pointer-conversion.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-bitfields.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-equivalentbitwidth-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-ignoreconversionfromtypes-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-intemplates-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-long-is-32bits.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingfloatingpoint-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowinginteger-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-pedanticmode-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-unsigned-char.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-in-initialization-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-before-safe.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-cxx.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-stdc-want-lib-ext1-not-a-literal.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-undef-stdc-want-lib-ext1.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-wcslen.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion-construct-from-std.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/reserved-identifier-c.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/reserved-identifier.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-char-misuse-c23.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/standalone-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/string-constructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/swapped-arguments.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.m
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.mm
A clang-tools-extra/test/clang-tidy/checkers/bugprone/throwing-static-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unchecked-optional-access.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unchecked-string-to-number-conversion.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unchecked-string-to-number-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-self-assignment.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-allowed-types.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-cast-type.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions-custom-regex.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-local-non-trivial-variable-name-independence.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-local-non-trivial-variable.cpp
M clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.c
R clang-tools-extra/test/clang-tidy/checkers/cert/err34-c.c
R clang-tools-extra/test/clang-tidy/checkers/cert/err34-c.cpp
R clang-tools-extra/test/clang-tidy/checkers/cert/static-object-exception.cpp
M clang-tools-extra/test/clang-tidy/checkers/cert/uppercase-literal-suffix-integer.cpp
R clang-tools-extra/test/clang-tidy/checkers/cert/variadic-function-def.cpp
M clang-tools-extra/test/clang-tidy/checkers/concurrency/mt-unsafe-glibc.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-goto.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/interfaces-global-init.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward-custom-function.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-bitfields.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-equivalentbitwidth-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-ignoreconversionfromtypes-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-intemplates-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-long-is-32bits.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingfloatingpoint-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowinginteger-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-pedanticmode-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-unsigned-char.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-avoid-unchecked-container-access.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-pointer-arithmetic-pr36489.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-pointer-arithmetic.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-const-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-static-cast-downcast.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-vararg.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/rvalue-reference-param-not-moved-custom-function.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/use-enum-class.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/virtual-class-destructor.cpp
A clang-tools-extra/test/clang-tidy/checkers/custom/Inputs/clang-tidy.yml
A clang-tools-extra/test/clang-tidy/checkers/custom/Inputs/incorrect-clang-tidy.yml
A clang-tools-extra/test/clang-tidy/checkers/custom/query-incorrect-query.cpp
A clang-tools-extra/test/clang-tidy/checkers/custom/query-partially-active-check.cpp
A clang-tools-extra/test/clang-tidy/checkers/custom/query.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/default-arguments-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/multiple-inheritance.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/build-explicit-make-pair.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/explicit-constructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/objc-avoid-nsobject-new.m
M clang-tools-extra/test/clang-tidy/checkers/google/objc-function-naming.m
M clang-tools-extra/test/clang-tidy/checkers/google/readability-casting.cpp
A clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing-nested-namespaces.cpp
A clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing.cpp
A clang-tools-extra/test/clang-tidy/checkers/google/runtime-float.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/runtime-int-std.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-isa-or-dyn-cast-in-conditionals.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned2.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned3.cpp
A clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-static-over-anonymous-namespace.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/qualified-auto.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/twine-local.cpp
A clang-tools-extra/test/clang-tidy/checkers/llvm/use-new-mlir-op-builder.cpp
A clang-tools-extra/test/clang-tidy/checkers/llvm/use-ranges.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/override-with-different-visibility/test-system-header.h
M clang-tools-extra/test/clang-tidy/checkers/misc/confusable-identifiers.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-allowed-types.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers-values.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-transform-pointer-as-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-transform-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values-before-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-wrong-config.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
M clang-tools-extra/test/clang-tidy/checkers/misc/header-include-cycle.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/include-cleaner-wrong-config.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/override-with-different-visibility-ignore.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/override-with-different-visibility-options.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/override-with-different-visibility.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression-2.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/static-assert.c
M clang-tools-extra/test/clang-tidy/checkers/misc/static-assert.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unconventional-assign-operator.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-alias-decls.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-strict.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.c
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-consteval.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-macro.hpp
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-module.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-auto/containers.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-strings.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-variadic-functions.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-const.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-extra.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-rewritten-binop.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-multi-fixes.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal-delimiter.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal-replace-shorter.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-auto-ptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/return-braced-init-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/shrink-to-fit.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits-GH153649.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/unary-static-assert.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-iterator.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-bool-literals-ignore-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-constraints.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison-qt.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-c23.c
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-cxx98.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-scope-lock-warn-on-using-and-typedef-false.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-scoped-lock-warn-on-single-locks-false.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-scoped-lock.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-absl.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx14.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-wrong-config.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-transparent-functors.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header-fixed.h
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header.h
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-algorithm.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-string-concatenation.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor-fix.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/trivially-destructible.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/type-promotion-in-math-fn.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-excluded-container-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-allowed-types.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-coroutine.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
A clang-tools-extra/test/clang-tidy/checkers/portability/Inputs/avoid-pragma-once/lib0.h
A clang-tools-extra/test/clang-tidy/checkers/portability/Inputs/avoid-pragma-once/lib1.h
A clang-tools-extra/test/clang-tidy/checkers/portability/Inputs/avoid-pragma-once/lib2.h
A clang-tools-extra/test/clang-tidy/checkers/portability/avoid-pragma-once.cpp
M clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-transitive.cpp
M clang-tools-extra/test/clang-tidy/checkers/portability/std-allocator-const.cpp
M clang-tools-extra/test/clang-tidy/checkers/portability/template-virtual-member-function.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style1/header.h
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style2/header.h
A clang-tools-extra/test/clang-tidy/checkers/readability/ambiguous-smartptr-reset-call-custom-pointers.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/ambiguous-smartptr-reset-call.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/bitint-no-crash.c
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static-deducing-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/delete-null-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-warn.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity-flags.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/function-size-no-member-init-as-stmts.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/function-size.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-standard-types.h
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-symlink.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration.c
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/named-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c
M clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration-ignore-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.c
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-inline-specifier.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get-msvc.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-members.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-c23.c
A clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-cxx23.cpp
R clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-float16.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-floating-point-opencl-half.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-floating-point.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-hexadecimal-floating-point.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-ms.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/use-concise-preprocessor-directives.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/4/44/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/4/key-dict/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/append-clang-tidy.yml
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/empty-clang-tidy.yml
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/override-clang-tidy.yml
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/root-clang-tidy.yml
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/vfsoverlay.yaml
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/invalid-database/compile_commands.json
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/normalized-path/code.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/normalized-path/error-config/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/param/parameters.txt
M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-diff.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-run-with-database.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-store-check-profile-one-tu.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check-not-enable.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/dump-config-filtering.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/empty-database.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/export-relpath.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/file-filter-symlinks.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/file-filter.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.h
A clang-tools-extra/test/clang-tidy/infrastructure/hide-progress-flag-scripts.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/invalid-database.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/list-checks.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/normalized-path.test
M clang-tools-extra/test/clang-tidy/infrastructure/pr37091.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/quiet-flag.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file-error.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/read_file_config.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/run-clang-tidy-enable-check-profile.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/run-clang-tidy.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/static-analyzer-config.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/static-analyzer.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/system-headers.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/vfsoverlay.cpp
M clang-tools-extra/test/lit.cfg.py
M clang-tools-extra/test/lit.site.cfg.py.in
M clang-tools-extra/test/modularize/NoProblemsAssistant.modularize
M clang-tools-extra/unittests/clang-apply-replacements/ApplyReplacementsTest.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/CMakeLists.txt
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
A clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp
A clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
A clang-tools-extra/unittests/clang-doc/config.h.cmake
M clang-tools-extra/unittests/clang-tidy/CMakeLists.txt
M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
M clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp
M clang-tools-extra/unittests/include/common/VirtualFileHelper.h
A clang/AreaTeamMembers.txt
M clang/CMakeLists.txt
M clang/Maintainers.rst
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/CMakeLists.txt
A clang/bindings/python/tests/cindex/INPUTS/a.inc
A clang/bindings/python/tests/cindex/INPUTS/b.inc
A clang/bindings/python/tests/cindex/INPUTS/testfile.c
M clang/bindings/python/tests/cindex/test_cdb.py
M clang/bindings/python/tests/cindex/test_cursor.py
A clang/bindings/python/tests/cindex/test_cursor_language.py
M clang/bindings/python/tests/cindex/test_diagnostics.py
M clang/bindings/python/tests/cindex/test_enums.py
M clang/bindings/python/tests/cindex/test_file.py
M clang/bindings/python/tests/cindex/test_index.py
A clang/bindings/python/tests/cindex/test_lib.py
M clang/bindings/python/tests/cindex/test_location.py
M clang/bindings/python/tests/cindex/test_source_range.py
M clang/bindings/python/tests/cindex/test_translation_unit.py
M clang/bindings/python/tests/cindex/test_type.py
M clang/cmake/caches/Android.cmake
M clang/cmake/caches/Apple-stage1.cmake
M clang/cmake/caches/BOLT.cmake
M clang/cmake/caches/CrossWinToARMLinux.cmake
A clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/cmake/caches/HLSL.cmake
M clang/cmake/caches/Release.cmake
M clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross.cmake
A clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake
M clang/cmake/modules/AddClang.cmake
M clang/cmake/modules/ClangConfig.cmake.in
M clang/docs/APINotes.rst
M clang/docs/AddressSanitizer.rst
M clang/docs/AutomaticReferenceCounting.rst
M clang/docs/BoundsSafety.rst
A clang/docs/BoundsSafetyAdoptionGuide.rst
M clang/docs/BoundsSafetyImplPlans.rst
M clang/docs/CMakeLists.txt
A clang/docs/CXXTypeAwareAllocators.rst
M clang/docs/ClangFormat.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangLinkerWrapper.rst
M clang/docs/ClangOffloadBundler.rst
M clang/docs/ClangOffloadPackager.rst
M clang/docs/ClangRepl.rst
M clang/docs/ClangTools.rst
M clang/docs/ClangTransformerTutorial.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/ConstantInterpreter.rst
M clang/docs/ControlFlowIntegrity.rst
M clang/docs/DebuggingCoroutines.rst
M clang/docs/HIPSupport.rst
M clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/HLSL/FunctionCalls.rst
M clang/docs/HardwareAssistedAddressSanitizerDesign.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibASTImporter.rst
M clang/docs/LibASTMatchersReference.html
M clang/docs/LibClang.rst
M clang/docs/MSVCCompatibility.rst
M clang/docs/MatrixTypes.rst
M clang/docs/Modules.rst
M clang/docs/Multilib.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/PointerAuthentication.rst
M clang/docs/RealtimeSanitizer.rst
M clang/docs/ReleaseNotes.rst
A clang/docs/ReleaseNotesTemplate.txt
M clang/docs/SanitizerCoverage.rst
M clang/docs/SanitizerSpecialCaseList.rst
M clang/docs/ShadowCallStack.rst
M clang/docs/SourceBasedCodeCoverage.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/ThinLTO.rst
M clang/docs/ThreadSafetyAnalysis.rst
M clang/docs/Toolchain.rst
A clang/docs/TypeSanitizer.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
A clang/docs/analyzer/checkers/storetoimmutable_example.cpp
M clang/docs/analyzer/checkers/unix_malloc_example.c
M clang/docs/analyzer/developer-docs.rst
M clang/docs/analyzer/developer-docs/DebugChecks.rst
A clang/docs/analyzer/developer-docs/PerformanceInvestigation.rst
A clang/docs/analyzer/developer-docs/Statistics.rst
A clang/docs/analyzer/images/example_attribute_nonnull.png
A clang/docs/analyzer/images/example_cf_returns_retained.png
A clang/docs/analyzer/images/example_custom_assert.png
A clang/docs/analyzer/images/example_ns_returns_retained.png
A clang/docs/analyzer/images/example_null_pointer.png
A clang/docs/analyzer/images/example_use_assert.png
A clang/docs/analyzer/images/flamegraph.png
A clang/docs/analyzer/images/speedscope.png
A clang/docs/analyzer/images/uftrace_detailed.png
M clang/docs/analyzer/user-docs.rst
A clang/docs/analyzer/user-docs/Annotations.rst
M clang/docs/analyzer/user-docs/CommandLineUsage.rst
M clang/docs/analyzer/user-docs/CrossTranslationUnit.rst
M clang/docs/analyzer/user-docs/FAQ.rst
M clang/docs/analyzer/user-docs/Installation.rst
A clang/docs/analyzer/user-docs/Options.rst.in
A clang/docs/coro-async-task-continuations.png
A clang/docs/coro-generator-suspended.png
A clang/docs/coro-generator-variables.png
M clang/docs/doxygen.cfg.in
M clang/docs/index.rst
M clang/docs/tools/dump_ast_matchers.py
M clang/docs/tools/dump_format_help.py
M clang/docs/tools/dump_format_style.py
A clang/docs/tools/generate_analyzer_options_docs.py
M clang/examples/Attribute/Attribute.cpp
M clang/examples/CallSuperAttribute/CallSuperAttrInfo.cpp
M clang/include/clang-c/CXString.h
M clang/include/clang-c/FatalErrorHandler.h
M clang/include/clang-c/Index.h
M clang/include/clang-c/Platform.h
M clang/include/clang/APINotes/APINotesManager.h
M clang/include/clang/APINotes/Types.h
R clang/include/clang/ARCMigrate/ARCMT.h
R clang/include/clang/ARCMigrate/ARCMTActions.h
R clang/include/clang/ARCMigrate/FileRemapper.h
M clang/include/clang/AST/APNumericStorage.h
M clang/include/clang/AST/APValue.h
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTDiagnostic.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTImporterLookupTable.h
M clang/include/clang/AST/ASTLambda.h
M clang/include/clang/AST/ASTMutationListener.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/AST/ASTTypeTraits.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/AttrIterator.h
M clang/include/clang/AST/CXXInheritance.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/Comment.h
M clang/include/clang/AST/CommentHTMLTags.td
M clang/include/clang/AST/CommentSema.h
M clang/include/clang/AST/ComputeDependence.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/DeclFriend.h
M clang/include/clang/AST/DeclGroup.h
M clang/include/clang/AST/DeclID.h
M clang/include/clang/AST/DeclObjC.h
A clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/DeclOpenMP.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/DeclVisitor.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/DependenceFlags.h
M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/ExprOpenMP.h
M clang/include/clang/AST/ExternalASTMerger.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/FormatString.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/Mangle.h
M clang/include/clang/AST/NestedNameSpecifier.h
A clang/include/clang/AST/NestedNameSpecifierBase.h
M clang/include/clang/AST/NonTrivialTypeVisitor.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/OperationKinds.def
M clang/include/clang/AST/PrettyPrinter.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/QualTypeNames.h
M clang/include/clang/AST/RecordLayout.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/SYCLKernelInfo.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtCXX.h
M clang/include/clang/AST/StmtObjC.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/StmtOpenMP.h
A clang/include/clang/AST/StmtSYCL.h
M clang/include/clang/AST/StmtVisitor.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
A clang/include/clang/AST/TypeBase.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/AST/UnresolvedSet.h
M clang/include/clang/ASTMatchers/ASTMatchFinder.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/ASTMatchers/ASTMatchersMacros.h
A clang/include/clang/ASTMatchers/LowLevelHelpers.h
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/LiveVariables.h
M clang/include/clang/Analysis/Analyses/ThreadSafety.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h
M clang/include/clang/Analysis/Analyses/UninitializedValues.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/AnalysisDeclContext.h
M clang/include/clang/Analysis/CFG.h
M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/include/clang/Analysis/FlowSensitive/CachedConstAccessorsLattice.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/Formula.h
A clang/include/clang/Analysis/FlowSensitive/FormulaSerialization.h
M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
M clang/include/clang/Analysis/FlowSensitive/RecordOps.h
A clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/include/clang/Analysis/FlowSensitive/StorageLocation.h
M clang/include/clang/Analysis/ProgramPoint.h
A clang/include/clang/Analysis/Support/FixitUtil.h
A clang/include/clang/Basic/AArch64ACLETypes.def
R clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/include/clang/Basic/ABI.h
A clang/include/clang/Basic/ABIVersions.def
M clang/include/clang/Basic/AddressSpaces.h
A clang/include/clang/Basic/AllDiagnosticKinds.inc
M clang/include/clang/Basic/AllDiagnostics.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/AttributeCommonInfo.h
A clang/include/clang/Basic/AttributeScopeInfo.h
M clang/include/clang/Basic/Attributes.h
M clang/include/clang/Basic/BuiltinHeaders.def
A clang/include/clang/Basic/BuiltinTemplates.td
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsARM.def
M clang/include/clang/Basic/BuiltinsBase.td
A clang/include/clang/Basic/BuiltinsDirectX.td
R clang/include/clang/Basic/BuiltinsHexagon.def
A clang/include/clang/Basic/BuiltinsHexagon.td
R clang/include/clang/Basic/BuiltinsHexagonDep.def
R clang/include/clang/Basic/BuiltinsLoongArch.def
R clang/include/clang/Basic/BuiltinsNEON.def
R clang/include/clang/Basic/BuiltinsNVPTX.def
A clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/BuiltinsRISCV.td
R clang/include/clang/Basic/BuiltinsRISCVVector.def
A clang/include/clang/Basic/BuiltinsRISCVXAndes.td
M clang/include/clang/Basic/BuiltinsRISCVXCV.td
A clang/include/clang/Basic/BuiltinsRISCVXMIPS.td
R clang/include/clang/Basic/BuiltinsSME.def
A clang/include/clang/Basic/BuiltinsSPIRVBase.td
A clang/include/clang/Basic/BuiltinsSPIRVCL.td
A clang/include/clang/Basic/BuiltinsSPIRVCommon.td
A clang/include/clang/Basic/BuiltinsSPIRVVK.td
R clang/include/clang/Basic/BuiltinsSVE.def
M clang/include/clang/Basic/BuiltinsSystemZ.def
M clang/include/clang/Basic/BuiltinsWebAssembly.def
R clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/BuiltinsX86.td
A clang/include/clang/Basic/BuiltinsX86Base.td
R clang/include/clang/Basic/BuiltinsX86_64.def
A clang/include/clang/Basic/BuiltinsX86_64.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/CustomizableOptional.h
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Basic/DeclNodes.td
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticCategories.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCommentKinds.td
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticOptions.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
A clang/include/clang/Basic/DiagnosticTrap.h
A clang/include/clang/Basic/DiagnosticTrapKinds.td
M clang/include/clang/Basic/FPOptions.def
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/HeaderInclude.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/JsonSupport.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/LangStandards.def
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/NoSanitizeList.h
M clang/include/clang/Basic/ObjCRuntime.h
A clang/include/clang/Basic/OffloadArch.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Basic/PPCTypes.def
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Basic/ProfileList.h
M clang/include/clang/Basic/SanitizerSpecialCaseList.h
M clang/include/clang/Basic/Sanitizers.def
M clang/include/clang/Basic/Sanitizers.h
A clang/include/clang/Basic/SimpleTypoCorrection.h
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/SourceManager.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Basic/Stack.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/SyncScope.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TargetOSMacros.def
M clang/include/clang/Basic/TargetOptions.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TokenKinds.h
M clang/include/clang/Basic/TypeNodes.td
A clang/include/clang/Basic/UnsignedOrNone.h
M clang/include/clang/Basic/Version.inc.in
M clang/include/clang/Basic/arm_immcheck_incl.td
M clang/include/clang/Basic/arm_mve.td
M clang/include/clang/Basic/arm_mve_defs.td
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.td
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
A clang/include/clang/Basic/riscv_andes_vector.td
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
A clang/include/clang/CIR/ABIArgInfo.h
M clang/include/clang/CIR/CIRGenerator.h
A clang/include/clang/CIR/CIRToCIRPasses.h
M clang/include/clang/CIR/CMakeLists.txt
A clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/CMakeLists.txt
A clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
A clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
A clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
A clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
A clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/Dialect/IR/CIROpsEnums.h
A clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
A clang/include/clang/CIR/Dialect/IR/CIRTypes.h
A clang/include/clang/CIR/Dialect/IR/CIRTypes.td
A clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
A clang/include/clang/CIR/Dialect/OpenACC/CIROpenACCTypeInterfaces.h
A clang/include/clang/CIR/Dialect/OpenACC/RegisterOpenACCExtensions.h
A clang/include/clang/CIR/Dialect/Passes.h
A clang/include/clang/CIR/Dialect/Passes.td
A clang/include/clang/CIR/FrontendAction/.clang-tidy
M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
A clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.h
A clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.td
A clang/include/clang/CIR/Interfaces/CIROpInterfaces.h
A clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
A clang/include/clang/CIR/Interfaces/CIRTypeInterfaces.h
A clang/include/clang/CIR/Interfaces/CIRTypeInterfaces.td
A clang/include/clang/CIR/Interfaces/CMakeLists.txt
A clang/include/clang/CIR/LowerToLLVM.h
A clang/include/clang/CIR/LoweringHelpers.h
A clang/include/clang/CIR/MissingFeatures.h
A clang/include/clang/CIR/Passes.h
A clang/include/clang/CIR/TypeEvaluationKind.h
R clang/include/clang/CIRFrontendAction/.clang-tidy
M clang/include/clang/CodeGen/BackendUtil.h
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/include/clang/CodeGen/CodeGenABITypes.h
M clang/include/clang/Config/config.h.cmake
M clang/include/clang/Driver/Action.h
A clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Compilation.h
A clang/include/clang/Driver/CudaInstallationDetector.h
M clang/include/clang/Driver/Distro.h
M clang/include/clang/Driver/Driver.h
A clang/include/clang/Driver/LazyDetector.h
M clang/include/clang/Driver/Multilib.h
M clang/include/clang/Driver/OffloadBundler.h
M clang/include/clang/Driver/Options.td
A clang/include/clang/Driver/RocmInstallationDetector.h
M clang/include/clang/Driver/SanitizerArgs.h
A clang/include/clang/Driver/SyclInstallationDetector.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Driver/Types.def
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTConsumers.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CommandLineSourceLoc.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/DiagnosticRenderer.h
M clang/include/clang/Frontend/FrontendAction.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Frontend/LogDiagnosticPrinter.h
M clang/include/clang/Frontend/PrecompiledPreamble.h
M clang/include/clang/Frontend/SARIFDiagnostic.h
M clang/include/clang/Frontend/SARIFDiagnosticPrinter.h
M clang/include/clang/Frontend/SerializedDiagnosticPrinter.h
M clang/include/clang/Frontend/TextDiagnostic.h
M clang/include/clang/Frontend/TextDiagnosticPrinter.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Frontend/VerifyDiagnosticConsumer.h
M clang/include/clang/Index/IndexSymbol.h
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/include/clang/Interpreter/Value.h
M clang/include/clang/Lex/DependencyDirectivesScanner.h
A clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
A clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/include/clang/Lex/Lexer.h
M clang/include/clang/Lex/LiteralSupport.h
M clang/include/clang/Lex/ModuleLoader.h
M clang/include/clang/Lex/ModuleMap.h
A clang/include/clang/Lex/ModuleMapFile.h
A clang/include/clang/Lex/NoTrivialPPDirectiveTracer.h
M clang/include/clang/Lex/PPCallbacks.h
M clang/include/clang/Lex/PreprocessingRecord.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/include/clang/Lex/Token.h
M clang/include/clang/Lex/TokenLexer.h
M clang/include/clang/Parse/LoopHint.h
A clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Parse/RAIIObjectsForParser.h
M clang/include/clang/Sema/AnalysisBasedWarnings.h
M clang/include/clang/Sema/CMakeLists.txt
M clang/include/clang/Sema/CodeCompleteConsumer.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/EnterExpressionEvaluationContext.h
M clang/include/clang/Sema/HLSLExternalSemaSource.h
A clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/Lookup.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/Ownership.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/ParsedTemplate.h
M clang/include/clang/Sema/RISCVIntrinsicManager.h
M clang/include/clang/Sema/Redeclaration.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/ScopeInfo.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaAMDGPU.h
M clang/include/clang/Sema/SemaARM.h
M clang/include/clang/Sema/SemaBase.h
M clang/include/clang/Sema/SemaCUDA.h
M clang/include/clang/Sema/SemaCodeCompletion.h
M clang/include/clang/Sema/SemaConcept.h
A clang/include/clang/Sema/SemaDirectX.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaInternal.h
M clang/include/clang/Sema/SemaLambda.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/SemaPseudoObject.h
M clang/include/clang/Sema/SemaRISCV.h
A clang/include/clang/Sema/SemaSPIRV.h
M clang/include/clang/Sema/SemaSYCL.h
M clang/include/clang/Sema/SemaWasm.h
M clang/include/clang/Sema/SemaX86.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Sema/TemplateDeduction.h
M clang/include/clang/Sema/TypoCorrection.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ContinuousRangeMap.h
A clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/Serialization/ModuleManager.h
M clang/include/clang/Serialization/SourceLocationEncoding.h
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
A clang/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntPtr.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
A clang/include/clang/StaticAnalyzer/Core/PathSensitive/EntryPointStats.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/LoopWidening.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
M clang/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h
M clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h
M clang/include/clang/Support/Compiler.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
A clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
M clang/include/clang/Tooling/Refactoring/Lookup.h
M clang/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h
M clang/include/clang/Tooling/Tooling.h
M clang/include/clang/Tooling/Transformer/Transformer.h
M clang/include/module.modulemap
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesTypes.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
R clang/lib/ARCMigrate/ARCMT.cpp
R clang/lib/ARCMigrate/ARCMTActions.cpp
R clang/lib/ARCMigrate/CMakeLists.txt
R clang/lib/ARCMigrate/FileRemapper.cpp
R clang/lib/ARCMigrate/Internals.h
R clang/lib/ARCMigrate/ObjCMT.cpp
R clang/lib/ARCMigrate/PlistReporter.cpp
R clang/lib/ARCMigrate/TransAPIUses.cpp
R clang/lib/ARCMigrate/TransARCAssign.cpp
R clang/lib/ARCMigrate/TransAutoreleasePool.cpp
R clang/lib/ARCMigrate/TransBlockObjCVariable.cpp
R clang/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp
R clang/lib/ARCMigrate/TransGCAttrs.cpp
R clang/lib/ARCMigrate/TransGCCalls.cpp
R clang/lib/ARCMigrate/TransProperties.cpp
R clang/lib/ARCMigrate/TransProtectedScope.cpp
R clang/lib/ARCMigrate/TransRetainReleaseDealloc.cpp
R clang/lib/ARCMigrate/TransUnbridgedCasts.cpp
R clang/lib/ARCMigrate/TransUnusedInitDelegate.cpp
R clang/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp
R clang/lib/ARCMigrate/TransformActions.cpp
R clang/lib/ARCMigrate/Transforms.cpp
R clang/lib/ARCMigrate/Transforms.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTImporterLookupTable.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ASTTypeTraits.cpp
M clang/lib/AST/AttrImpl.cpp
A clang/lib/AST/ByteCode/BitcastBuffer.cpp
A clang/lib/AST/ByteCode/BitcastBuffer.h
M clang/lib/AST/ByteCode/Boolean.h
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/lib/AST/ByteCode/EvaluationResult.h
M clang/lib/AST/ByteCode/FixedPoint.h
M clang/lib/AST/ByteCode/Floating.h
R clang/lib/AST/ByteCode/Frame.cpp
M clang/lib/AST/ByteCode/Frame.h
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/FunctionPointer.cpp
M clang/lib/AST/ByteCode/FunctionPointer.h
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/IntegralAP.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBlock.cpp
M clang/lib/AST/ByteCode/InterpBlock.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpShared.cpp
M clang/lib/AST/ByteCode/InterpShared.h
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/MemberPointer.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/lib/AST/ByteCode/Record.cpp
M clang/lib/AST/ByteCode/Record.h
M clang/lib/AST/ByteCode/Source.h
M clang/lib/AST/ByteCode/State.cpp
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/CXXInheritance.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/CommentLexer.cpp
M clang/lib/AST/CommentParser.cpp
M clang/lib/AST/CommentSema.cpp
M clang/lib/AST/ComparisonCategories.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclGroup.cpp
M clang/lib/AST/DeclObjC.cpp
A clang/lib/AST/DeclOpenACC.cpp
M clang/lib/AST/DeclOpenMP.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/DeclarationName.cpp
M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConcepts.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExprObjC.cpp
M clang/lib/AST/ExternalASTMerger.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/InheritViz.cpp
M clang/lib/AST/ItaniumCXXABI.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/Linkage.h
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NSAPI.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRDiagsEmitter.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OSLog.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/ParentMap.cpp
M clang/lib/AST/ParentMapContext.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/Randstruct.cpp
M clang/lib/AST/RawCommentList.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtCXX.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTTBuilder.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/CMakeLists.txt
M clang/lib/ASTMatchers/Dynamic/Marshallers.h
M clang/lib/ASTMatchers/Dynamic/Parser.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/ASTMatchers/Dynamic/VariantValue.cpp
M clang/lib/ASTMatchers/GtestMatchers.cpp
A clang/lib/ASTMatchers/LowLevelHelpers.cpp
M clang/lib/Analysis/AnalysisDeclContext.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/CFGReachabilityAnalysis.cpp
M clang/lib/Analysis/CFGStmtMap.cpp
M clang/lib/Analysis/CMakeLists.txt
M clang/lib/Analysis/CallGraph.cpp
M clang/lib/Analysis/CalledOnceCheck.cpp
M clang/lib/Analysis/CloneDetection.cpp
M clang/lib/Analysis/CocoaConventions.cpp
M clang/lib/Analysis/Consumed.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
A clang/lib/Analysis/FixitUtil.cpp
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
M clang/lib/Analysis/FlowSensitive/CNFFormula.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Formula.cpp
A clang/lib/Analysis/FlowSensitive/FormulaSerialization.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
A clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/FlowSensitive/Value.cpp
M clang/lib/Analysis/IntervalPartition.cpp
M clang/lib/Analysis/IssueHash.cpp
A clang/lib/Analysis/LifetimeSafety.cpp
M clang/lib/Analysis/LiveVariables.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/ProgramPoint.cpp
M clang/lib/Analysis/ReachableCode.cpp
M clang/lib/Analysis/RetainSummaryManager.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Analysis/ThreadSafetyTIL.cpp
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
M clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp
M clang/lib/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/ExpressionTraits.cpp
M clang/lib/Basic/FileEntry.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/FileSystemStatCache.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/NoSanitizeList.cpp
A clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/ProfileList.cpp
M clang/lib/Basic/SanitizerSpecialCaseList.cpp
M clang/lib/Basic/Sanitizers.cpp
M clang/lib/Basic/Sarif.cpp
A clang/lib/Basic/SimpleTypoCorrection.cpp
M clang/lib/Basic/SourceLocation.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/Stack.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/ARC.cpp
M clang/lib/Basic/Targets/ARC.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/AVR.cpp
M clang/lib/Basic/Targets/AVR.h
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Basic/Targets/BPF.h
M clang/lib/Basic/Targets/CSKY.cpp
M clang/lib/Basic/Targets/CSKY.h
M clang/lib/Basic/Targets/DirectX.cpp
R clang/lib/Driver/ToolChains/CommonArgs.h
R clang/lib/Driver/ToolChains/LazyDetector.h
R clang/test/ARCMT/Inputs/Module.framework/Module
R clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-sm_52.bc
R clang/www/analyzer/images/example_attribute_nonnull.png
R clang/www/analyzer/images/example_cf_returns_retained.png
R clang/www/analyzer/images/example_custom_assert.png
R clang/www/analyzer/images/example_ns_returns_retained.png
R clang/www/analyzer/images/example_null_pointer.png
R clang/www/analyzer/images/example_use_assert.png
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.6-beta.1
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/78ac4cbde415...02a2f4f078e1
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