[all-commits] [llvm/llvm-project] 159806: [Flang][OpenMP][Docs] Update target-related suppor...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Wed Aug 6 04:54:34 PDT 2025
Branch: refs/heads/users/alexey-bataev/spr/slpcheck-for-extracts-being-replaced-by-original-scalares-for-user-nodes
Home: https://github.com/llvm/llvm-project
Commit: 15980624ac516ae2dbbf1f2cd24d63de0f9fd2be
https://github.com/llvm/llvm-project/commit/15980624ac516ae2dbbf1f2cd24d63de0f9fd2be
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M flang/docs/OpenMPSupport.md
Log Message:
-----------
[Flang][OpenMP][Docs] Update target-related support in Flang docs, NFC (#150443)
Update docs to state that reduction is supported on OpenMP `loop` and
`teams` standalone and compound constructs.
Commit: 2abd58cb7e817767e69f3c71512ff5c4b79bc881
https://github.com/llvm/llvm-project/commit/2abd58cb7e817767e69f3c71512ff5c4b79bc881
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
M offload/unittests/Conformance/CMakeLists.txt
M offload/unittests/Conformance/device_code/CMakeLists.txt
A offload/unittests/Conformance/device_code/LLVMLibm.c
R offload/unittests/Conformance/device_code/sin.c
A offload/unittests/Conformance/include/mathtest/CommandLine.hpp
A offload/unittests/Conformance/include/mathtest/CommandLineExtras.hpp
A offload/unittests/Conformance/include/mathtest/DeviceContext.hpp
A offload/unittests/Conformance/include/mathtest/DeviceResources.hpp
A offload/unittests/Conformance/include/mathtest/ErrorHandling.hpp
A offload/unittests/Conformance/include/mathtest/ExhaustiveGenerator.hpp
A offload/unittests/Conformance/include/mathtest/GpuMathTest.hpp
A offload/unittests/Conformance/include/mathtest/HostRefChecker.hpp
A offload/unittests/Conformance/include/mathtest/IndexedRange.hpp
A offload/unittests/Conformance/include/mathtest/InputGenerator.hpp
A offload/unittests/Conformance/include/mathtest/Numerics.hpp
A offload/unittests/Conformance/include/mathtest/OffloadForward.hpp
A offload/unittests/Conformance/include/mathtest/Support.hpp
A offload/unittests/Conformance/include/mathtest/TestConfig.hpp
A offload/unittests/Conformance/include/mathtest/TestResult.hpp
A offload/unittests/Conformance/include/mathtest/TestRunner.hpp
A offload/unittests/Conformance/include/mathtest/TypeExtras.hpp
A offload/unittests/Conformance/lib/CMakeLists.txt
A offload/unittests/Conformance/lib/CommandLineExtras.cpp
A offload/unittests/Conformance/lib/DeviceContext.cpp
A offload/unittests/Conformance/lib/DeviceResources.cpp
A offload/unittests/Conformance/lib/ErrorHandling.cpp
A offload/unittests/Conformance/lib/TestConfig.cpp
R offload/unittests/Conformance/sin.cpp
A offload/unittests/Conformance/tests/CMakeLists.txt
A offload/unittests/Conformance/tests/Hypotf16Test.cpp
A offload/unittests/Conformance/tests/LogfTest.cpp
Log Message:
-----------
[Offload] Add framework for math conformance tests (#149242)
This PR introduces the initial version of a C++ framework for the
conformance testing of GPU math library functions, building upon the
skeleton provided in #146391.
The main goal of this framework is to systematically measure the
accuracy of math functions in the GPU libc, verifying correctness or at
least conformance to standards like OpenCL via exhaustive or random
accuracy tests.
Commit: 0a4c6522a6a48cf053d334445b919e769e64ab9b
https://github.com/llvm/llvm-project/commit/0a4c6522a6a48cf053d334445b919e769e64ab9b
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/lib/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.cpp
M mlir/test/Conversion/ComplexToROCDLLibraryCalls/complex-to-rocdl-library-calls.mlir
Log Message:
-----------
[MLIR] Add conversion support for more ops from ComplexToROCDLLibraryCalls (#151166)
Commit: 32779cd6989e5b30a9ecd4e3c1db62fa551caefb
https://github.com/llvm/llvm-project/commit/32779cd6989e5b30a9ecd4e3c1db62fa551caefb
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/call.c
A clang/test/CIR/CodeGen/no-prototype.c
M clang/test/CIR/IR/func.cir
Log Message:
-----------
[CIR] Add proper handling for no prototype function calls (#150553)
This adds standard-comforming handling for calls to functions that were
declared in C source in the no prototype form.
Commit: 111edfcab89b8e36e1fc791ac052133b5de4b2a2
https://github.com/llvm/llvm-project/commit/111edfcab89b8e36e1fc791ac052133b5de4b2a2
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/src/math/CMakeLists.txt
A libc/src/math/fabsbf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/fabsbf16.cpp
M libc/test/src/math/generic/CMakeLists.txt
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/fabsbf16_test.cpp
Log Message:
-----------
[libc][math][c++23] Add fabsbf16 math function (#148398)
This PR implements fabsbf16 math function for BFloat16 type along with
the tests.
---------
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Co-authored-by: OverMighty <its.overmighty at gmail.com>
Commit: 88620aee98dd677bfb94712f957c752bfab2077f
https://github.com/llvm/llvm-project/commit/88620aee98dd677bfb94712f957c752bfab2077f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/test/CIR/CodeGen/array-ctor.cpp
A clang/test/CIR/CodeGen/array-dtor.cpp
A clang/test/CIR/IR/array-dtor.cir
Log Message:
-----------
[CIR] Add support for array cleanups (#150499)
This adds support for array cleanups, including the ArrayDtor op.
Commit: f925ecbf19d459ff3ea77c40169a4572381082f2
https://github.com/llvm/llvm-project/commit/f925ecbf19d459ff3ea77c40169a4572381082f2
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcisim-valid.s
M llvm/test/MC/RISCV/xqcisync-valid.s
Log Message:
-----------
[RISCV] Use Hints for Xqcisim/Xqcisync Aliases (#151040)
My aim here is to make these a little easier to maintain by relying on
aliases where these instructions overlap with the Hint instructions they
are based on.
The following instructions have not been converted to aliases as they
have complex mappings from ther immediate encodings to the immediate
encoding of the underlying instruction (setting high bits):
- qc.pputci
- qc.sync, qc.sync, qc.syncwf, qc.syncwl
- qc.c.sync, qc.c.syncr, qc.c.syncwf, qc.syncwl
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>
Commit: e1e312e6af34803d1686d9ce5a441446811f425d
https://github.com/llvm/llvm-project/commit/e1e312e6af34803d1686d9ce5a441446811f425d
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
R cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/__init__.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
Log Message:
-----------
Revert "[Dexter] Add DAP support for Dexter, including lldb-dap (#149394)"
This reverts commit 83dfdd8f5485f6b50213c88f02878f86b3f53852.
Temporary revert, as the above patch contains some python code requiring at
least version 3.10, when the minimum required by LLVM is 3.8.
Commit: 875491f59e688f2f7dea437a2425ed7bed1a0708
https://github.com/llvm/llvm-project/commit/875491f59e688f2f7dea437a2425ed7bed1a0708
Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[rtsan][compiler-rt] Fix ioctl test causing segfault on exit (#151182)
I was observing segfaults at executable exit in the rtsan instrumented
unit tests. Bisecting the offending test led to observing that this test
is not using our safe test fixture for anything involving a file
descriptor. Changing to use the fixture eliminated the segfault on exit.
Commit: 335dbba741aaee369c3c8d11224a63255a6ecb85
https://github.com/llvm/llvm-project/commit/335dbba741aaee369c3c8d11224a63255a6ecb85
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OMPIRBuilder] Don't drop debug loc from LocationDescription. (#148713)
`LocationDescription` contains both the insertion point and the debug
location. When `LocationDescription` is available, it is better to use
`updateToLocation` which will update both. This PR replaces
`restoreIP(Loc.IP)` with `updateToLocation(Loc)` as former may not
update debug location in all cases.
I am not checking the return value of `updateToLocation` because that is
checked just a few lines above in all cases and we would have returned
early if it failed.
Commit: a653934b581b2132b1f67ddfb304d5f12681180d
https://github.com/llvm/llvm-project/commit/a653934b581b2132b1f67ddfb304d5f12681180d
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/__support/wchar/CMakeLists.txt
A libc/src/__support/wchar/mbsnrtowcs.h
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/mbsnrtowcs.cpp
A libc/src/wchar/mbsnrtowcs.h
A libc/src/wchar/mbsrtowcs.cpp
A libc/src/wchar/mbsrtowcs.h
A libc/src/wchar/mbstowcs.cpp
A libc/src/wchar/mbstowcs.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/mbsnrtowcs_test.cpp
A libc/test/src/wchar/mbsrtowcs_test.cpp
A libc/test/src/wchar/mbstowcs_test.cpp
Log Message:
-----------
[libc] Reland wchar string conversion mb to wc (#151048)
Added crash on nullptr to mbstowcs
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: a1aba84c2bc23d98a25e265678dd4752f78c5b3f
https://github.com/llvm/llvm-project/commit/a1aba84c2bc23d98a25e265678dd4752f78c5b3f
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/pthread_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/pthread_barrier_t.h
A libc/hdr/types/pthread_barrierattr_t.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/__barrier_type.h
A libc/include/llvm-libc-types/pthread_barrier_t.h
A libc/include/llvm-libc-types/pthread_barrierattr_t.h
M libc/include/pthread.yaml
M libc/src/__support/threads/linux/CMakeLists.txt
A libc/src/__support/threads/linux/barrier.cpp
A libc/src/__support/threads/linux/barrier.h
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_barrier_destroy.cpp
A libc/src/pthread/pthread_barrier_destroy.h
A libc/src/pthread/pthread_barrier_init.cpp
A libc/src/pthread/pthread_barrier_init.h
A libc/src/pthread/pthread_barrier_wait.cpp
A libc/src/pthread/pthread_barrier_wait.h
M libc/test/integration/src/pthread/CMakeLists.txt
A libc/test/integration/src/pthread/pthread_barrier_test.cpp
Log Message:
-----------
[libc] Reland #148948 "Implement barriers for pthreads" (#151021)
Fixed build dependencies for pthread_barrier_t (add __barrier_type to
cmake dependencies)
Commit: 330a7e1136f536bf7cd642e460734d0bd6e0d0bb
https://github.com/llvm/llvm-project/commit/330a7e1136f536bf7cd642e460734d0bd6e0d0bb
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Linalg/vectorization/extract-with-patterns.mlir
M mlir/test/Dialect/Vector/vector-sink.mlir
Log Message:
-----------
[mlir][Vector] Make elementwise-on-broadcast sinking handle splat consts (#150867)
There is a pattern that rewrites
elementwise_op(broadcast(x1 : T to U), broadcast(x2 : T to U), ...) to
broadcast(elementwise_op(x1, x2, ...) : T to U).
This pattern did not, however, account for the case where a broadcast
constant is represented as a SplatElementsAttr, which can safely be
reshaped or scalarized but is not a `vector.broadcast` or `vector.splat`
operation.
This patch fixes this oversight, prenting premature broadcasting.
This did result in the need to update some linalg dialect tests, which
now feature a less-broadcast computation and/or more constant folding.
Commit: 6184ef1c2fccce14cd5c0924ee3cced830e1541b
https://github.com/llvm/llvm-project/commit/6184ef1c2fccce14cd5c0924ee3cced830e1541b
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_ds.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vbuffer_mubuf.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_ds.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vbuffer_mubuf.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
Log Message:
-----------
[AMDGPU] Support f64 atomics on gfx1250 (#151172)
- BUF/FLAT/GLOBAL_ADD/MIN/MAX_F64
- DS_ADD_F64
Co-authored-by: Konstantin Zhuravlyov <Konstantin Zhuravlyov at amd.com>
Commit: 8a1b252a994dee0c30238f2e6c07516ec523cb70
https://github.com/llvm/llvm-project/commit/8a1b252a994dee0c30238f2e6c07516ec523cb70
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/ctor-alias.cpp
M clang/test/CIR/CodeGen/dtor-alias.cpp
Log Message:
-----------
[CIR] Upstream proper function alias lowering (#150520)
This change implements correct lowering of function aliases to the LLVM
dialect.
Commit: dc6d7f0637e7c80e39e8b7f0e8b61515b4961b0f
https://github.com/llvm/llvm-project/commit/dc6d7f0637e7c80e39e8b7f0e8b61515b4961b0f
Author: Vivian Zhang <zhyuhang88 at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp
M mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface-multiple-of.mlir
M mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface.mlir
Log Message:
-----------
[mlir][linalg] Fix padding shape computation in PadTilingInterface for convs (#149576)
This PR fixes the computation of padded shapes for convolution-style
affine maps (e.g., d0 + d1) in `PadTilingInterface`. Previously, the
codes used the direct sum of loop upper bounds, leading to over-padding.
For example, the following `conv_2d_nhwc_fhwc` op, if only padding the c
dimensions to multiples of 16, it also incorrectly pads the convolved
dimensions and generates the wrong input shape as:
```
%padded = tensor.pad %arg0 low[0, 0, 0, 0] high[0, 1, 1, 12] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst : f32
} : tensor<1x16x16x4xf32> to tensor<1x17x17x16xf32>
%padded_0 = tensor.pad %arg1 low[0, 0, 0, 0] high[0, 0, 0, 12] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst : f32
} : tensor<16x3x3x4xf32> to tensor<16x3x3x16xf32>
%0 = linalg.conv_2d_nhwc_fhwc {dilations = dense<1> : tensor<2xi64>, strides = dense<1> : tensor<2xi64>} ins(%padded, %padded_0 : tensor<1x17x17x16xf32>, tensor<16x3x3x16xf32>) outs(%arg2 : tensor<1x14x14x16xf32>) -> tensor<1x14x14x16xf32>
return %0 : tensor<1x14x14x16xf32>
```
The new implementation uses the maximum accessed index as the input for
affine map and then adds 1 after aggregating all the terms to get the
final padded size. This fixed
https://github.com/llvm/llvm-project/issues/148679.
Commit: 28b319005371afa1392fb405c53139c4ae2b3066
https://github.com/llvm/llvm-project/commit/28b319005371afa1392fb405c53139c4ae2b3066
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/test/Preprocessor/Inputs/llvm-windres.h
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/test/CodeGen/X86/stack-protector.ll
M llvm/test/CodeGen/X86/win32-ssp.ll
M llvm/test/tools/llvm-rc/windres-preproc.test
M llvm/tools/llvm-rc/llvm-rc.cpp
Log Message:
-----------
[LLVM][Cygwin] Enable conditions that are shared with MinGW (#149638)
Cygwin and MinGW share the auto import behavior that could result in
__stack_check_guard being non-dso-local. Allow windres to assume a
Cygwin target as well as a MinGW one, so defines like _WIN32 would not
be present on Cygwin.
Commit: a3228b6bf98c3efce3722700cf71f8b093e7870c
https://github.com/llvm/llvm-project/commit/a3228b6bf98c3efce3722700cf71f8b093e7870c
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CodeGen/ms_struct-long-double.c
M clang/test/Preprocessor/init-x86.c
Log Message:
-----------
[Clang][Cygwin] Enable few conditions that are shared with MinGW (#149637)
The Cygwin target is generally very similar to the MinGW target. The
default auto-import behavior, the default calling convention, the
`.dll.a` import library extension, the `__GXX_TYPEINFO_EQUALITY_INLINE`
pre-define by `g++`, and the long double configuration.
Co-authored-by: Mateusz Mikuła <oss at mateuszmikula.dev>
Commit: 2a3f72ee6e435382dd5bc46f2961c3698ac20eec
https://github.com/llvm/llvm-project/commit/2a3f72ee6e435382dd5bc46f2961c3698ac20eec
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/branch-relaxation-inst-size-gfx11.ll
Log Message:
-----------
[AMDGPU][CodeGen][True16] Correct size calculation for d16 insts (#151042)
D16 pesudo instructions are introduced in true16 mode to represet a D16
load/store. In MC lowering, the pesudo instructions are lowered to the
corresponding D16 Lo/Hi MC Inst respecting the register allocation.
However, the pesudo instruction has size 0 and cause an issue in the
Inst size estimation. Use D16 Lo when calculating inst size
Commit: 4128cf3b26cff997f1f315ee571cbc7110bc250c
https://github.com/llvm/llvm-project/commit/4128cf3b26cff997f1f315ee571cbc7110bc250c
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M flang/include/flang/Lower/OpenACC.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
A flang/test/Lower/OpenACC/Todo/do-loops-to-acc-loops-todo.f90
A flang/test/Lower/OpenACC/do-loops-to-acc-loops.f90
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[flang][acc] Lower do and do concurrent loops specially in acc regions (#149614)
When OpenACC is enabled and Fortran loops are annotated with `acc loop`,
they are lowered to `acc.loop` operation. And rest of the contained
loops use the normal FIR lowering path.
Hovever, the OpenACC specification has special provisions related to
contained loops and their induction variable. In order to adhere to
this, we convert all valid contained loops to `acc.loop` in order to
store this information appropriately.
The provisions in the spec that motivated this change (line numbers are
from OpenACC 3.4):
- 1353 Loop variables in Fortran do statements within a compute
construct are predetermined to be private to the thread that executes
the loop.
- 3783 When do concurrent appears without a loop construct in a kernels
construct it is treated as if it is annotated with loop auto. If it
appears in a parallel construct or an accelerator routine then it is
treated as if it is annotated with loop independent.
By valid loops - we convert do loops and do concurrent loops which have
induction variable. Loops which are unstructured are not handled.
Commit: a28e7f1aad3edf3397a8887ff8c487826fc99fe7
https://github.com/llvm/llvm-project/commit/a28e7f1aad3edf3397a8887ff8c487826fc99fe7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
M lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
M lldb/source/Plugins/Process/CMakeLists.txt
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
A lldb/source/Plugins/Process/wasm/CMakeLists.txt
A lldb/source/Plugins/Process/wasm/ProcessWasm.cpp
A lldb/source/Plugins/Process/wasm/ProcessWasm.h
A lldb/source/Plugins/Process/wasm/ThreadWasm.cpp
A lldb/source/Plugins/Process/wasm/ThreadWasm.h
A lldb/source/Plugins/Process/wasm/UnwindWasm.cpp
A lldb/source/Plugins/Process/wasm/UnwindWasm.h
M lldb/source/Target/Platform.cpp
M lldb/test/API/functionalities/gdb_remote_client/TestWasm.py
Log Message:
-----------
[lldb] Add WebAssembly Process Plugin (#150143)
Extend support in LLDB for WebAssembly. This PR adds a new Process
plugin (ProcessWasm) that extends ProcessGDBRemote for WebAssembly
targets. It adds support for WebAssembly's memory model with separate
address spaces, and the ability to fetch the call stack from the
WebAssembly runtime.
I have tested this change with the WebAssembly Micro Runtime (WAMR,
https://github.com/bytecodealliance/wasm-micro-runtime) which implements
a GDB debug stub and supports the qWasmCallStack packet.
```
(lldb) process connect --plugin wasm connect://localhost:4567
Process 1 stopped
* thread #1, name = 'nobody', stop reason = trace
frame #0: 0x40000000000001ad
wasm32_args.wasm`main:
-> 0x40000000000001ad <+3>: global.get 0
0x40000000000001b3 <+9>: i32.const 16
0x40000000000001b5 <+11>: i32.sub
0x40000000000001b6 <+12>: local.set 0
(lldb) b add
Breakpoint 1: where = wasm32_args.wasm`add + 28 at test.c:4:12, address = 0x400000000000019c
(lldb) c
Process 1 resuming
Process 1 stopped
* thread #1, name = 'nobody', stop reason = breakpoint 1.1
frame #0: 0x400000000000019c wasm32_args.wasm`add(a=<unavailable>, b=<unavailable>) at test.c:4:12
1 int
2 add(int a, int b)
3 {
-> 4 return a + b;
5 }
6
7 int
(lldb) bt
* thread #1, name = 'nobody', stop reason = breakpoint 1.1
* frame #0: 0x400000000000019c wasm32_args.wasm`add(a=<unavailable>, b=<unavailable>) at test.c:4:12
frame #1: 0x40000000000001e5 wasm32_args.wasm`main at test.c:12:12
frame #2: 0x40000000000001fe wasm32_args.wasm
```
This PR is based on an unmerged patch from Paolo Severini:
https://reviews.llvm.org/D78801. I intentionally stuck to the
foundations to keep this PR small. I have more PRs in the pipeline to
support the other features/packets.
My motivation for supporting Wasm is to support debugging Swift compiled
to WebAssembly:
https://www.swift.org/documentation/articles/wasm-getting-started.html
Commit: efbbc0b319120d238d64b2b412305fcff72025fd
https://github.com/llvm/llvm-project/commit/efbbc0b319120d238d64b2b412305fcff72025fd
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libc/shared/math.h
M libc/shared/math/asinf16.h
A libc/shared/math/asinhf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/asinhf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/asinhf16.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 asinhf16 implementation to header-only in src/__support/math folder. (#150849)
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: bc605f4ce85eea02cc7d79c7575b4437ef1a8a95
https://github.com/llvm/llvm-project/commit/bc605f4ce85eea02cc7d79c7575b4437ef1a8a95
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Port #151150: Move InitAll*** implementation into static library (#151183)
And prune deps when splitting
Commit: 59c3fe65054fd3fb9be62ef326d1540cc375e913
https://github.com/llvm/llvm-project/commit/59c3fe65054fd3fb9be62ef326d1540cc375e913
Author: Tony Varghese <tonypalampalliyil at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/test/CodeGen/PowerPC/xxeval-vselect-x-and.ll
Log Message:
-----------
[PowerPC] Exploit xxeval instruction for ternary patterns - ternary(A, X, and(B,C)) (#141733)
## Description
<!--- Title/Description will be Subject/Body of commit message. -->
<!--- Please be concise and limit the subject line to 50 characters, -->
<!--- and wrap the Description at 72 characters. -->
<!--- Describe why this is required, what problem it solves. -->
Adds support for ternary equivalent operations of the form `ternary(A,
X, and(B,C))` where `X=[xor(B,C)| nor(B,C)| eqv(B,C)| not(B)| not(C)]`.
List of `xxeval` equivalent ternary operations added and the
corresponding `imm` value required:
Ternary Operator| Imm Value
--|--
ternary(A, xor(B,C), and(B,C)) | 22
ternary(A, nor(B,C), and(B,C)) | 24
ternary(A, eqv(B,C), and(B,C)) | 25
ternary(A, not(C), and(B,C)) | 26
ternary(A, not(B), and(B,C)) | 28
eg. `xxeval XT,XA,XB,XC,22`
- performs `XA ? xor(XB, XC) : and(XB,XC)`and places the result in `XT`.
Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
Commit: 4a44a85c89af48d74c1b54f1429dc4d78c1071d5
https://github.com/llvm/llvm-project/commit/4a44a85c89af48d74c1b54f1429dc4d78c1071d5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
Log Message:
-----------
[clang][bytecode] Add Pointer::initializeAllElements() (#151151)
To initialize all elements of a primitive array at once. This saves us
from creating the InitMap just to destroy it again after all elements
have been initialized.
Commit: d2361e43d12d51b744a4131be7fab2aa3a79feab
https://github.com/llvm/llvm-project/commit/d2361e43d12d51b744a4131be7fab2aa3a79feab
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/lib/AST/ASTStructuralEquivalence.cpp
A clang/test/ASTMerge/enum/Inputs/enum3.c
A clang/test/ASTMerge/enum/Inputs/enum4.c
A clang/test/ASTMerge/enum/test2.c
M clang/test/C/C23/n3037.c
Log Message:
-----------
[C23] More improved type compatibility for enumerations (#150946)
The structural equivalence checker was not paying attention to whether
enumerations had compatible fixed underlying types or not.
Fixes #150594
Commit: 20d992d36628ffb246ad7a67af46d83e358b8c43
https://github.com/llvm/llvm-project/commit/20d992d36628ffb246ad7a67af46d83e358b8c43
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libc/src/__support/FPUtil/cast.h
Log Message:
-----------
[libc][math] Fix buildbot fails (#151186)
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Co-authored-by: OverMighty <its.overmighty at gmail.com>
Commit: 6a22580305d779e2d712900d49578de9a5cb14e8
https://github.com/llvm/llvm-project/commit/6a22580305d779e2d712900d49578de9a5cb14e8
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/AST/ASTStructuralEquivalence.cpp
Log Message:
-----------
Switch sanity check to assert; NFC (#151181)
This was written out of an abundance of caution because the changes were
being added to the release branch. Now we can be a little less cautious
and switch to using an assert. No behavioral changes are expected.
Commit: 5ae79baab3ed30161654999adfd4a01d5b977726
https://github.com/llvm/llvm-project/commit/5ae79baab3ed30161654999adfd4a01d5b977726
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/Dialect/All.h
A mlir/include/mlir/Target/LLVMIR/Dialect/XeVM/XeVMToLLVMIRTranslation.h
M mlir/lib/Target/LLVMIR/CMakeLists.txt
M mlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
A mlir/lib/Target/LLVMIR/Dialect/XeVM/CMakeLists.txt
A mlir/lib/Target/LLVMIR/Dialect/XeVM/XeVMToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/xevm.mlir
Log Message:
-----------
[MLIR][XeVM] Add XeVM to LLVMIR translation. (#150696)
Add XeVM dialect to LLVMIR translation.
Currently no ops are translated.
Only xevm.DecorationCacheControl are translated to metadata for spirv
decoration - !spirv.DecorationCacheControlINTEL.
Co-authored-by: Artem Kroviakov artem.kroviakov at intel.com
Commit: 30a5d569b2102bba1cfb5d253bd73ec2ebce7ee0
https://github.com/llvm/llvm-project/commit/30a5d569b2102bba1cfb5d253bd73ec2ebce7ee0
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/test/ASTMerge/enum/test2.c
Log Message:
-----------
[C23] AST equivalence of attributes (#151196)
Implicitly declared types (like __NSConstantString_tag, etc) will be
declared with visibility attributes. This causes problems when merging
ASTs because we currently reject declaration merging for declarations
with attributes.
This relaxes that restriction somewhat; implicit declarations can now
have attributes when merging; we assume that if the compiler generated
it, it's fine.
Commit: 551dcc3e829599dd5f0e6690cb5d33c2e9c163af
https://github.com/llvm/llvm-project/commit/551dcc3e829599dd5f0e6690cb5d33c2e9c163af
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/atan.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atan.h
A libc/src/__support/math/atan_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atan.cpp
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/atan2f128.cpp
R libc/src/math/generic/atan_utils.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor atan implementation to header-only in src/__support/math folder. (#150852)
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: bd66fd0d010cb31167d7284731ca286eb0235770
https://github.com/llvm/llvm-project/commit/bd66fd0d010cb31167d7284731ca286eb0235770
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/fround.ll
Log Message:
-----------
[CostModel/RISCV] Fix costs of vector [l](lrint|lround) (#146058)
Take the actual instruction cost into account, and don't fallthrough to
code that doesn't apply to [l]lrint. Also strip invalid costs for
[b]f16, as a companion to #146507, and unify it with [l]lround costs as
a companion to #147713.
Commit: 13366759c3b9db9366659d870cc73c938422b020
https://github.com/llvm/llvm-project/commit/13366759c3b9db9366659d870cc73c938422b020
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/test/Transforms/LoopVectorize/intrinsic.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/exp.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/fround.ll
M llvm/test/Transforms/Scalarizer/intrinsics.ll
Log Message:
-----------
[VectorUtils] Trivially vectorize ldexp, [l]lround (#145545)
Commit: 052b836d2384c8a583ae5f945dcdcfba2004bbb0
https://github.com/llvm/llvm-project/commit/052b836d2384c8a583ae5f945dcdcfba2004bbb0
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port #150696: XeVM to LLVMIR (#151207)
Commit: 130f24b28d38ca3679a76ab7a6a4f7ff7e9f4c81
https://github.com/llvm/llvm-project/commit/130f24b28d38ca3679a76ab7a6a4f7ff7e9f4c81
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-ir2vec.rst
A llvm/test/tools/llvm-ir2vec/entities.ll
A llvm/test/tools/llvm-ir2vec/error-handling.ll
M llvm/test/tools/llvm-ir2vec/triplets.ll
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
Log Message:
-----------
[IR2Vec][llvm-ir2vec] Revamp triplet generation and add entity mapping mode (#149214)
Add entity mapping mode to llvm-ir2vec and improve triplet generation format for knowledge graph embedding training.
This change streamlines the workflow for training the vocabulary embeddings with IR2Vec by:
1. Directly generating numeric IDs instead of requiring string-to-ID preprocessing
2. Providing entity mappings in standard knowledge graph embedding format
3. Structuring triplet output in train2id format compatible with knowledge graph embedding frameworks
4. Adding metadata headers to simplify post-processing and training setup
These improvements make IR2Vec more compatible with standard knowledge graph embedding training pipelines and reduce the preprocessing steps needed before training.
See #149215 for more details on how it is used.
(Tracking issues - #141817, #141834)
Commit: 1e0edb072ab32e22949f88f786b340a912b81d58
https://github.com/llvm/llvm-project/commit/1e0edb072ab32e22949f88f786b340a912b81d58
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/missing-code-marker.s
Log Message:
-----------
[BOLT][AArch64] Compensate for missing code markers (#151060)
Code written in assembly can have missing code markers. In BOLT, we can
compensate by recognizing that a function entry point should start a
code sequence.
Seen such code in lua jit library.
Commit: c00e8dd9ea411cdd40a6bc7bdd71eb8e91416fec
https://github.com/llvm/llvm-project/commit/c00e8dd9ea411cdd40a6bc7bdd71eb8e91416fec
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M lldb/source/Plugins/Process/wasm/ProcessWasm.cpp
Log Message:
-----------
[lldb] Fix a warning
This patch fixes:
lldb/source/Plugins/Process/wasm/ProcessWasm.cpp:107:25: error:
format specifies type 'unsigned long long' but the argument has type
'lldb::tid_t' (aka 'unsigned long') [-Werror,-Wformat]
Commit: f3c531c676794b16449fd1548ead9fbd0d36709e
https://github.com/llvm/llvm-project/commit/f3c531c676794b16449fd1548ead9fbd0d36709e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Use SDValue::getOperand instead of SDNode::getOperand for consistency. NFC
Commit: 55f9eccee9b5ca6102206d4a1aba9ca21070881d
https://github.com/llvm/llvm-project/commit/55f9eccee9b5ca6102206d4a1aba9ca21070881d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
Log Message:
-----------
[LV] Revert back to use Loop::isLoopInvariant in isPredicatedInst. (#150828)
This partially reverts https://github.com/llvm/llvm-project/pull/140744,
restoring the original TheLoop->isLoopInvariant check instead the more
powerful Legal->isInvariant, which uses SCEV.
This causes a mis-compile, because SCEV can prove that the stored value
is loop-invariant, which in turn converts the store to a uniform store.
But in VPlan, we aren't yet able to determine that the stored value is
loop-invariant, so we extract the last lane, which is incorrect, because
it does not account for the mask of the store.
Restoring the original code is a safe fix and avoids this subtle
divergence.
Fixes https://github.com/llvm/llvm-project/issues/149347.
PR: https://github.com/llvm/llvm-project/pull/150828
Commit: 5d4e1e0c8403db8e9bebaa4ee3cabc8d2175c8cc
https://github.com/llvm/llvm-project/commit/5d4e1e0c8403db8e9bebaa4ee3cabc8d2175c8cc
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Fix build failure in getIntrinsicInstrCost (#151210)
bd66fd0 ([CostModel/RISCV] Fix costs of vector [l](lrint|lround))
introduced buildbot failures by using a temporary ArrayRef when a
SmallVector should have been used. Fix this.
Failure: https://lab.llvm.org/buildbot/#/builders/186/builds/11133
Commit: bfb68291486516a67f81bcf90453d003981e92b0
https://github.com/llvm/llvm-project/commit/bfb68291486516a67f81bcf90453d003981e92b0
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Organize VOP3 profiles for single HasExt64BitDPP. NFC. (#151212)
This shall simplify further delta as more profiles will be
added inside these braces.
Commit: fe93f75cc6b20361c273deea625c6201156a07c9
https://github.com/llvm/llvm-project/commit/fe93f75cc6b20361c273deea625c6201156a07c9
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Address post commit style suggestion
Commit: 446b3de5b6adf8c9241d0bfd2fe3b99cd4e858eb
https://github.com/llvm/llvm-project/commit/446b3de5b6adf8c9241d0bfd2fe3b99cd4e858eb
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
A llvm/test/Transforms/IndVarSimplify/AArch64/fold-ext-add.ll
Log Message:
-----------
[IndVars] Add tests showing missed folding opportunity.
Commit: 616cef08831631b3b049b92af43bc71326c910e4
https://github.com/llvm/llvm-project/commit/616cef08831631b3b049b92af43bc71326c910e4
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libc/test/src/__support/FPUtil/comparison_operations_test.cpp
Log Message:
-----------
[libc][math] Make BFloat16 comparison tests constexpr (#151211)
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: ce2383050867dbdefedec7c4fae4de86d318eadd
https://github.com/llvm/llvm-project/commit/ce2383050867dbdefedec7c4fae4de86d318eadd
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
Log Message:
-----------
[RISCV] Combine a vsse from a vsseg with one active segment (#151198)
This is a rewrite of the current strided store optimization to be a DAG
combine. This allows it to kick in slightly more broadly, in particular
for the scalable lowering paths.
Commit: ba2e49cac9b0d6502c78d4b5fbabbd71417b8898
https://github.com/llvm/llvm-project/commit/ba2e49cac9b0d6502c78d4b5fbabbd71417b8898
Author: Dan Blackwell <dan_blackwell at apple.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M compiler-rt/test/fuzzer/sig-trap.test
Log Message:
-----------
[libFuzzer] Mark libFuzzer SIGTRAP test unsupported on windows (#151109)
This change is based on the UNSUPPORTED mark from the existing sigusr
test
https://github.com/llvm/llvm-project/blob/c59cc542844b5b4a25cd222ad0127ca2e74953ad/compiler-rt/test/fuzzer/sigusr.test#L4
Commit: c162846f8bd23b8e3d4e6a1e7737dd1cefb91f0d
https://github.com/llvm/llvm-project/commit/c162846f8bd23b8e3d4e6a1e7737dd1cefb91f0d
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M lldb/source/API/CMakeLists.txt
Log Message:
-----------
[lldb][cmake] Create dependencies for LLDB header targets (#150995)
The LLDB standalone build using Xcode currently fails due to the headers
being attached to multiple targets, but none of these targets depending
on each other. This commit resolves this by creating those dependencies.
Commit: 86f74c4d019dd705e6890f8c997072293aaaff91
https://github.com/llvm/llvm-project/commit/86f74c4d019dd705e6890f8c997072293aaaff91
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang-tools-extra/clangd/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang-tools-extra/include-cleaner/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
M utils/bazel/llvm-project-overlay/compiler-rt/lib/orc/tests/unit/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/wchar/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPCWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/libunwind/BUILD.bazel
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/driver.bzl
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/build_defs.bzl
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch1/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/linalggen.bzl
M utils/bazel/llvm-project-overlay/mlir/tblgen.bzl
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/third-party/siphash/BUILD.bazel
M utils/bazel/llvm-project-overlay/third-party/unittest/BUILD.bazel
Log Message:
-----------
[bazel] Use rules_cc everywhere and reformat (#149584)
We already use cc rules from `@rules_cc//cc:defs.bzl` in a few files,
but this uses it everywhere. Done automatically by running `buildifier
--lint=fix
--warnings=native-cc-binary,native-cc-library,native-cc-test,load` over
all the files. I also ran `buildifier` once more to ensure there wasn't
any missing formatting, so that caused a few unrelated diffs.
Commit: 32127045c838fcc2aab816ee9126e69ec5e63135
https://github.com/llvm/llvm-project/commit/32127045c838fcc2aab816ee9126e69ec5e63135
Author: kkent030315 <hrn832 at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/COFF.h
R llvm/test/tools/llvm-readobj/COFF/Inputs/has-cet.exe
A llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.exe
R llvm/test/tools/llvm-readobj/COFF/cetcompat.test
A llvm/test/tools/llvm-readobj/COFF/exdllcharacteristics.test
M llvm/tools/llvm-readobj/COFFDumper.cpp
Log Message:
-----------
[llvm-readobj][COFF] Add support for more CET and hotpatch flags (#150967)
- Added `IMAGE_DLL_CHARACTERISTICS_EX_CET_COMPAT_STRICT_MODE`
- Added
`IMAGE_DLL_CHARACTERISTICS_EX_CET_SET_CONTEXT_IP_VALIDATION_RELAXED_MODE`
- Added
`IMAGE_DLL_CHARACTERISTICS_EX_CET_DYNAMIC_APIS_ALLOW_IN_PROC_ONLY`
- Added `IMAGE_DLL_CHARACTERISTICS_EX_CET_RESERVED_1`
- Added `IMAGE_DLL_CHARACTERISTICS_EX_CET_RESERVED_2`
- Added `IMAGE_DLL_CHARACTERISTICS_EX_FORWARD_CFI_COMPAT`
- Added `IMAGE_DLL_CHARACTERISTICS_EX_HOTPATCH_COMPATIBLE`
Commit: d99238263cb9ad8403f630b046b06ce41d0e8940
https://github.com/llvm/llvm-project/commit/d99238263cb9ad8403f630b046b06ce41d0e8940
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/mad_u64_u32.ll
M llvm/test/CodeGen/AMDGPU/mul.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] Implement v_mad_u32/v_mad_nc_u|i64_u32 on gfx1250 (#151226)
Commit: cff9ae7a15a5d1e9bf385aceea02daf5ed8482fe
https://github.com/llvm/llvm-project/commit/cff9ae7a15a5d1e9bf385aceea02daf5ed8482fe
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/cmake/caches/Release.cmake
A clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake
Log Message:
-----------
[CMake][Release] Build with -ffat-lto-objects (#140381)
Fixes #133580
Commit: 7eaf1f2b2df66d7217eebdd23907d3b5b6bd7995
https://github.com/llvm/llvm-project/commit/7eaf1f2b2df66d7217eebdd23907d3b5b6bd7995
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/bitop3.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitop3.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.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_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU] Bitop3 opcodes for gfx1250 (#151235)
Commit: 9b4a44d63da9e745d197766b55dfd97f0eadb66e
https://github.com/llvm/llvm-project/commit/9b4a44d63da9e745d197766b55dfd97f0eadb66e
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
Log Message:
-----------
[AMDGPU] Update MC tests for vflat instructions on GFX1250 (#151232)
These instructions have already been supported (at MC layer) with
current upstream code base.
Commit: 78c460bbe8f1fc17e2e66b37edf419ccecbfecba
https://github.com/llvm/llvm-project/commit/78c460bbe8f1fc17e2e66b37edf419ccecbfecba
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
Log Message:
-----------
[libc] Fix incorrect count when initializing slab
Summary:
The initialization code should share the result with all of its
neighbors. Right now it sets them to the sentinel value and doesn't
shuffle them correctly. Shuffle them after initialization so we
correctly report that we succeeded in the allocation.
Commit: 10f9f572fa525dc45943d74c117fbc41e7f1a115
https://github.com/llvm/llvm-project/commit/10f9f572fa525dc45943d74c117fbc41e7f1a115
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/cmake/modules/LLVMProcessSources.cmake
Log Message:
-----------
Fix llvm_process_sources to append source file properties instead of overriding it (#151251)
This fixes the CLANG_VENDOR macro that disappeared because it is set
using the same mechanism and one was overriding the other.
Commit: 277bcf7ffc79e7d8652dc2c89ce79535b405635a
https://github.com/llvm/llvm-project/commit/277bcf7ffc79e7d8652dc2c89ce79535b405635a
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/test/CodeGen/AArch64/constant-pool-partition.ll
M llvm/test/CodeGen/X86/constant-pool-partition.ll
Log Message:
-----------
[ELF][AsmPrinter] Emit trailing dot for constant pool section when it has a hotness prefix (#150859)
Currently, `TargetLoweringObjectFileELF::getSectionForConstant` produce
`.<section>.hot` or `.<section>.unlikely` for a constant with non-empty
section prefix. This PR changes the implementation add trailing dot when
section prefix is not empty, to disambiguate `.hot` as a hotness prefix
from `.hot` as a (pure C) variable name.
Relevant discussions are in
https://github.com/llvm/llvm-project/pull/148985#discussion_r2221141273
and
https://github.com/llvm/llvm-project/pull/148985#discussion_r2233382641
and
Commit: db322be91bdee2419eba30a850785098f321a814
https://github.com/llvm/llvm-project/commit/db322be91bdee2419eba30a850785098f321a814
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/dotest.py
Log Message:
-----------
[lldb] Fix libcxx configuration in dotest.py (#151258)
We emit a warning when running the test suite remotely that says the
libcxx arguments will be ignored, but because they're set outside the
conditional block, we're not actually do this. Fix the logic by moving
the configuration in the conditional else-block.
Commit: fe25445ded152df6cba2efcf053924f3f9f0e3c7
https://github.com/llvm/llvm-project/commit/fe25445ded152df6cba2efcf053924f3f9f0e3c7
Author: Hood Chatham <roberthoodchatham at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/test/Driver/wasm-features.c
M clang/test/Preprocessor/wasm-target-features.c
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
Log Message:
-----------
[WebAssembly] Add gc target feature to addBleedingEdgeFeatures (#151107)
See suggestion here:
https://github.com/llvm/llvm-project/pull/150201#discussion_r2237982637
Commit: 1132562bf3760a929dd53c372cad29fe939e7a7a
https://github.com/llvm/llvm-project/commit/1132562bf3760a929dd53c372cad29fe939e7a7a
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
Log Message:
-----------
[CIR] Add support for C++ conversion operators (#151066)
This fairly simple addition enables codegen for C++ conversion operators
Commit: 025b4388f028eabdcebd7c0588a54dc5450e1156
https://github.com/llvm/llvm-project/commit/025b4388f028eabdcebd7c0588a54dc5450e1156
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/test/MC/RISCV/rvv/zvfbfwma.s
Log Message:
-----------
[RISCV] Remove scalar half FP load/store/move mc tests for Zvfbfwma. NFC.
Zvfbfwma doesn't include scalar half FP load/store/move instructions.
Commit: f011c99ceb90fbc7b5b0d22652444d4292ef3ee3
https://github.com/llvm/llvm-project/commit/f011c99ceb90fbc7b5b0d22652444d4292ef3ee3
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/test/MC/RISCV/rvv/fadd.s
M llvm/test/MC/RISCV/rvv/fcompare.s
M llvm/test/MC/RISCV/rvv/fdiv.s
M llvm/test/MC/RISCV/rvv/fmacc.s
M llvm/test/MC/RISCV/rvv/fminmax.s
M llvm/test/MC/RISCV/rvv/fmul.s
M llvm/test/MC/RISCV/rvv/fmv.s
M llvm/test/MC/RISCV/rvv/fothers.s
M llvm/test/MC/RISCV/rvv/freduction.s
M llvm/test/MC/RISCV/rvv/fsub.s
Log Message:
-----------
[RISCV] Simplify RUN lines in the mc tests for RVV floating-point instructions. NFC.
Replace v with zve32f, as zve32f is sufficient. Remove f extension
since zve32f alrealy implies f.
Commit: 05bfcd8ae3f1764145b0d7f491f059bcf8537da3
https://github.com/llvm/llvm-project/commit/05bfcd8ae3f1764145b0d7f491f059bcf8537da3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/Linux/long-object-path.cpp
M compiler-rt/test/fuzzer/afl-driver-stderr.test
M compiler-rt/test/sanitizer_common/TestCases/suffix-log-path_test.c
M compiler-rt/test/xray/TestCases/Posix/fdr-mode-inmemory.cpp
M compiler-rt/test/xray/TestCases/Posix/fdr-mode-multiple.cpp
Log Message:
-----------
[compiler-rt] Remove %T from tests (#151265)
%T has been deprecated for about seven years and use is to be avoided
given it doesn't actually create a unique test directory per test, which
can lead to races. Remove it from compiler-rt so we can hopefully remove
it from within llvm-lit.
This patch just touches the tests. There are still uses in some
substitutions defined in compiler-rt/test/lit.common.cfg.py that I want
to leave for a separate patch because it is quite a bit more thorny.
Commit: 3dfd939a162181cf6c5f1e684abf3763fb2ab3e8
https://github.com/llvm/llvm-project/commit/3dfd939a162181cf6c5f1e684abf3763fb2ab3e8
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/GlobalISel/minmaxabs-i64.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/max.ll
M llvm/test/CodeGen/AMDGPU/min.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] gfx1250 V_{MIN|MAX}_{I|U}64 opcodes (#151256)
Commit: ee1ecf32451ee87705666cfb919879123d388220
https://github.com/llvm/llvm-project/commit/ee1ecf32451ee87705666cfb919879123d388220
Author: wenzhi-cui <40185576+wenzhi-cui at users.noreply.github.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Update BUILD.bazel to add RegisterAllPasses/Dialects/Extensions (#151233)
Commit: 8f09b03aebb71c154f3bbe725c29e3f47d37c26e
https://github.com/llvm/llvm-project/commit/8f09b03aebb71c154f3bbe725c29e3f47d37c26e
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/Sema/SemaModule.cpp
Log Message:
-----------
[NFC] [Sema] [Modules] Use DynamicRecursiveASTVisitor to reduce generted code size (#151074)
It is better to use DynamicRecursiveASTVisitor than RecursiveASTVisitor
as it can reduce the generated size. And also avoid using a template
type to present callbacks to avoid generating more code too.
Commit: 9b23e2bf8d69909d959434da5ef392aefcd0b694
https://github.com/llvm/llvm-project/commit/9b23e2bf8d69909d959434da5ef392aefcd0b694
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV] Add copies to physical registers in VL optimizer tests. NFC (#151170)
In an upcoming patch to support recurrences in the RISCVVLOptimizer, we
need to perform an optimistic dataflow analysis where we assume
instructions have a DemandedVL of zero until a user is encountered.
Because of this if there's no "root" instruction, nothing will be
demanded and all the VLs will be set to zero.
This prepares for this by adding a copy to a physical register in the
MIR tests so that the behaviour is preserved, and matches whats
generated lowering from regular LLVM IR.
Commit: b663e563cce2bcf6cf7e15799f0ab1cfc56a8361
https://github.com/llvm/llvm-project/commit/b663e563cce2bcf6cf7e15799f0ab1cfc56a8361
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
Log Message:
-----------
[VPlan] Fix header masks in EVL tail folding (#150202)
With EVL tail folding, the EVL may not always be VF on the
second-to-last iteration.
Recipes that have been converted to VP intrinsics via optimizeMaskToEVL
account for this, but recipes that are left behind will still use the
old header mask which may end up having a different vector length.
This is effectively the same as #95368, and fixes this by converting
header masks from icmp ule wide-canonical-iv, backedge-trip-count ->
icmp ult step-vector, evl. Without it, recipes that fall through
optimizeMaskToEVL may use the wrong vector length, e.g. in #150074 and
#149981.
We really need to split off optimizeMaskToEVL into
VPlanTransforms::optimize and move transformRecipestoEVLRecipes into
tryToBuildVPlanWithVPRecipes, so we don't mix up what is needed for
correctness and what is needed to optimize away the mask computations.
We should be able to still generate a correct albeit suboptimal VPlan
without running optimizeMaskToEVL. I've added a TODO for this, which I
think we can do after #148274
Fixes #150197
Commit: e10b182a5fb020f6b69ea95d00fd8590bba7559b
https://github.com/llvm/llvm-project/commit/e10b182a5fb020f6b69ea95d00fd8590bba7559b
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Support safe patterns of "%.*s" in printf functions (#145862)
The character buffer passed to a "%.*s" specifier may be safely bound if
the precision is properly specified, even if the buffer does not
guarantee null-termination.
For example,
```
void f(std::span<char> span) {
printf("%.*s", (int)span.size(), span.data()); // "span.data()" does not guarantee null-termination but is safely bound by "span.size()", so this call is safe
}
```
rdar://154072130
Commit: 3c3523c15850f3c42de35ae725288368414e4e91
https://github.com/llvm/llvm-project/commit/3c3523c15850f3c42de35ae725288368414e4e91
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/Linux/long-object-path.cpp
M compiler-rt/test/fuzzer/afl-driver-stderr.test
M compiler-rt/test/sanitizer_common/TestCases/suffix-log-path_test.c
M compiler-rt/test/xray/TestCases/Posix/fdr-mode-inmemory.cpp
M compiler-rt/test/xray/TestCases/Posix/fdr-mode-multiple.cpp
Log Message:
-----------
Revert "[compiler-rt] Remove %T from tests (#151265)"
This reverts commit 05bfcd8ae3f1764145b0d7f491f059bcf8537da3.
This broke some buildbots.
https://lab.llvm.org/buildbot/#/builders/66/builds/17200
https://lab.llvm.org/buildbot/#/builders/72/builds/13632
https://lab.llvm.org/buildbot/#/builders/199/builds/4902
Commit: f2a476d79a8b00f57cdda247580ef72c49fd21a0
https://github.com/llvm/llvm-project/commit/f2a476d79a8b00f57cdda247580ef72c49fd21a0
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/atanf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atanf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atanf.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 atanf implementation to header-only in src/__support/math folder. (#150854)
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: e9259a47a8f80465e3da66d1b48e1693fb208ed7
https://github.com/llvm/llvm-project/commit/e9259a47a8f80465e3da66d1b48e1693fb208ed7
Author: Yuxuan Chen <ych at fb.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
Log Message:
-----------
[Clang] fix coroutine await suspend wrapper linkage types (#151224)
Commit: 1f66724725c18f7e117e29b113472a9b61f64217
https://github.com/llvm/llvm-project/commit/1f66724725c18f7e117e29b113472a9b61f64217
Author: David Green <david.green at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Create a performRNDRCombine to pull code out of PerformDAGCombine. NFC
Commit: a7e029bd0bee6304c3654dd41aee04984d2b6edc
https://github.com/llvm/llvm-project/commit/a7e029bd0bee6304c3654dd41aee04984d2b6edc
Author: ronlieb <ron.lieberman at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/test/Driver/wasm-features.c
M clang/test/Preprocessor/wasm-target-features.c
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
Log Message:
-----------
Revert "[WebAssembly] Add gc target feature to addBleedingEdgeFeatures" (#151268)
Reverts llvm/llvm-project#151107
Commit: 7f470586e10543aa12efc7e04d4d4ac814eaca35
https://github.com/llvm/llvm-project/commit/7f470586e10543aa12efc7e04d4d4ac814eaca35
Author: Keno Fischer <keno at juliahub.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/test/Driver/mingw-msvcrt.c
Log Message:
-----------
[Driver][MinGW] Always put libc argument last, even if non-standard (#149434)
I was attempting to build openblas with clang in msys2's `ucrt64`
environment (I'm aware of the `clang64` environment, but I wanted
libstdc++). The openblas link failed with the following:
```
clang -march=native -mtune=native -m64 -O2 -fno-asynchronous-unwind-tables -O2 -DSMALL_MATRIX_OPT -DMS_ABI -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -DDYNAMIC_ARCH -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=512 -DMAX_PARALLEL_NUMBER=1 -DBUILD_SINGLE=1 -DBUILD_DOUBLE=1 -DBUILD_COMPLEX=1 -DBUILD_COMPLEX16=1 -DVERSION=\"0.3.29\" -UASMNAME -UASMFNAME -UNAME -UCNAME -UCHAR_NAME -UCHAR_CNAME -DASMNAME= -DASMFNAME=_ -DNAME=_ -DCNAME= -DCHAR_NAME=\"_\" -DCHAR_CNAME=\"\" -DNO_AFFINITY -I.. libopenblas64_.def dllinit.obj \
-shared -o ../libopenblas64_.dll -Wl,--out-implib,../libopenblas64_.dll.a \
-Wl,--whole-archive ../libopenblas64_p-r0.3.29.a -Wl,--no-whole-archive -LC:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0 -LC:/msys64/ucrt64/bin/../lib/gcc -LC:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0/../../../../lib -LC:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0/../../../../x86_64-w64-mingw32/lib -LC:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0/../../.. -lgfortran -lmingwex -lmsvcrt -lquadmath -lm -lpthread -lmingwex -lmsvcrt -defaultlib:advapi32 -lgfortran -defaultlib:advapi32 -lgfortran
C:/msys64/ucrt64/bin/ld: C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0/../../../../lib/libmingw32.a(lib64_libmingw32_a-pseudo-reloc.o): in function `__report_error':
D:/W/B/src/mingw-w64/mingw-w64-crt/crt/pseudo-reloc.c:157:(.text+0x59): undefined reference to `abort'
C:/msys64/ucrt64/bin/ld: C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0/../../../../lib/libmingw32.a(lib64_libmingw32_a-tlsthrd.o): in function `___w64_mingwthr_add_key_dtor':
D:/W/B/src/mingw-w64/mingw-w64-crt/crt/tlsthrd.c:48:(.text+0xa5): undefined reference to `calloc'
C:/msys64/ucrt64/bin/ld: C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/15.1.0/../../../../lib/libmingw32.a(lib64_libmingw32_a-pesect.o): in function `_FindPESectionByName':
D:/W/B/src/mingw-w64/mingw-w64-crt/crt/pesect.c:79:(.text+0xfd): undefined reference to `strncmp'
```
These symbols come from the `-lmingw32` dep that the driver added and
are ordinarily found in `-lmsvcrt`, which got skipped here, because
openblas passed `-lmsvcrt` explicitly earlier in the link line. Since we
always add these libraries at the end here, I think that clang is "at
fault" (as opposed to a user or packaging mistake) and should have added
some crt here.
To preserve the intent of letting the user override which crt is chosen,
duplicate the (first) user chosen crt `-l` into this position, although
we should perhaps consider an explicit `-mcrtdll` like gcc has as well.
Commit: 74763608ef0da6bdcf6032f0457d1e7a156bad6a
https://github.com/llvm/llvm-project/commit/74763608ef0da6bdcf6032f0457d1e7a156bad6a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.xf32.gfx942.ll
Log Message:
-----------
AMDGPU: Test VGPR and AGPR case for xf32 mfmas (#150891)
Commit: 4ee6943eeb1de19e182b56fde34d134d43aceb67
https://github.com/llvm/llvm-project/commit/4ee6943eeb1de19e182b56fde34d134d43aceb67
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/test/Transforms/GVN/PRE/load-metadata.ll
M llvm/test/Transforms/GVN/PRE/load-pre-across-backedge.ll
M llvm/test/Transforms/GVN/PRE/load-pre-nonlocal.ll
M llvm/test/Transforms/GVN/PRE/lpre-call-wrap.ll
M llvm/test/Transforms/GVN/PRE/rle-addrspace-cast.ll
M llvm/test/Transforms/GVN/PRE/rle-semidominated.ll
Log Message:
-----------
[GVN][Tests] Add MSSA coverage to some PRE tests 3/N (#150603)
Previous patch in this series
https://github.com/llvm/llvm-project/pull/137814
Commit: f527b319e377202e44b14b6875584a558a628803
https://github.com/llvm/llvm-project/commit/f527b319e377202e44b14b6875584a558a628803
Author: Abhinav Garg <39309352+abhigargrepo at users.noreply.github.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Analysis/UniformityAnalysis.cpp
Log Message:
-----------
[Uniformity Analysis] Fix print method to dump uniformity info (#151130)
Commit: 2a5ac19605ae49d6628ac3af55d6b528cb13ed2e
https://github.com/llvm/llvm-project/commit/2a5ac19605ae49d6628ac3af55d6b528cb13ed2e
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/Analysis/CostModel/RISCV/masked_ldst.ll
Log Message:
-----------
Revert "[RISCV] Cost bf16/f16 vector non-unit memory accesses as legal without zvfhmin/zvfbfmin (#150882)"
This reverts commit fe4f6c1a58ab4f00a88a97af01000b6783b573ee, but leaves
the tests that were added.
The original commit mistakenly assumed that if regular bf16/f16 loads
and stores could be lowered without zvfbfmin/zvfhmin, then so too could
masked loads/stores and gathers/scatters.
However SelectionDAG can't actually type-legalize masked.load/stores
since it needs to be done in ScalarizeMaskedMemIntrinPass.
This was causing crashes on IREE because we now returned true for
isLegalMaskedLoadStore.
The original intent of this was to remove a discrepancy in the loop
vectorizer tests whenever predication was enabled, but this has gone
away after 92d09245d61dce80d3e68a27cc34d5fc6f062c93. So I don't think we
need to reapply this patch.
Commit: eddd34227ec2770c81d260826e2c31f4d5136f8f
https://github.com/llvm/llvm-project/commit/eddd34227ec2770c81d260826e2c31f4d5136f8f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[TargetLowering] Use getShiftAmountConstant in CTTZTableLookup. NFC
Commit: 8f187c74b3ad77ef8a15bc3d2d718ccd88edb873
https://github.com/llvm/llvm-project/commit/8f187c74b3ad77ef8a15bc3d2d718ccd88edb873
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
A llvm/test/CodeGen/AMDGPU/insert-waitcnts-fence-soft.mir
A llvm/test/CodeGen/AMDGPU/lds-dma-workgroup-release.ll
Log Message:
-----------
[AMDGPU] introduce S_WAITCNT_LDS_DIRECT in the memory legalizer (#150887)
The new instruction represents the unknown number of waitcnts needed at a
release operation to ensure that prior direct loads to LDS (formerly called LDS
DMA) are completed. The instruction is replaced in SIInsertWaitcnts with a
suitable value for vmcnt().
Co-authored-by: Austin Kerbow <austin.kerbow at amd.com>.
Commit: a9d491b17f4f0a131f68a5dbdac8d34c7c8427db
https://github.com/llvm/llvm-project/commit/a9d491b17f4f0a131f68a5dbdac8d34c7c8427db
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
[Clang] Don't allow implicit this access when checking function constraints (#151276)
We allowed implicit this access when checking associated constraints
after CWG2369. As a result, some of the invalid function call
expressions were not properly SFINAE'ed out and ended up as hard errors
at evaluation time.
We tried fixing that by mucking around the CurContext, but that spawned
additional breakages and I think it's probably safe to revert to the
previous behavior to avoid churns.
Though there is CWG2589, which justifies the previous change, it's not
what we're pursuing now.
Fixes https://github.com/llvm/llvm-project/issues/151271
Fixes https://github.com/llvm/llvm-project/issues/145505
Commit: 957ae8ad46d401b4e263bf786b1eafde06894125
https://github.com/llvm/llvm-project/commit/957ae8ad46d401b4e263bf786b1eafde06894125
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-abi-attribute-hints.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-implicit-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-sret.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-load.mir
Log Message:
-----------
[AMDGPU][GISel] Use buildObjectPtrOffset instead of buildPtrAdd (#150899)
This concerns offset computations for kernargs and
RegBankLegalizeHelper::splitLoad, which should all be within the bounds of a
memory object. See #150392 for the motivation for introducing the
buildObjectPtrOffset function.
For SWDEV-516125.
Commit: d3b2bda19c8074d0f2e867ee82a90b52734f5bc4
https://github.com/llvm/llvm-project/commit/d3b2bda19c8074d0f2e867ee82a90b52734f5bc4
Author: woruyu <99597449+woruyu at users.noreply.github.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/test/CodeGen/ARM/fcopysign.ll
M llvm/utils/UpdateTestChecks/asm.py
Log Message:
-----------
[utils][UpdateTestChecks] update_llc_test_checks.py - armv7-apple-darwin triple no longer working (#150906)
### Summary
This PR resolves https://github.com/llvm/llvm-project/issues/150207
Commit: 27f777e9c06daeb03efad9230fe080df2a3a94c5
https://github.com/llvm/llvm-project/commit/27f777e9c06daeb03efad9230fe080df2a3a94c5
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/unroll-heuristic01.f90
M flang/test/Lower/OpenMP/unroll-heuristic02.f90
A flang/test/Lower/OpenMP/unroll-heuristic03.f90
Log Message:
-----------
[Flang][OpenMP] Skip DSA for canonical loops (#150593)
OpenMP loop transformations to not have data-sharing attributes and do
not explicitly privatize the loop variable. The DataSharingProcessor was
still used in #144785 because `createAndSetPrivatizedLoopVar` expected
it.
We skip that function and directly write to the loop variable. If the
loop variable is implicitly or explicitly privatized, it will be due to
surrounding OpenMP constructs such as `parallel`.
Commit: a86ad73064e71f0f09803a7ade13a32cf316ca94
https://github.com/llvm/llvm-project/commit/a86ad73064e71f0f09803a7ade13a32cf316ca94
Author: Joachim <jenke at itc.rwth-aachen.de>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M offload/tools/offload-tblgen/CMakeLists.txt
Log Message:
-----------
[offload] Add missing build dependency (#149326)
libc++ headers must be generated before compiling part of liboffload.
The build error occurs if clang is configured to use libc++ by default.
Fixes issue #149324
Commit: e50bd78d54a228757de369a3951534244c6af36a
https://github.com/llvm/llvm-project/commit/e50bd78d54a228757de369a3951534244c6af36a
Author: Vikram Hegde <Vikram.Hegde at amd.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
Reapply "[CodeGen][NPM] Stitch up loop passes in codegen pipeline" (#151098)
Reapplies https://github.com/llvm/llvm-project/pull/148114
includes shared lib build failure fixes for AMDGPU and X86.
Commit: fb49c6784ad425a332bd528567b9c26624fff5b0
https://github.com/llvm/llvm-project/commit/fb49c6784ad425a332bd528567b9c26624fff5b0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/InterpBlock.cpp
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
Log Message:
-----------
[clang][bytecode] Move Pointer::{Prev,Next} into BlockPointer (#151097)
They are only relevant for block pointers.
Commit: c4b155709714fb3381049b6d523c1f518dc363f5
https://github.com/llvm/llvm-project/commit/c4b155709714fb3381049b6d523c1f518dc363f5
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AMDGPU/merged-bfx-opt.ll
M llvm/test/CodeGen/AMDGPU/workitem-intrinsic-opts.ll
Log Message:
-----------
[DAG] Fold (setcc ((x | x >> c0 | ...) & mask)) sequences (#146054)
Fold sequences where we extract a bunch of contiguous bits from a value,
merge them into the low bit and then check if the low bits are zero or
not.
Usually the and would be on the outside (the leaves) of the expression,
but the DAG canonicalizes it to a single `and` at the root of the
expression.
The reason I put this in DAGCombiner instead of the target combiner is
because this is a generic, valid transform that's also fairly niche, so
there isn't much risk of a combine loop I think.
See #136727
Commit: 7a0024d694b9137eb8e105c0c3b20dea03fed34f
https://github.com/llvm/llvm-project/commit/7a0024d694b9137eb8e105c0c3b20dea03fed34f
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
Log Message:
-----------
[AArch64] Refactor AND/ANDS bitmask splitting (NFC). (#150619)
This patch generalises the logic for splitting bitmasks for AND/ANDS
immediate instructions, to prepare it to handle more opcodes, as in
#150394.
Commit: 058d96f2d68d3496ae52774c06177d4a9039a134
https://github.com/llvm/llvm-project/commit/058d96f2d68d3496ae52774c06177d4a9039a134
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/Target/RISCV/RISCVCallingConv.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
A llvm/test/CodeGen/RISCV/calling-conv-preserve-most.ll
Log Message:
-----------
[RISCV] Support PreserveMost calling convention (#148214)
This adds the simplest implementation of `PreserveMost` calling
convention and we preserve `x5-x31` (except x6/x7/x28) registers.
Fixes #148147.
Commit: 743177c1ef1e0e43584854191f8a11b22b85e951
https://github.com/llvm/llvm-project/commit/743177c1ef1e0e43584854191f8a11b22b85e951
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/apx/cf.ll
Log Message:
-----------
[X86][APX] Use TEST instruction for CLOAD/CSTORE (#151160)
Commit: 4ec8503e4c480f52426ddd03619b017f19a2f452
https://github.com/llvm/llvm-project/commit/4ec8503e4c480f52426ddd03619b017f19a2f452
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/test/ELF/loongarch-relax-pc-hi20-lo12.s
Log Message:
-----------
[lld][LoongArch] Check that the relocation addend is zero before applying relaxation to R_LARCH_GOT_PC_{HI20,LO12} (#151264)
Linker relaxation to R_LARCH_GOT_PC_{HI20,LO12} is only possible when
the addend of the relocation is zero.
Note: For `ld.bfd`, GOT references with non-zero addends will trigger an
assert in LoongArch, but `lld` handles these cases without any errors.
```
ld.bfd: BFD (GNU Binutils) 2.44.0 assertion fail
/usr/src/debug/binutils/binutils-gdb/bfd/elfnn-loongarch.c:4248
```
Commit: 33e978fbfa25fa98bd521222298e903c3f324a60
https://github.com/llvm/llvm-project/commit/33e978fbfa25fa98bd521222298e903c3f324a60
Author: Christian Kandeler <christian.kandeler at qt.io>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang-tools-extra/clangd/FindSymbols.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
Log Message:
-----------
[clangd] Make inline friend functions appear in document symbols (#150629)
Otherwise, that definition would not show up in the document outline.
Commit: cc8c941e17558ba427de06e72c8ad96d7b17ced1
https://github.com/llvm/llvm-project/commit/cc8c941e17558ba427de06e72c8ad96d7b17ced1
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-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-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-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
A llvm/test/Transforms/LoopVectorize/RISCV/vector-loop-backedge-elimination-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
Log Message:
-----------
[VPlan] Convert EVL loops to variable-length stepping after dissolution (#147222)
Loop regions require fixed-length steps and rounded-up trip counts, but
after dissolution creates explicit control flow, EVL loops can leverage
variable-length stepping with original trip counts.
This patch adds a post-dissolution transform pass to convert EVL loops
from fixed-length to variable-length stepping .
Commit: c6f7fa74376634619eb4e8ea9e9580fd3e220fe7
https://github.com/llvm/llvm-project/commit/c6f7fa74376634619eb4e8ea9e9580fd3e220fe7
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
A llvm/test/Analysis/ScalarEvolution/zext-add.ll
Log Message:
-----------
[SCEV] Add test for pushing constant add into zext.
Adds a SCEV-only tests for
https://github.com/llvm/llvm-project/pull/151227.
Commit: ded255e56ee1f2ef27e85b013f572fca34ca57bc
https://github.com/llvm/llvm-project/commit/ded255e56ee1f2ef27e85b013f572fca34ca57bc
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/SFrame.h
M llvm/include/llvm/BinaryFormat/SFrameConstants.def
M llvm/include/llvm/Object/SFrameParser.h
M llvm/lib/BinaryFormat/SFrame.cpp
M llvm/lib/Object/SFrameParser.cpp
A llvm/test/tools/llvm-readobj/ELF/sframe-fde.test
M llvm/test/tools/llvm-readobj/ELF/sframe-header.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[Object] Parsing and dumping of SFrame FDEs (#149828)
Also known as Function Description Entries. The entries occupy a
contiguous piece of the section, so the code is mostly straight-forward.
For more information about the SFrame unwind format, see the
[specification](https://sourceware.org/binutils/wiki/sframe) and the
related [RFC](https://discourse.llvm.org/t/rfc-adding-sframe-support-to-llvm/86900).
Commit: c5327b935b15548792cfce48a79e5f639b20b9d2
https://github.com/llvm/llvm-project/commit/c5327b935b15548792cfce48a79e5f639b20b9d2
Author: Lewis Crawford <lcrawford at nvidia.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/lib/Analysis/ConstantFolding.cpp
Log Message:
-----------
[ConstantFolding] Fix typo in GetNVVMDenormMode (#151297)
Fix typo in function name of GetNVVMDenormMode
(Denrom vs Denorm).
Commit: 2ec91a5ec41c93e79a16ddca02de14b07d593c2c
https://github.com/llvm/llvm-project/commit/2ec91a5ec41c93e79a16ddca02de14b07d593c2c
Author: David Green <david.green at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64-isel-csinc-type.ll
M llvm/test/CodeGen/AArch64/add-extract.ll
M llvm/test/CodeGen/AArch64/addsub.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
M llvm/test/CodeGen/AArch64/logical_shifted_reg.ll
M llvm/test/CodeGen/AArch64/neg-abs.ll
M llvm/test/CodeGen/AArch64/neg-selects.ll
M llvm/test/CodeGen/AArch64/neon-dot-product.ll
M llvm/test/CodeGen/AArch64/reassocmls.ll
Log Message:
-----------
[AArch64][GlobalISel] Add extra GISel test coverage. NFC
This is essentially from performAddSubCombine. addsub.ll has been cleaned up a
little in the process.
Commit: 62744f368166f223740e5f6105aeb11ea854728d
https://github.com/llvm/llvm-project/commit/62744f368166f223740e5f6105aeb11ea854728d
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/test/CodeGen/AArch64/neon-scalar-copy.c
M clang/test/CodeGen/AArch64/neon-vget.c
M clang/test/CodeGen/AArch64/poly64.c
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[AArch64][NEON] NEON intrinsic compilation error with -fno-lax-vector-conversion flag fix (#149329)
Issue originally raised in
https://github.com/llvm/llvm-project/issues/71362#issuecomment-3028515618.
Certain NEON intrinsics that operate on poly types (e.g. poly8x8_t)
failed to compile with the -fno-lax-vector-conversions flag. This patch
updates NeonEmitter.cpp to insert an explicit __builtin_bit_cast from
poly types to the required signed integer vector types when generating
lane-related intrinsics. A test 'neon-bitcast-poly.ll' is included.
Commit: 497d17737518d417f6411d46aef1334f642ccd81
https://github.com/llvm/llvm-project/commit/497d17737518d417f6411d46aef1334f642ccd81
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M bolt/lib/Core/Relocation.cpp
Log Message:
-----------
[BOLT] Allow to compile with MSVC (#151189)
This change is necessary to build BOLT with MSVC on Windows.
Commit: dba558b474199142b8b2c88e9e4110ab1b8cf8e3
https://github.com/llvm/llvm-project/commit/dba558b474199142b8b2c88e9e4110ab1b8cf8e3
Author: Jakub Chlanda <jakub at codeplay.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
A clang/include/clang/Driver/CudaInstallationDetector.h
A clang/include/clang/Driver/LazyDetector.h
A clang/include/clang/Driver/RocmInstallationDetector.h
A clang/include/clang/Driver/SyclInstallationDetector.h
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.h
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Gnu.h
M clang/lib/Driver/ToolChains/HIPAMD.h
R clang/lib/Driver/ToolChains/LazyDetector.h
M clang/lib/Driver/ToolChains/MSVC.h
M clang/lib/Driver/ToolChains/MinGW.h
R clang/lib/Driver/ToolChains/ROCm.h
M clang/lib/Driver/ToolChains/SYCL.h
Log Message:
-----------
[Clang][Driver] Installation detectors in user facing include dir (#151114)
This patch moves `LazyDetector` and target specific (Cuda, Hip, SYCL)
installation detectors to clang's include directory. It was problematic
for downstream to use headers from clang's lib dir. The use of lib
headers could lead to subtle errors, as some of the symbols there are
annotated with `LLVM_LIBRARY_VISIBILITY`. For instance
[`ROCMToolChain::getCommonDeviceLibNames`](https://github.com/jchlanda/llvm-project/blob/jakub/installation_detectors/clang/lib/Driver/ToolChains/AMDGPU.h#L147)
is c++ public, but because of the annotation it ends up as ELF hidden
symbol, which causes errors when accessed from another shared library.
Commit: 4687a7647f86f852e6a4e600aa2ec6dc4b0871ac
https://github.com/llvm/llvm-project/commit/4687a7647f86f852e6a4e600aa2ec6dc4b0871ac
Author: David Green <david.green at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/neon-dot-product.ll
Log Message:
-----------
[AArch64][GlobalISel] Lower udot/sdot intrinsics to G_UDOT/G_SDOT
This allows them to be selected using the same pathways as normal lowering.
USDOT is not handled yet as we do not yet have a node for it.
Commit: 16d5db71b3c38f21aa17783a8758f947dca5883f
https://github.com/llvm/llvm-project/commit/16d5db71b3c38f21aa17783a8758f947dca5883f
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/and_then.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/or_else.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/value.observers.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/and_then.mandates.verify.cpp
M libcxx/test/std/containers/sequences/array/array.creation/to_array.verify.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/conversion.verify.cpp
M libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.verify.cpp
M libcxx/test/std/utilities/function.objects/func.bind_front/bind_front.verify.cpp
Log Message:
-----------
Revert "[libc++][Clang] Added explanation why is_constructible evaluated to false. Updated the diagnostics checks in libc++ tests. (#144220)"
This reverts commit e476f968bc8e438a0435d10934f148de570db8eb.
It has introduced a failure tracked by https://github.com/llvm/llvm-project/issues/150601
One libcxx test fail if libcxx is build with no exceptions and no RTTI:
- libcxx/utilities/expected/expected.expected/value.observers.verify.cpp
Commit: ece7a72aa28975e5ed71cecabf15c9b138b1f277
https://github.com/llvm/llvm-project/commit/ece7a72aa28975e5ed71cecabf15c9b138b1f277
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
Log Message:
-----------
[LoongArch] Optimize insertelement containing variable index using compare+select (#151131)
Commit: 984ec022360805c308c105dccb594be218d57243
https://github.com/llvm/llvm-project/commit/984ec022360805c308c105dccb594be218d57243
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
Log Message:
-----------
[Clang] Replace include with forward declaration (NFC) (#151292)
After https://github.com/llvm/llvm-project/pull/142541.
Commit: 13f38c97d597f3b07fb674d9b8c2b1db2bc0724f
https://github.com/llvm/llvm-project/commit/13f38c97d597f3b07fb674d9b8c2b1db2bc0724f
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/combine-and-like.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/uaddsat.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
M llvm/test/CodeGen/X86/combine-add-ssat.ll
M llvm/test/CodeGen/X86/combine-add-usat.ll
M llvm/test/CodeGen/X86/combine-sub-ssat.ll
M llvm/test/CodeGen/X86/combine-sub-usat.ll
M llvm/test/CodeGen/X86/load-combine.ll
M llvm/test/CodeGen/X86/pr33960.ll
M llvm/unittests/CodeGen/CMakeLists.txt
M llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp
A llvm/unittests/CodeGen/SelectionDAGNodeConstructionTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
A llvm/unittests/CodeGen/SelectionDAGTestBase.h
Log Message:
-----------
[LLVM][SelectionDAG] Align poison/undef binop folds with IR. (#149334)
The "at construction" binop folds in SelectionDAG::getNode() has
different behaviour when compared to the equivalent LLVM IR. This PR
makes the behaviour consistent while also extending the coverage to
include signed/unsigned max/min operations.
Commit: 10d7352c7a9997f0d39d0ee26a786b08f904b5d6
https://github.com/llvm/llvm-project/commit/10d7352c7a9997f0d39d0ee26a786b08f904b5d6
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/AuxVector.cpp
M lldb/source/Plugins/Process/Utility/AuxVector.h
Log Message:
-----------
[lldb][FreeBSD] Add Auxv numbers for HWCAP3 and HWCAP4 (#151152)
These entries serve the same purpose as the Linux HWCAPs but have been
assigned different numbers as FreeBSD had already used the Linux ones.
The numbers were assigned in:
https://github.com/freebsd/freebsd-src/commit/85007872d1227006adf2ce119fe30de856cbe12d
In theory we can read these for the purposes of register field
detection, even on earlier versions of FreeBSD. As the aux data is a
key-value structure, we simply won't find the new numbers on older
systems.
However, FreeBSD has not defined any feature bits for HWACP3 and 4. It
is likley that they will match the Linux feature bits, but I have no
proof of that yet.
For instance, FEAT_MTE_STORE_ONLY is indicated by a HWCAP3 feature bit
on Linux. FreeBSD does not support this feature at all yet.
So for now, these values exist for future use and are not used for
register field detection on FreeBSD.
Commit: 4a8ce6b704c32715bc16d6c33b8b0d91d2ab3ed1
https://github.com/llvm/llvm-project/commit/4a8ce6b704c32715bc16d6c33b8b0d91d2ab3ed1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 13f38c97d597
Commit: 20293ebd3159b3964c4466e6ee04d3e9b721eac0
https://github.com/llvm/llvm-project/commit/20293ebd3159b3964c4466e6ee04d3e9b721eac0
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
Log Message:
-----------
[LLVM][CodeGen][SME] Only emit strided loads in streaming mode. (#150445)
The selection code for aarch64_sve_ld[nt]1_pn_x{2,4} intrinsics gates
the use of strided load instructions behind the SME2 target feature.
However, the instructions are only available in streaming mode.
Commit: 8a09adc22adb18387e7c40db076af32b394db288
https://github.com/llvm/llvm-project/commit/8a09adc22adb18387e7c40db076af32b394db288
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/canonicalize-gep-constglob.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/icmp-gep.ll
M llvm/test/Transforms/InstCombine/loadstore-alignment.ll
M llvm/test/Transforms/InstCombine/pr58901.ll
M llvm/test/Transforms/InstCombine/ptrtoint-nullgep.ll
M llvm/test/Transforms/InstCombine/sub.ll
Log Message:
-----------
[InstCombine] Split GEPs with multiple variable indices (#137297)
Split GEPs that have more than one variable index into two. This is in
preparation for the ptradd migration, which will not support multi-index
GEPs.
This also enables the split off part to be CSEd and LICMed.
Commit: ef6eaa045aaa20c8c01d35c02b6200b3be5d5bb4
https://github.com/llvm/llvm-project/commit/ef6eaa045aaa20c8c01d35c02b6200b3be5d5bb4
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-gep.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-switch.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-lowering-sret-demotion.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator-cse.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator-ios.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy-forced.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memmove.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memset.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-small-memcpy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-and.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bswap.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-constant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fpext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fptrunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-non-pow2-load-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-or.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-vacopy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xor.mir
M llvm/test/CodeGen/AArch64/arm64-this-return.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/bug-legalization-artifact-combiner-dead-def.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-abi-attribute-hints.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-implicit-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-non-fixed.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-sret.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-invariant.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-sibling-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant-32bit.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-zextload-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-load.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-split-scalar-load-metadata.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uniform-load-noclobber.mir
M llvm/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-load-store.mir
M llvm/test/CodeGen/M68k/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/M68k/GlobalISel/legalize-load-store.mir
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/aggregate_struct_return.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/sret_pointer.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/var_arg.ll
M llvm/test/CodeGen/Mips/GlobalISel/mips-prelegalizer-combiner/inline-memcpy.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/load.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/long_ambiguous_chain_s32.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/long_ambiguous_chain_s64.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/store.mir
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vararg.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-icmp-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv64.mir
M llvm/test/CodeGen/X86/GlobalISel/legalize-memop-scalar-32.mir
M llvm/test/CodeGen/X86/GlobalISel/legalize-undef.mir
M llvm/test/CodeGen/X86/GlobalISel/regbankselect-x87.ll
M llvm/test/CodeGen/X86/GlobalISel/x86_64-irtranslator-struct-return.ll
M llvm/unittests/CodeGen/GlobalISel/LegalizerTest.cpp
M llvm/utils/update_mir_test_checks.py
Log Message:
-----------
[GISel] Introduce MIFlags::InBounds (#150900)
This flag applies to G_PTR_ADD instructions and indicates that the operation
implements an inbounds getelementptr operation, i.e., the pointer operand is in
bounds wrt. the allocated object it is based on, and the arithmetic does not
change that.
It is set when the IRTranslator lowers inbounds GEPs (currently only in some
cases, to be extended with a future PR), and in the
(build|materialize)ObjectPtrOffset functions.
Inbounds information is useful in ISel when we have instructions that perform
address computations whose intermediate steps must be in the same memory region
as the final result. A follow-up patch will start using it for AMDGPU's flat
memory instructions, where the immediate offset must not affect the memory
aperture of the address.
This is analogous to a concurrent effort in SDAG: #131862
(related: #140017, #141725).
For SWDEV-516125.
Commit: cf9be978a099e041129202f1a739666ed5ae648b
https://github.com/llvm/llvm-project/commit/cf9be978a099e041129202f1a739666ed5ae648b
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
Log Message:
-----------
[NFC][analyzer] Clean bug type use in BasicObjCFoundationChecks (#151141)
This commit eliminates some corrupted variants of the once-widespread
`mutable std::unique_ptr<BugType>` antipattern from the checker file
`BasicObjCFoundationChecks.cpp`.
Previous purges probably missed these because there are slight mutations
(e.g. using a subclass of `BugType` instead of `BugType`) and therefore
some natural search terms (e.g. `make_unique<BugType>`) didn't produce
matches in this file.
Commit: ffcee267f1633d22d83ef4b4ebfb70ca00c7cd14
https://github.com/llvm/llvm-project/commit/ffcee267f1633d22d83ef4b4ebfb70ca00c7cd14
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/LLVMIRToNVVMTranslation.cpp
Log Message:
-----------
[MLIR] Avoid #include OMPIRBuilder.h (#151302)
`#include "llvm/Frontend/OpenMP/OMPIRBuilder.h"` can be replaced with
forward-declarations of `OpenMPIRBuilder` and `CanonicalLoopInfo`. This
also avoids a dependency to `omp_gen` of the LLVMFrontendOpenMP
component which is included indirectly in `OMPIRBuilder.h`.
Since its inclusion in #147069, additional indirect dependencies on
headers included by `OMPIRBuilder.h` were introduced as well. These are
now included directly.
Reported-by: fabrizio-indirli
See
https://github.com/llvm/llvm-project/pull/147069#issuecomment-3114034973
Commit: 638383cb7110469d652c75a58b42afc80e863574
https://github.com/llvm/llvm-project/commit/638383cb7110469d652c75a58b42afc80e863574
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.h
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/is_fpclass.ll
Log Message:
-----------
[SPIRV] Support G_IS_FPCLASS (#148637)
This commit adds custom legalization for G_IS_FPCLASS, corresponding to
the @llvm.is.fpclass intrinsic.
The lowering strategy is essentially copied and adjusted from the
target-agnostic LegalizeHelper::lowerISFPCLASS legalization. The reason
we can't just use that directly is that the series of instruction it
expands to aren't logged in the SPIR-V backend's register/type
book-keeping, leading to issues later on in the compilation process.
As such the code introduced here was copied from the aforementioned
helper method, with some notable changes:
* Each new instruction's destination register must have a SPIR-V type
registered to it.
* Instead of a COPY from the floating-point type to integer, we issue a
SPIR-V OpBitcast directly. The backend doesn't currently appear to
handle bitcast-like COPYs.
Fixes #72862
Commit: 0d8abc2188f8a8c48dd40a9d0ad2fb0945611b44
https://github.com/llvm/llvm-project/commit/0d8abc2188f8a8c48dd40a9d0ad2fb0945611b44
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Conversion/NVVMToLLVM/NVVMToLLVM.cpp
Log Message:
-----------
[MLIR] Migrate NVVM to the new LDBG debug macro (NFC) (#151162)
Commit: 4fdf07fd46f250804bc1ce5f9193a3ed990e308b
https://github.com/llvm/llvm-project/commit/4fdf07fd46f250804bc1ce5f9193a3ed990e308b
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-07-30 (Wed, 30 Jul 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/midpoint-int.ll
Log Message:
-----------
[AArch64] Use CNEG for absolute difference patterns. (#151177)
The current code generated for absolute difference patterns
(a > b ? a - b : b - a) typically consists of sequences of:
```
sub w8, w1, w0
subs w9, w0, w1
csel w0, w9, w8, hi
```
The first sub is redundant if the csel is replaced by a cneg:
```
subs w8, w0, w1
cneg w0, w8, ls
```
This is achieved by canonicalising
```
select_cc lhs, rhs, sub(lhs, rhs), sub(rhs, lhs), cc ->
select_cc lhs, rhs, sub(lhs, rhs), neg(sub(lhs, rhs)), cc
select_cc lhs, rhs, sub(rhs, lhs), sub(lhs, rhs), cc ->
select_cc lhs, rhs, neg(sub(lhs, rhs)), sub(lhs, rhs), cc
```
as the second forms can already be matched.
This helps with some of the patterns in #118413.
Commit: 4562b557a68895f0f3f5f70875eff28a42cc0f17
https://github.com/llvm/llvm-project/commit/4562b557a68895f0f3f5f70875eff28a42cc0f17
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/hip-dependent-options.hip
M clang/test/Driver/hip-phases.hip
Log Message:
-----------
[HIP] Handle `-fhip-emit-reloctable` in the new driver (#151237)
Summary:
Support for this was missing, here it pretty much overrides the normal
bundling behavior and also requires a few errors to be emitted.
Commit: b7bfbc0c4c7b20d6623a5b0b4a7fea8ae08a62da
https://github.com/llvm/llvm-project/commit/b7bfbc0c4c7b20d6623a5b0b4a7fea8ae08a62da
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
M mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Interfaces/CallInterfaces.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/LLVMImportInterface.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M utils/bazel/llvm-project-overlay/mlir/test/mlir-tblgen/BUILD.bazel
Log Message:
-----------
Reland "[mlir][llvm] Add intrinsic arg and result attribute support (… (#151125)
…… (#151099)
This reverts commit 2780b8f22058b35a8e70045858b87a1966df8df3 to reland
59013d44058ef423a117f95092150e16e16fdb09.
In addition to the original commit this one includes:
- This includes a bazel fix
- Use `let methods` instead of `list<InterfaceMethod> methods`
The original commit message was:
This patch extends the LLVM dialect's intrinsic infra to support
argument and result attributes. Initial support is added for the memory
intrinsics llvm.intr.memcpy, llvm.intr.memmove, and llvm.intr.memset.
Additionally, an ArgAndResultAttrsOpInterface is factored out of
CallOpInterface and CallableOpInterface, enabling operations to have
argument and result attributes without requiring them to be a call or a
callable operation.
Commit: 5c87374f2a33015d39b4e2634c2949851e463602
https://github.com/llvm/llvm-project/commit/5c87374f2a33015d39b4e2634c2949851e463602
Author: Chaitanya Koparkar <ckoparkar at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/docs/DefiningDialects/AttributesAndTypes.md
Log Message:
-----------
[mlir][docs] Use APIntParameter instead of APInt in AttributesAndTypes.md (#151315)
Fixes #151314.
Commit: 97fa9a1f5332dd05883fb67b37ce42c3c9d667be
https://github.com/llvm/llvm-project/commit/97fa9a1f5332dd05883fb67b37ce42c3c9d667be
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
M mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Interfaces/CallInterfaces.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/LLVMImportInterface.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M utils/bazel/llvm-project-overlay/mlir/test/mlir-tblgen/BUILD.bazel
Log Message:
-----------
Revert "Reland "[mlir][llvm] Add intrinsic arg and result attribute support (…" (#151316)
Reverts llvm/llvm-project#151125
Broke the gcc-7 build:
include/mlir/Target/LLVMIR/ModuleTranslation.h:318:34: error: no type
named 'CallBase' in namespace 'llvm'
llvm::CallBase *call,
~~~~~~^
Commit: 58d70dc62b219cd89ba434c96928a0d9c1b23a60
https://github.com/llvm/llvm-project/commit/58d70dc62b219cd89ba434c96928a0d9c1b23a60
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/selectopt-const.ll
A llvm/test/CodeGen/AArch64/store-float-conversion.ll
M llvm/test/CodeGen/AArch64/tbl-loops.ll
Log Message:
-----------
[AArch64] Keep floating-point conversion in SIMD (#147707)
Stores can be issued faster if the result is kept in the SIMD/FP
registers.
The `HasOneUse` guards against creating two floating point conversions,
if for example there's some arithmetic done on the converted value as
well. Another approach would be to inspect the user instructions during
lowering, but I don't see that type of check in the lowering too often.
Commit: 1d6e68e63aa28783ad0de7d0b46238ce95849f2f
https://github.com/llvm/llvm-project/commit/1d6e68e63aa28783ad0de7d0b46238ce95849f2f
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
Log Message:
-----------
[analyzer] Conversion to CheckerFamily: NSOrCFErrorDerefChecker (#151171)
This commit converts the class `NSOrCFErrorDerefChecker` to the checker
family framework and simplifies some parts of the implementation (e.g.
removes two very trivial subclasses of `BugType`).
This commit is almost NFC, the only technically "functional" change is
that it removes the hidden modeling checker `NSOrCFErrorDerefChecker`
which was only relevant as an implementation detail of the old checker
registration procedure.
Commit: eca29aa0f17152f9801e08d14e3d0da6702262b5
https://github.com/llvm/llvm-project/commit/eca29aa0f17152f9801e08d14e3d0da6702262b5
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
Log Message:
-----------
[analyzer] Conversion to CheckerFamily: StackAddrEscapeChecker (#151136)
This commit converts the class StackAddrEscapeChecker to the checker
family framework and slightly simplifies the implementation.
This commit is almost NFC, the only technically "functional" change is
that it removes the hidden modeling checker `core.StackAddrEscapeBase`
which was only relevant as an implementation detail of the old checker
registration procedure.
Commit: 9164d206b33d61c93f5fc4628797485f96d654ca
https://github.com/llvm/llvm-project/commit/9164d206b33d61c93f5fc4628797485f96d654ca
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
Log Message:
-----------
[MLIR] Missing declaration build fix
The sanizer bots are reporting a missing declaration:
```
In file included from /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp:17:
In file included from /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h:26:
/home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h:318:34: error: no type named 'CallBase' in namespace 'llvm'
318 | llvm::CallBase *call,
| ~~~~~~^
1 error generated.
```
https://lab.llvm.org/buildbot/#/builders/94/builds/9340
https://lab.llvm.org/buildbot/#/builders/24/builds/11029
https://lab.llvm.org/buildbot/#/builders/169/builds/13454
https://lab.llvm.org/buildbot/#/builders/25/builds/10250
PR #151302 removed some indirect header #includes which had to be
includes explicitly. I do not know why this particular error only occurs
with the sanitizer buildbots.
Fix by adding a forward declaration.
Commit: fbdf4ec2a56075e5632ba2104a0b0a3cee0ae747
https://github.com/llvm/llvm-project/commit/fbdf4ec2a56075e5632ba2104a0b0a3cee0ae747
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
[mlir][tosa] Fix invalid data type combinations check (#150066)
Previously this check assumed that if an operator exists in profile
complimance (TosaProfileComplianceData.h.inc), an entry exists in both
the profiles and extensions section. However, this is not necessarily
the case.
This commit changes the check such that it doesn't assume the above. In
doing so, it allows more operators to be checked for invalid data type
combinations, which were otherwise skipped previously.
Commit: 3e5f1a66bde9d6c55955da73dfd054394d377b7e
https://github.com/llvm/llvm-project/commit/3e5f1a66bde9d6c55955da73dfd054394d377b7e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/2010-11-21-SizeZeroTypeGEP.ll
Log Message:
-----------
[InstCombine] Generate test checks (NFC)
Commit: 730d05b0ebb73ada1f86ebea32496737d796b13c
https://github.com/llvm/llvm-project/commit/730d05b0ebb73ada1f86ebea32496737d796b13c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/gepphigep.ll
Log Message:
-----------
[InstCombine] Avoid tmp var conflicts in test (NFC)
Commit: 807a82d40789a5e50174f979accca77c8b6841b5
https://github.com/llvm/llvm-project/commit/807a82d40789a5e50174f979accca77c8b6841b5
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/test/TableGen/get-named-operand-idx.td
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[TableGen] Implement getNamedOperandIdx with another table lookup. NFC. (#151116)
Use direct table lookup instead of a switch over all opcodes.
In my Release+Asserts build this reduced the code size for
AMDGPU::getNamedOperandIdx from 11422 to 80 bytes, and the total size of
all its tables (including the jump table for the switch) from 243564 to
155020 bytes.
Commit: 635e6d76530328b8412fbf985708dad26e3f8ea5
https://github.com/llvm/llvm-project/commit/635e6d76530328b8412fbf985708dad26e3f8ea5
Author: Aethezz <64500703+Aethezz at users.noreply.github.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp
M clang/test/Analysis/placement-new.cpp
Log Message:
-----------
[analyzer] Fix FP for cplusplus.placement new #149240 (#150161)
Fix false positive where warnings were asserted for placement new even
when no additional space is requested
The PlacementNewChecker incorrectly triggered warnings when the storage
provided matched or exceeded the allocated type size, causing false
positives. Now the warning triggers only when the provided storage is
strictly less than the required size.
Add test cases covering exact size, undersize, and oversize scenarios to
validate the fix.
Fixes #149240
Commit: 36961202fbf45968cc273fa78fe3479409f5a9c7
https://github.com/llvm/llvm-project/commit/36961202fbf45968cc273fa78fe3479409f5a9c7
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
A llvm/test/Transforms/InstCombine/vectorgep-crash.ll
R llvm/test/Transforms/InstSimplify/ConstProp/vectorgep-crash.ll
Log Message:
-----------
[InstSimplify] Regenerate test checks (NFC)
Change the function name so that UTC works properly. Also move the
test into the InstCombine directory, as that's the pass that's
actually being tested.
Commit: deced287ad1da9a61302e12e0406f8be36f3831b
https://github.com/llvm/llvm-project/commit/deced287ad1da9a61302e12e0406f8be36f3831b
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
M mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Interfaces/CallInterfaces.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/LLVMImportInterface.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
Reapply "[mlir][llvm] Add intrinsic arg and result attribute support … (#151324)
…(… (#151099)
This reverts commit 2780b8f22058b35a8e70045858b87a1966df8df3 and relands
b7bfbc0c4c7b20d6623a5b0b4a7fea8ae08a62da.
Adds the following fixes compared to the original PR
(https://github.com/llvm/llvm-project/pull/150783):
- A bazel fix
- Use `let methods` instead of `list<InterfaceMethod> methods`
The missing forward declaration has been added in meantime:
https://github.com/llvm/llvm-project/commit/9164d206b33d61c93f5fc4628797485f96d654ca.
Commit: fcbbcffd2e6ea30097809ba0cd1e3b6003fa862f
https://github.com/llvm/llvm-project/commit/fcbbcffd2e6ea30097809ba0cd1e3b6003fa862f
Author: Martin Storsjö <martin at martin.st>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/ObjCopy/COFF/COFFReader.cpp
A llvm/test/tools/llvm-objcopy/COFF/exe-bogus-assoc.test
Log Message:
-----------
[llvm-objcopy] [COFF] Ignore associative sections in executables (#151143)
COFF associative sections is a feature where relocatable object files
can have section snippets marked as related to another section snippet,
so they are kept or discarded in relation to that other section snippet.
When llvm-objcopy removes sections, it also removes sections that are
marked as associative to the removed section (as the associative
sections otherwise would end up orphaned).
In a linked executable module (EXE or DLL), section associativity is
meaningless - thus, we should ignore those fields from the input.
After linking, GNU ld keeps the SectionDefinition auxillary part of
symbols intact as it was in the source object file, which means that it
references section numbers in the source object files.
This fixes https://github.com/llvm/llvm-project/issues/53433.
Commit: 330b40e11fd20e9a29b9c24de17e4ba23afeedc6
https://github.com/llvm/llvm-project/commit/330b40e11fd20e9a29b9c24de17e4ba23afeedc6
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/Sema/AnalysisBasedWarnings.cpp
A clang/test/SemaCXX/noreturn-weverything.c
Log Message:
-----------
[Analysis] Prevent revisiting block when searching for noreturn vars (#150582)
When searching for noreturn variable initializations, do not visit CFG
blocks that are already visited, it prevents hanging the analysis.
It must fix https://github.com/llvm/llvm-project/issues/150336.
Commit: 17c1921b4a78b2ab3f455278c2a057d164863866
https://github.com/llvm/llvm-project/commit/17c1921b4a78b2ab3f455278c2a057d164863866
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Dialect/SPIRV/IR/types.mlir
M mlir/test/Target/SPIRV/memory-ops.mlir
M mlir/test/Target/SPIRV/struct.mlir
M mlir/test/Target/SPIRV/undef.mlir
Log Message:
-----------
[mlir][spirv] Add support for structs decorations (#149793)
An alternative implementation could use `ArrayRef` of `NamedAttribute`s
or `NamedAttrList` to store structs decorations, as the deserializer
uses `NamedAttribute`s for decorations. However, using a custom struct
allows us to store the `spirv::Decoration`s directly rather than its
name in a `StringRef`/`StringAttr`.
Commit: bae8f1336db6a7f3288a7dcf253f2d484743b257
https://github.com/llvm/llvm-project/commit/bae8f1336db6a7f3288a7dcf253f2d484743b257
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
M llvm/test/CodeGen/AArch64/implicit-def-subreg-to-reg-regression.ll
M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_darwin.ll
A llvm/test/CodeGen/AArch64/register-coalesce-implicit-def-subreg-to-reg.mir
M llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir
M llvm/test/CodeGen/PowerPC/aix-vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
M llvm/test/CodeGen/PowerPC/combine-fneg.ll
M llvm/test/CodeGen/PowerPC/fp-strict-round.ll
M llvm/test/CodeGen/PowerPC/frem.ll
M llvm/test/CodeGen/PowerPC/froundeven-legalization.ll
M llvm/test/CodeGen/PowerPC/handle-f16-storage-type.ll
M llvm/test/CodeGen/PowerPC/ldexp.ll
M llvm/test/CodeGen/PowerPC/llvm.modf.ll
M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
A llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
A llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
A llvm/test/CodeGen/X86/pr76416.ll
M llvm/test/CodeGen/X86/subreg-fail.mir
A llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir
Log Message:
-----------
Reland "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG" (#134408)
This tries to reland #123632 (previously reverted by commit
6b1db79887df19bc8e8c946108966aa6021c8b87)
This PR aims to fix coalescing of SUBREG_TO_REG when sub-register
liveness tracking is enabled and this is now the so-manieth
reincarnation of this effort :)
This change is needed in order to enable subreg liveness tracking for
AArch64, because without the implicit-def, Machine Copy Propagation
would remove a 'redundant' copy because it doesn't realise that the
top 32-bits of the register are zeroed, which subsequent instructions
rely on.
Changes compared to previous PR:
* Rather than updating all instructions that define the source register
(SrcReg) of the SUBREG_TO_REG, this new approach only updates
instructions
that define SrcReg when they dominate the SUBREG_TO_REG. The live-ranges
are updated accordingly.
Commit: 3d4f1fee48689465b5026f75414247307db7d34d
https://github.com/llvm/llvm-project/commit/3d4f1fee48689465b5026f75414247307db7d34d
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
Log Message:
-----------
[mlir][spirv] Fix UpdateVCEPass to deduce the correct set of capabilities (#151108)
When deducing capabilities implied capabilities are not considered,
which causes generation of incorrect SPIR-V modules. This commit fixes
that by pulling in the capability set for all the implied ones.
---------
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: b47d9d033acd26e492bef9429ee9bce640be0901
https://github.com/llvm/llvm-project/commit/b47d9d033acd26e492bef9429ee9bce640be0901
Author: Steve Merritt <steve.merritt at intel.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/CodeGenCXX/debug-info-gline-tables-only.cpp
Log Message:
-----------
[clang][DebugInfo] Don't emit VTable debug symbols for -gline-tables-only. (#151025)
The -gline-tables-only option emits minimal debug info for functions,
files and line numbers while omitting variables, parameters and most
type information. VTable debug symbols are emitted to facilitate a
debugger's ability to perform automatic type promotion on variables and
parameters. With variables and parameters being omitted, the VTable
symbols are unnecessary.
Commit: 3c62303ac3bfa115681509759a959b2f618d0266
https://github.com/llvm/llvm-project/commit/3c62303ac3bfa115681509759a959b2f618d0266
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode] Clean up {Compiler,Interp}.h (#151335)
Remove else after return and remove some unused includes.
Commit: 74e4a8645da91247dc8dc502771c2cc4d46f1f91
https://github.com/llvm/llvm-project/commit/74e4a8645da91247dc8dc502771c2cc4d46f1f91
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/linker-wrapper-libs.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/lto-dwo.c
M clang/test/Driver/opt-record.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Fix -fsave-optimization-record default file (#149003)
As discussed in PR #145603, the following command seems to fail to
produce a YAML remarks file for offload LTO passes and thus for
kernel-info:
```
clang -O2 -g -fopenmp --offload-arch=native test.c -foffload-lto \
-Rpass=kernel-info -fsave-optimization-record
```
The problem is that, in clang-linker-wrapper's clang call, clang names
the file based on clang's main output file (from `-o`). That is a
temporary file, so the YAML file becomes a temporary file, which the
user never sees.
This patch:
- Makes clang honor `-dumpdir` for the default YAML remarks file in the
case of LTO.
- Extends clang-linker-wrapper to specify that option to clang.
To demonstrate the appeal of the generality of `-dumpdir` (as opposed to
a one-off `-fsave-optimization-record` solution in
clang-linker-wrapper), this patch also fixes `-gsplit-dwarf`. Without
this patch, when using `-gsplit-dwarf` and later debugging using rocgdb,
the dwo directory for offload is a temporary file, so temporary file
cleanup causes rocgdb to lose debug symbols for offload code.
WARNING: The clang driver passes `-dumpdir` to various clang frontend
calls. For LTO, that was previously being ignored, and now it's not.
That changes some auxiliary file names, as revealed by changes in some
existing tests' expected output: `clang/test/Driver/opt-record.c` and
`clang/test/Driver/lto-dwo.c`. Hopefully this change does not introduce
a backward compatibility issue for users.
Commit: b90e1e186b303b4a551c0fd7722be8f5f4ddbfcf
https://github.com/llvm/llvm-project/commit/b90e1e186b303b4a551c0fd7722be8f5f4ddbfcf
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
Log Message:
-----------
[AST] Remove an unnecessary cast (NFC) (#151278)
getSignificantBits() already returns unsigned.
Commit: c6a376371d1fa1a00a0f7e41a271c0688c1e15f2
https://github.com/llvm/llvm-project/commit/c6a376371d1fa1a00a0f7e41a271c0688c1e15f2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Remove an unnecessary cast (NFC) (#151279)
value() already returns uint64_t.
Commit: 5672a8723f98ac531644ae3f8fe182d11d781cb1
https://github.com/llvm/llvm-project/commit/5672a8723f98ac531644ae3f8fe182d11d781cb1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/ModuloSchedule.cpp
Log Message:
-----------
[CodeGen] Remove an unnecessary cast (NFC) (#151280)
LoopValStage is already of int.
Commit: 5191cf090d3854656a183879770c4f046334af22
https://github.com/llvm/llvm-project/commit/5191cf090d3854656a183879770c4f046334af22
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/docs/TableGen/BackGuide.rst
Log Message:
-----------
[llvm] Proofread BackGuide.rst (#151281)
Commit: 2920c4332482af47441bf51fd3eee74ac3200bfd
https://github.com/llvm/llvm-project/commit/2920c4332482af47441bf51fd3eee74ac3200bfd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicInst.h
Log Message:
-----------
[IR] Remove getDestAlignment and getSourceAlignment (#151282)
This patch removes getDestAlignment and getSourceAlignment as they
have been deprecated for more than two years since:
commit 135f23d67bf5397745be1897afd0a3a50119089f
Author: Guillaume Chatelet <gchatelet at google.com>
Date: Mon Jan 16 12:34:40 2023 +0000
I'm not aware of any downstream users AFAIK.
Commit: 5327eeb0bf4eed084b1761cd1b14f3f335383e95
https://github.com/llvm/llvm-project/commit/5327eeb0bf4eed084b1761cd1b14f3f335383e95
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lldb/source/Interpreter/ScriptInterpreter.cpp
Log Message:
-----------
[lldb] Remove a redundant call to std::unique_ptr<T>::get (NFC) (#151283)
Commit: 8f9b01884d78553292e7e8fe87a58fbe419643e1
https://github.com/llvm/llvm-project/commit/8f9b01884d78553292e7e8fe87a58fbe419643e1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[Coroutines] Remove a redundant call to std::unique_ptr<T>::get (NFC) (#151284)
Commit: 83d3770d73fa6bd0b04228611b979bfa006a7b93
https://github.com/llvm/llvm-project/commit/83d3770d73fa6bd0b04228611b979bfa006a7b93
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/Sema/Sema.cpp
A clang/test/Sema/aarch64-sme-attrs-without-sve.cpp
Log Message:
-----------
[Clang][AArch64] Remove unwarranted 'cannot be used in non-streaming mode' diagnostic. (#150592)
Previously Clang would give an unwarranted error on the capture of '&a'
in the function below, even though the parent function and the lambda
are both `__arm_streaming` functions, when the target is compiled with
+sme only.
```
void test_both_streaming(int32_t *out) __arm_streaming {
svint32_t a;
[&a, &out]() __arm_streaming {
^
error: SVE vector type 'svint32_t' (aka '__SVInt32_t') cannot be used in a non-streaming function
a = svdup_s32(1);
svst1(svptrue_b32(), out, a);
}();
}
```
That seems to happen because when `checkTypeSupport` is called the
`FunctionDecl` context of the lambda isn't yet complete and
`FD->getType()` returns a Null `QualTy`.
This is loosely related to #94976 which removed a `FD->hasBody()` check
in the same place, because `hasBody()` may incorrectly return `false`
when Clang is still processing a function.
Commit: 55cdbda58de554e3ecedfeef5cabe926311ae947
https://github.com/llvm/llvm-project/commit/55cdbda58de554e3ecedfeef5cabe926311ae947
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/mlir-tblgen/BUILD.bazel
Log Message:
-----------
[bazel] Port #151324 (#151345)
This was included in #151125 but somehow lost in the second time the
patch was re-applied
Commit: 56c93a47acfd0391da0ca8b9eb27c1568d37d051
https://github.com/llvm/llvm-project/commit/56c93a47acfd0391da0ca8b9eb27c1568d37d051
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/test/Sema/aarch64-sme-attrs-without-sve.cpp
Log Message:
-----------
[Clang] NFC: Add missing REQUIRES to aarch64-sme-attrs-without-sve.cpp
Test was missing `REQUIRES: aarch64-registered-target`.
Commit: 8070e9b63ccc170b04adfbbd61a372c1401adf76
https://github.com/llvm/llvm-project/commit/8070e9b63ccc170b04adfbbd61a372c1401adf76
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-rr.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
Log Message:
-----------
[MLIR][XeGPU] Refactor xegpu-wg-to-sg tests (#149204)
This PR refactors the xegpu-wg-to-sg.mlir tests to use larger shapes
which resemble closer to workgroup level programming.
Commit: 254bfe23e3174d5695f4e35212ff352082f05ae4
https://github.com/llvm/llvm-project/commit/254bfe23e3174d5695f4e35212ff352082f05ae4
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/AST/Decl.cpp
Log Message:
-----------
[Clang][AArch64] Expect valid FunctionDecl in IsArmStreamingFunction
This follows from a conversation on #150592 where we decided to
split out this change and commit it separately.
The rationale is that FunctionDecl must be sufficiently parsed/created
in order to tell whether it is a streaming function.
Commit: 56944e606a1ba24e71fc89fad1eabb97e8240d65
https://github.com/llvm/llvm-project/commit/56944e606a1ba24e71fc89fad1eabb97e8240d65
Author: Thurston Dang <thurston at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-gfni-intrinsics.ll
Log Message:
-----------
[msan] Approximately handle AVX Galois Field Affine Transformation (#150794)
e.g.,
<16 x i8> @llvm.x86.vgf2p8affineqb.128(<16 x i8>, <16 x i8>, i8)
<32 x i8> @llvm.x86.vgf2p8affineqb.256(<32 x i8>, <32 x i8>, i8)
<64 x i8> @llvm.x86.vgf2p8affineqb.512(<64 x i8>, <64 x i8>, i8)
Out A x b
where A and x are packed matrices, b is a vector, Out = A * x + b in
GF(2)
Multiplication in GF(2) is equivalent to bitwise AND. However, the
matrix computation also includes a parity calculation.
For the bitwise AND of bits V1 and V2, the exact shadow is:
Out_Shadow = (V1_Shadow & V2_Shadow) | (V1 & V2_Shadow) | (V1_Shadow &
V2)
We approximate the shadow of gf2p8affine using:
Out_Shadow = _mm512_gf2p8affine_epi64_epi8(x_Shadow, A_shadow, 0)
| _mm512_gf2p8affine_epi64_epi8(x, A_shadow, 0)
| _mm512_gf2p8affine_epi64_epi8(x_Shadow, A, 0)
| _mm512_set1_epi8(b_Shadow)
This approximation has false negatives: if an intermediate dot-product
contains an even number of 1's, the parity is 0.
It has no false positives.
Updates the test from https://github.com/llvm/llvm-project/pull/149258
Commit: 8a503378c9eb40bbcfe6fd8b6fe3c2f8f7e0ba3d
https://github.com/llvm/llvm-project/commit/8a503378c9eb40bbcfe6fd8b6fe3c2f8f7e0ba3d
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
Log Message:
-----------
[NFC][analyzer] Conversion to CheckerFamily: CStringChecker (#150971)
This commit converts the class CStringChecker to the checker family
framework and slightly simplifies the implementation.
This commit is NFC and preserves the confused garbage descriptions and
categories of the bug types (which was inherited from old mistakes). I'm
planning to clean that up in a follow-up commit.
Commit: 062b22e46238be9a542755a9021486b651731908
https://github.com/llvm/llvm-project/commit/062b22e46238be9a542755a9021486b651731908
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-acc-structure.h
M flang/lib/Semantics/check-omp-atomic.cpp
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/openmp-utils.h
M flang/test/Lower/OpenACC/acc-atomic-capture.f90
M flang/test/Semantics/OpenACC/acc-atomic-validity.f90
Log Message:
-----------
[flang][openacc] Add semantic checks for atomic constructs (#149579)
An error report of the following code generating non-atomic code led us
to realize there are missing checks in the OpenACC atomics code. Add
some of those checks for atomic and sketch how the rest of the code
should proceed in checking the rest of the properties. The following
cases are all reported as errors.
```fortran
! Originally reported error!
!$acc atomic capture
a = b
c = b
!$acc end atomic capture
! Other ambiguous, but related errors!
!$acc atomic capture
x = i
i = x
!$acc end atomic capture
!$acc atomic capture
a = b
b = b
!$acc end atomic capture
!$acc atomic capture
a = b
a = c
!$acc end atomic capture
```
Commit: 88c23ada9a037bca94927796b4cefab54d11a7d1
https://github.com/llvm/llvm-project/commit/88c23ada9a037bca94927796b4cefab54d11a7d1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/Linux/long-object-path.cpp
M compiler-rt/test/fuzzer/afl-driver-stderr.test
M compiler-rt/test/sanitizer_common/TestCases/suffix-log-path_test.c
M compiler-rt/test/xray/TestCases/Posix/fdr-mode-inmemory.cpp
M compiler-rt/test/xray/TestCases/Posix/fdr-mode-multiple.cpp
Log Message:
-----------
Reapply "[compiler-rt] Remove %T from tests (#151265)"
This reverts commit 3c3523c15850f3c42de35ae725288368414e4e91.
Keeping the directory structure the same as before fixes the failures.
They trivially reproduced locally and only passed before because I was
not cleaning up the temp test directory in between invocations.
Commit: eb9e526af050611ceafa6a53b73d72a7d3ea065c
https://github.com/llvm/llvm-project/commit/eb9e526af050611ceafa6a53b73d72a7d3ea065c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
Log Message:
-----------
[lldb] Pick the builder for the target platform (#151262)
Pick the builder for the target platform, not the host platform. This is
necessary when running the test suite remotely on a different platform.
Unlike for Darwin, both Windows and Linux us the default builder, which
is why this went unnoticed on the remote-linux bots.
Commit: 66b34bc943644c7e20f5c5c22a706a091dd9b053
https://github.com/llvm/llvm-project/commit/66b34bc943644c7e20f5c5c22a706a091dd9b053
Author: UmeshKalappa <103930015+ukalappa-mips at users.noreply.github.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/xmips-cbop.ll
Log Message:
-----------
[RISCV] Handled the uimm9 offset while FrameIndex folding. (#149303)
Reverted the https://github.com/llvm/llvm-project/pull/148779 changes
and
- handled the uimm9 offset in eliminateFrameIndex ()
- updated the testcase.
Commit: 2672719a09cf9fd279e66cd3582b7cc8331c0b31
https://github.com/llvm/llvm-project/commit/2672719a09cf9fd279e66cd3582b7cc8331c0b31
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[InstCombine] Don't handle non-canonical index type in icmp of load fold (#151346)
We should just bail out and wait for it to be canonicalized. The current
implementation could emit a trunc without actually performing the
transform.
Commit: fec2c434ca86c3dfcde095673858fc53deb73ab7
https://github.com/llvm/llvm-project/commit/fec2c434ca86c3dfcde095673858fc53deb73ab7
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
Log Message:
-----------
[MLIR] Migrate InlinerInterfaceImpl to the new LDBG() debug form (NFC) (#150853)
Commit: 385fe30ee0e4fc798f25b31dd8c6fd5e1f4081d1
https://github.com/llvm/llvm-project/commit/385fe30ee0e4fc798f25b31dd8c6fd5e1f4081d1
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/load-cmp.ll
M llvm/test/Transforms/InstCombine/strcmp-3.ll
M llvm/test/Transforms/InstCombine/vector_gep1-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vector_gep1.ll
M llvm/test/Transforms/InstCombine/vectorgep-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
Log Message:
-----------
[InstCombine] Strip trailing zero GEP indices (#151338)
Zero indices at the end do not change the GEP offset and can be removed.
(Doing the same at the start requires adjusting the source element
type.)
Commit: e8e9bef32bc89ed1d0937ae87976269855d2fa71
https://github.com/llvm/llvm-project/commit/e8e9bef32bc89ed1d0937ae87976269855d2fa71
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/lib/IR/AsmPrinter.cpp
Log Message:
-----------
[MLIR] Use LDBG in MLIR AsmPrinter (#151163)
Commit: 42e0d302686657cc381dc49033f68daa0f09b046
https://github.com/llvm/llvm-project/commit/42e0d302686657cc381dc49033f68daa0f09b046
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/bug26185-2.ll
A llvm/test/CodeGen/NVPTX/combine-wide.ll
M llvm/test/CodeGen/NVPTX/local-stack-frame.ll
M llvm/test/CodeGen/NVPTX/vector-loads.ll
Log Message:
-----------
[NVPTX] Enhance `mul.wide` and `mad.wide` peepholes (#150477)
Implements `(sign_extend|zero_extend (mul|shl) x, y) -> (mul.wide x, y)`
as a DAG combine.
Implements `(add (mul.wide a, b), c) -> (mad.wide a, b, c)` in
instruction selection.
Commit: 75e5a705771315bc40d2188675d08cb2c71f6933
https://github.com/llvm/llvm-project/commit/75e5a705771315bc40d2188675d08cb2c71f6933
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
M mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/ShardToMPI/ShardToMPI.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Shard/IR/ShardOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
Log Message:
-----------
[MLIR] Migrate some conversion passes and dialects to LDBG() macro (NFC) (#151349)
Commit: 58e6bc87b7af81a87376f389cd6a107105ba4dcd
https://github.com/llvm/llvm-project/commit/58e6bc87b7af81a87376f389cd6a107105ba4dcd
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Target.cpp
Log Message:
-----------
[ELF] Add a dummySym member to Ctx
This ensures subsequent calls to elf::postScanRelocations with a new Ctx
will correctly use an instance with the right internalFile (with the old
one presumably deleted, even). It also avoids having to create a new
instance in elf::getErrorPlace, and will allow more uses of such a dummy
symbol in future commits.
Reviewers: MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/150796
Commit: 0d81d3c59a9f10cb4b7a1f6086ae42b7f59ad6d3
https://github.com/llvm/llvm-project/commit/0d81d3c59a9f10cb4b7a1f6086ae42b7f59ad6d3
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[NFCI][ELF] Introduce explicit Computed state for DynamicReloc
Currently we set the kind to AddendOnly in computeRaw() in order to
catch cases where we're not treating the DynamicReloc as computed.
Specifically, computeAddend() will then assert that sym is nullptr, so
can catch any subsequent calls for relocations that have sym set.
However, if the DynamicReloc was already AddendOnly (or
MipsMultiGotPage), we will silently allow this, which does work
correctly, but is not the intended use. We also cannot catch cases where
needsDynSymIndex() is called after this point, which would give a
misleading value if the kind were previously against a symbol.
By introducing a new (internal) Computed kind we can be explicit and add
more rigorous assertions, rather than abusing AddendOnly.
Reviewers: arichardson, MaskRay
Reviewed By: arichardson, MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/150799
Commit: e027b9258ac8779e45363a13eeb0dc00c19f689e
https://github.com/llvm/llvm-project/commit/e027b9258ac8779e45363a13eeb0dc00c19f689e
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
Log Message:
-----------
[NFCI][ELF] Merge AddendOnly and AddendOnlyWithTargetVA
The former is just a special case of the latter, ignoring the expr and
always just using the addend, allowing (and enforcing) the sym is null.
If we just use dummySym then we don't need to maintain this as a
separate case, since R_ADDEND will return the addend unmodified for the
call to getRelocTargetVA.
Reviewers: MaskRay, arichardson
Reviewed By: MaskRay, arichardson
Pull Request: https://github.com/llvm/llvm-project/pull/150797
Commit: 4f39139df31bd908ce0253aa8078f509aa0327d0
https://github.com/llvm/llvm-project/commit/4f39139df31bd908ce0253aa8078f509aa0327d0
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
A llvm/test/tools/llvm-mc/disassembler-profile.test
M llvm/tools/llvm-mc/Disassembler.cpp
M llvm/tools/llvm-mc/Disassembler.h
M llvm/tools/llvm-mc/llvm-mc.cpp
Log Message:
-----------
[llvm-mc] Add --runs option for benchmarking (#151149)
Add support for measuring decode times in llvm-mc tool. Add command line
options to enable time-trace profiling (similar to llc or opt) and add
option `runs` to run the decoder several times on each instruction.
Commit: 54df4b8c35b6f53d3df418c58a0c920c6132e0f7
https://github.com/llvm/llvm-project/commit/54df4b8c35b6f53d3df418c58a0c920c6132e0f7
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[NFCI][ELF] Merge AgainstSymbol and AgainstSymbolWithTargetVA
The former is just a special case of the latter, ignoring the expr and
always just using the addend. If we use R_ADDEND as expr (which
previously had no effect, and so was misleadingly R_ABS not R_ADDEND in
all but one use) then we don't need to maintain this as a separate case.
Aside from the internal Computed Kind, this just leaves MipsMultiGotPage
as a special case; the only difference between the other two Kind values
is what needsDynSymIndex returns.
Reviewers: MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/150798
Commit: 06d5e87e659a19e7acfa6d7ff6545fb2361ff012
https://github.com/llvm/llvm-project/commit/06d5e87e659a19e7acfa6d7ff6545fb2361ff012
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lld/ELF/Arch/Mips.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Target.h
Log Message:
-----------
[NFCI][ELF][Mips] Replace MipsMultiGotPage with new RE_MIPS_OSEC_LOCAL_PAGE
Instead of having a special DynamicReloc::Kind, we can just use a new
RelExpr for the calculation needed. The only odd thing we do that allows
this is to keep a representative symbol for the OutputSection in
question (the first we see for it) around to use in this relocation for
the addend calculation.
This reduces DynamicReloc to just AddendOnly vs AgainstSymbol, plus the
internal Computed.
Reviewers: MaskRay, arichardson
Reviewed By: MaskRay, arichardson
Pull Request: https://github.com/llvm/llvm-project/pull/150810
Commit: 1522ad956929b53d3adfe61c1c3f60d2d3fe076c
https://github.com/llvm/llvm-project/commit/1522ad956929b53d3adfe61c1c3f60d2d3fe076c
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[NFC][ELF] Don't duplicate DynamicReloc constructor
This second constructor is just a shorthand for an AddendOnly relocation
against dummySym with R_ADDEND, so write it as such.
Reviewers: arichardson, MaskRay
Reviewed By: MaskRay, arichardson
Pull Request: https://github.com/llvm/llvm-project/pull/150811
Commit: ab12b43047fb3cb1fd80a508299c4a553065b023
https://github.com/llvm/llvm-project/commit/ab12b43047fb3cb1fd80a508299c4a553065b023
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[NFCI][ELF] Store DynamicReloc Kind as two bools
Aside from Computed, Kind is now just AddendOnly and AgainstSymbol, so
it's really just a bool reflecting whether the resulting ELF relocation
should reference the symbol or not. Refactor DynamicReloc's storage to
reflect this, splitting Computed out into its own orthogonal isFinal
bool. As part of this, rename computeRaw to finalize to reflect that
it's side-effecting.
This also allows needsDynSymIndex() to work even after finalize(), so
drop the existing assertion.
A future commit will refact the DynamicReloc API to take isAgainstSymbol
directly now the enum serves little purpose, as a more invasive,
mechanical change. For this commit we keep DynamicReloc::Kind as the
external API.
Reviewers: MaskRay, arichardson
Reviewed By: MaskRay, arichardson
Pull Request: https://github.com/llvm/llvm-project/pull/150812
Commit: 52ddcfd8d6c078b3e5ae3c230eea67a466d64f0f
https://github.com/llvm/llvm-project/commit/52ddcfd8d6c078b3e5ae3c230eea67a466d64f0f
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
Log Message:
-----------
[NFC][ELF] Replace DynamicReloc::Kind with the equivalent bool in APIs
DynamicReloc::AgainstSymbol is now true and DynamicReloc::AddendOnly is
now false; uses of the constants were replaced mechanically.
Reviewers: rnk, MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/150813
Commit: a7b58e74a080152c30fc5eb5f749e2254c277938
https://github.com/llvm/llvm-project/commit/a7b58e74a080152c30fc5eb5f749e2254c277938
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lldb/test/Shell/Commands/command-disassemble-process.yaml
M lldb/test/Shell/Commands/command-image-lookup.yaml
M lldb/test/Shell/Minidump/Windows/arm-fp-unwind.test
M lldb/test/Shell/Minidump/Windows/broken-unwind.test
M lldb/test/Shell/Minidump/Windows/find-module.test
M lldb/test/Shell/Minidump/memory-region-from-module.yaml
M lldb/test/Shell/ObjectFile/Breakpad/uuid-matching-mac.test
M lldb/test/Shell/ObjectFile/ELF/minidebuginfo-set-and-hit-breakpoint.test
M lldb/test/Shell/SymbolFile/Breakpad/inline-record.test
M lldb/test/Shell/SymbolFile/Breakpad/line-table-discontinuous-file-ids.test
M lldb/test/Shell/SymbolFile/Breakpad/line-table-edgecases.test
M lldb/test/Shell/SymbolFile/Breakpad/line-table-missing-file.test
M lldb/test/Shell/SymbolFile/Breakpad/line-table-mixed-path-styles.test
M lldb/test/Shell/SymbolFile/Breakpad/line-table.test
M lldb/test/Shell/SymbolFile/Breakpad/symtab-macho.test
M lldb/test/Shell/SymbolFile/Breakpad/symtab-sorted-by-size.test
M lldb/test/Shell/SymbolFile/Breakpad/symtab.test
M lldb/test/Shell/SymbolFile/Breakpad/unwind-via-stack-win-no-memory-info.yaml
M lldb/test/Shell/SymbolFile/DWARF/dwo-missing-error.test
M lldb/test/Shell/SymbolFile/DWARF/dwo-relative-path.s
M lldb/test/Shell/SymbolFile/DWARF/x86/debug_loclists-dwo.s
M lldb/test/Shell/SymbolFile/DWARF/x86/debug_rnglists-dwo.s
M lldb/test/Shell/SymbolFile/DWARF/x86/dwo-type-in-main-file.s
M lldb/test/Shell/SymbolFile/PDB/class-layout.test
M lldb/test/Shell/SymbolFile/PDB/compilands.test
M lldb/test/Shell/SymbolFile/PDB/enums-layout.test
M lldb/test/Shell/SymbolFile/PDB/func-symbols.test
M lldb/test/Shell/SymbolFile/PDB/pointers.test
M lldb/test/Shell/SymbolFile/PDB/type-quals.test
M lldb/test/Shell/SymbolFile/PDB/typedefs.test
M lldb/test/Shell/SymbolFile/PDB/variables.test
Log Message:
-----------
[lldb] Remove %T from lit tests (#151343)
%T has been deprecated for about seven years, mostly because it is not
unique to each test which can lead to races. This patch updates the few
remaining tests in lldb that use %T to not use it (either directly using
files or creating their own temp dir). The eventual goal is to remove
support for %T from llvm-lit given few tests use it and it still has
racey behavior.
This patch errors on the side of creating new temp dirs even when not
strictly necessary to avoid needing to update filenames inside filecheck
matchers.
Commit: 9a84c62da4e8bcf76c39077e0c18f21dd724e9ab
https://github.com/llvm/llvm-project/commit/9a84c62da4e8bcf76c39077e0c18f21dd724e9ab
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/cmake/modules/LLVMProcessSources.cmake
Log Message:
-----------
[cmake] Don't generate per-file "__SHORT_FILE__" defines on visual studio builds (#151167)
As reported on #150677 - this is preventing msbuild parallelization as cmake is repeatedly being updated
Commit: 6be3cc5ad5ee0d33264bc202005e93c667b67698
https://github.com/llvm/llvm-project/commit/6be3cc5ad5ee0d33264bc202005e93c667b67698
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.h
Log Message:
-----------
[LLDB][NativePDB] Fix name access for classes in `CVTagRecord::name` (#151190)
From
https://github.com/llvm/llvm-project/pull/149876#discussion_r2240478480:
The `name()` accessor checked for `m_kind == Union` and accessed
`cvclass` instead of `cvunion`. This is technically wrong (maybe UB
even?).
In practice, this wasn't an issue, because all types in the union
(`ClassRecord`/`EnumRecord`/`UnionRecord`) inherit from `TagRecord`.
Commit: 26f9166ca1afe767063b6e319dc9634e91cb923c
https://github.com/llvm/llvm-project/commit/26f9166ca1afe767063b6e319dc9634e91cb923c
Author: Dan Blackwell <dan_blackwell at apple.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_report.h
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
Log Message:
-----------
[TSan][compiler-rt] Defer symbolization of Reports to as late as possible (#151120)
This is the refactoring portion of:
https://github.com/llvm/llvm-project/pull/149516. My aim is for this
change to replicate current behaviour - just with Symbolization done
explicitly (and later than previously).
This change will enable us to perform symboliaztion after releasing the
locks in `OutputReport`; this is necessary on Apple platforms in order
to avoid a deadlock.
Commit: c2548a8c4c581bfd7c2b7738508fff4d85413cd6
https://github.com/llvm/llvm-project/commit/c2548a8c4c581bfd7c2b7738508fff4d85413cd6
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lldb/include/lldb/Expression/DWARFExpression.h
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
M lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
A lldb/source/Plugins/SymbolFile/DWARF/SymbolFileWasm.cpp
A lldb/source/Plugins/SymbolFile/DWARF/SymbolFileWasm.h
A lldb/source/Utility/WasmVirtualRegisters.h
M lldb/unittests/Expression/CMakeLists.txt
M lldb/unittests/Expression/DWARFExpressionTest.cpp
Log Message:
-----------
[lldb] Support DW_OP_WASM_location in DWARFExpression (#151010)
Add support for DW_OP_WASM_location in DWARFExpression. This PR rebases
#78977 and cleans up the unit test. The DWARF extensions are documented
at https://yurydelendik.github.io/webassembly-dwarf/ and supported by
LLVM-based toolchains such as Clang, Swift, Emscripten, and Rust.
Commit: a349ccf32d6e34a5cc8166132b604b5bc2cbad98
https://github.com/llvm/llvm-project/commit/a349ccf32d6e34a5cc8166132b604b5bc2cbad98
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
Log Message:
-----------
Revert "[mlir][spirv] Fix UpdateVCEPass to deduce the correct set of capabilities" (#151358)
Reverts llvm/llvm-project#151108 as it breaks sanitizer builds.
Commit: b2d876a693c199c8022d5447ce45cca9c73aa35d
https://github.com/llvm/llvm-project/commit/b2d876a693c199c8022d5447ce45cca9c73aa35d
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[LTO][NFC] Switch LTO API from output parameter to return value (#151272)
Commit: 9a46091d4b996ce0511f4baf6ebbe1f0706d0d0e
https://github.com/llvm/llvm-project/commit/9a46091d4b996ce0511f4baf6ebbe1f0706d0d0e
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/vector-sink.mlir
Log Message:
-----------
[mlir][Vector] Allow elementwise/broadcast swap to handle mixed types (#151274)
This patch extends the operation that rewrites elementwise operations
whose inputs are all broadcast from the same shape to handle
mixed-types, such as when the result and input types don't match, or
when the inputs have multiple types.
PR #150867 failed to check for the possibility of type mismatches when
rewriting splat constants. In order to fix that issue, we add support
for mixed-type operations more generally.
Commit: c9e2ad7da808f1d7d67fec7dfac7527d98fbfff1
https://github.com/llvm/llvm-project/commit/c9e2ad7da808f1d7d67fec7dfac7527d98fbfff1
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
A utils/bazel/llvm-project-overlay/mlir/examples/transform-opt/BUILD.bazel
A utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch2/BUILD.bazel
A utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch3/BUILD.bazel
A utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch4/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Add build files for transform examples (#151351)
Commit: 5fc482cfc0fa70c98e14d64d83dffbf7da03c303
https://github.com/llvm/llvm-project/commit/5fc482cfc0fa70c98e14d64d83dffbf7da03c303
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/unittests/Format/IntegerLiteralSeparatorTest.cpp
Log Message:
-----------
[clang-format] Disable IntegerLiteralSeparator for C++ before c++14 (#151273)
Fixes #151102
Commit: 8e199f0f754dd263b3816705e650dded76273f66
https://github.com/llvm/llvm-project/commit/8e199f0f754dd263b3816705e650dded76273f66
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Fix a warning
This patch fixes:
llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp:579:11: error: unused
variable 'Subtarget' [-Werror,-Wunused-variable]
Commit: fc5976118d5271c23630ae43d91acf66383693f5
https://github.com/llvm/llvm-project/commit/fc5976118d5271c23630ae43d91acf66383693f5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/sched.yaml
M libc/src/sched/CMakeLists.txt
A libc/src/sched/getcpu.h
M libc/src/sched/linux/CMakeLists.txt
A libc/src/sched/linux/getcpu.cpp
M libc/test/src/sched/CMakeLists.txt
A libc/test/src/sched/getcpu_test.cpp
Log Message:
-----------
[libc] Add implementation of getcpu syscall wrapper (#150871)
This patch adds the getcpu syscall wrapper. This has been supported in
glibc since v2.29.
Commit: bf72bd6cfa08356a4579fa80d153f1dae3d55f71
https://github.com/llvm/llvm-project/commit/bf72bd6cfa08356a4579fa80d153f1dae3d55f71
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/SymbolFile/DWARF/BUILD.gn
Log Message:
-----------
[gn build] Port c2548a8c4c58
Commit: c2c864462bd2cc771b08939ac38b0ca27cc75572
https://github.com/llvm/llvm-project/commit/c2c864462bd2cc771b08939ac38b0ca27cc75572
Author: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
Log Message:
-----------
[mlir][spirv] Fix UpdateVCEPass pass to deduce the correct version (#151192)
UpdateVCEPass currently deduces the required version based on vrsion
requirement of ops. This fix adds a check to update the minimum required
version based on capabilities as well.
---------
Signed-off-by: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Commit: c1968fee972859dfd03a7e698422e18a5bc1d478
https://github.com/llvm/llvm-project/commit/c1968fee972859dfd03a7e698422e18a5bc1d478
Author: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Target/SPIRV/constant.mlir
Log Message:
-----------
[mlir][spirv] Fix serialization of multi-dimensional TensorArm constant (#151158)
This fixes an issue where multi-dimensional TensorArm dense elements
could not be serialized.
Signed-off-by: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Commit: 71d6762309a7db67770bdbd39572ef04e6a1ea59
https://github.com/llvm/llvm-project/commit/71d6762309a7db67770bdbd39572ef04e6a1ea59
Author: zGoldthorpe <zgoldtho at ualberta.ca>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
A llvm/test/Transforms/InstCombine/or-packed-int-vecs.ll
Log Message:
-----------
[InstCombine] Added pattern for recognising the construction of packed integers. (#147414)
This patch extends the instruction combiner to simplify the construction
of a packed scalar integer from a vector type, such as:
```llvm
target datalayout = "e"
define i32 @src(<4 x i8> %v) {
%v.0 = extractelement <4 x i8> %v, i32 0
%z.0 = zext i8 %v.0 to i32
%v.1 = extractelement <4 x i8> %v, i32 1
%z.1 = zext i8 %v.1 to i32
%s.1 = shl i32 %z.1, 8
%x.1 = or i32 %z.0, %s.1
%v.2 = extractelement <4 x i8> %v, i32 2
%z.2 = zext i8 %v.2 to i32
%s.2 = shl i32 %z.2, 16
%x.2 = or i32 %x.1, %s.2
%v.3 = extractelement <4 x i8> %v, i32 3
%z.3 = zext i8 %v.3 to i32
%s.3 = shl i32 %z.3, 24
%x.3 = or i32 %x.2, %s.3
ret i32 %x.3
}
; ===============
define i32 @tgt(<4 x i8> %v) {
%x.3 = bitcast <4 x i8> %v to i32
ret i32 %x.3
}
```
Alive2 proofs (little-endian):
[YKdMeg](https://alive2.llvm.org/ce/z/YKdMeg)
Alive2 proofs (big-endian):
[vU6iKc](https://alive2.llvm.org/ce/z/vU6iKc)
Commit: 1a53553f11514c4eb116e6a935ada3e350d8d6c5
https://github.com/llvm/llvm-project/commit/1a53553f11514c4eb116e6a935ada3e350d8d6c5
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
Log Message:
-----------
[ORC] Fix synchronization in CoreAPIsTest. (#144556)
The code previously appeared to have a (benign?) race condition on
`WorkThreads.size`, since it was being accessed outside of the mutex
lock that protected it on the threads. This is usually okay since
1a1d6e6f98738be249b20994bcfed48dccac59e3, but doesn't seem reliable in
general, so fix this code to express the intent more accurately. This
instead relies on the same general principles as ref-counting, where
each existing reference (thread) can add new references (threads)
because they already have a reference themselves (until joined).
Commit: 2cf15a1a54fc45659f667113379891e6c06ce50a
https://github.com/llvm/llvm-project/commit/2cf15a1a54fc45659f667113379891e6c06ce50a
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
Log Message:
-----------
Silence a not all control paths return a value warning; NFC
Commit: a14659a2c8c82804b611925fa7a48fd26ef1d135
https://github.com/llvm/llvm-project/commit/a14659a2c8c82804b611925fa7a48fd26ef1d135
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/array/TestArrayFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/basic/TestImportStdModule.py
M lldb/test/API/commands/expression/import-std-module/conflicts/TestStdModuleWithConflicts.py
M lldb/test/API/commands/expression/import-std-module/deque-basic/TestDequeFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/forward_list/TestForwardListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/iterator/TestIteratorFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/TestDbgInfoContentListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/list/TestListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/non-module-type-separation/TestNonModuleTypeSeparation.py
M lldb/test/API/commands/expression/import-std-module/retry-with-std-module/TestRetryWithStdModule.py
M lldb/test/API/commands/expression/import-std-module/shared_ptr-dbg-info-content/TestSharedPtrDbgInfoContentFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/unique_ptr-dbg-info-content/TestUniquePtrDbgInfoContent.py
M lldb/test/API/commands/expression/import-std-module/unique_ptr/TestUniquePtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr-dbg-info-content/TestDbgInfoContentWeakPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
Log Message:
-----------
[lldb] deactivate some tests on older SDKs (#147768)
https://github.com/llvm/llvm-project/pull/144913 was reverted because
some of the Darwin tests were failing on SDKs prior to `15.0`.
Only the x86 bots run on macOS `14.0`. The aarch64 ones run on macOS
`15.0`.
In this patch, we deactivate the failing Darwin tests on older SDKs
(prior to `15.0`).
Commit: 8e9a0fc0f2e58c794de01ff457f4d487a2f499fa
https://github.com/llvm/llvm-project/commit/8e9a0fc0f2e58c794de01ff457f4d487a2f499fa
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-ir2vec.rst
A llvm/utils/mlgo-utils/IR2Vec/generateTriplets.py
Log Message:
-----------
[IR2Vec] Add triplet generation utility script for vocabulary training (#149215)
Added a Python utility script for generating IR2Vec triplets and updated documentation to reference it.
The script generates triplets in a form suitable for training the vocabulary.
(Tracking issues - #141817, #141834; closes - #141834)
Commit: c56be46c1c594b96be9ee27721e0fcc68f6a3e75
https://github.com/llvm/llvm-project/commit/c56be46c1c594b96be9ee27721e0fcc68f6a3e75
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Port #151010: DW_OP_WASM_location (#151364)
Commit: 6b76ca88ac2147ee3c5c458ac568a9ddc7c0965f
https://github.com/llvm/llvm-project/commit/6b76ca88ac2147ee3c5c458ac568a9ddc7c0965f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
Log Message:
-----------
Revert "[lldb] Pick the builder for the target platform" (#151367)
Reverts llvm/llvm-project#151262 while I investigate why this breaks
GreenDragon.
Commit: 3a4d506cb057488ab8dbaf234b7761edb1854be9
https://github.com/llvm/llvm-project/commit/3a4d506cb057488ab8dbaf234b7761edb1854be9
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/tbl-loops.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Prevent invalid extract_elt within combineStoreValueFPToInt.
This reverts a small part of https://github.com/llvm/llvm-project/pull/147707
that triggers an isel failure because we cannot extract an >i32 element
into an i64 result.
Commit: a194d516546061078dc217a81655688f1a175ca2
https://github.com/llvm/llvm-project/commit/a194d516546061078dc217a81655688f1a175ca2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
Log Message:
-----------
[ExecutionEngine] Fix a warning
This patch fixes:
llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp:1578:3: error:
'std::unique_lock' may not intend to support class template argument
deduction [-Werror,-Wctad-maybe-unsupported]
Commit: 3b5aff569d0604d554a6648920cc627d71748ae4
https://github.com/llvm/llvm-project/commit/3b5aff569d0604d554a6648920cc627d71748ae4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/test/Headers/__cpuidex_conflict.c
Log Message:
-----------
[clang][X86] Update __cpuidex_conflict.c test post #126324 (#151220)
It does not look like __cpuidex builtins are being incorrectly included
in compilations for offload targets anymore, so change up the test to
assume that we are defining __cpuidex as static in cpuid.h now that
\#126324 updates the behavior of __has_builtin on offload compilations.
This ensures we are still testing that we are avoiding the conflicts
around offloading that were first pointed out in
https://reviews.llvm.org/D150646.
Commit: 9de49703b82e8e3d45d2e1ceb2626f5bb920ee12
https://github.com/llvm/llvm-project/commit/9de49703b82e8e3d45d2e1ceb2626f5bb920ee12
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
A llvm/test/CodeGen/SPIRV/hlsl-resources/issue-146942-ptr-cast.ll
Log Message:
-----------
[SPIRV] Preserve implicit bitcast (#151041)
fixes #146942
## Issue
The cause of the bug is in InstCombine which is converting our load of
float vec4 and bitcast to i32 vec4 into one load of i32 vec4. That means
wr have to do a legalization in the spirv backend to convert back
```diff
- %3 = load <4 x i32>, ptr addrspace(11) %2, align 16
+ %3 = load <4 x float>, ptr addrspace(11) %2, align 16
+ %4 = bitcast <4 x float> %3 to <4 x i32>
```
<img width="2566" height="548" alt="Image"
src="https://github.com/user-attachments/assets/0bf8813c-70f8-47df-8207-ab7da54f5382"
/>
https://godbolt.org/z/K4GeM4fKT
## The Fix
Just removing the assert isn't enough to fix this bug. If we do so we
get an assert later
`Assertion failed: (!storageClassRequiresExplictLayout(SC)), function
getOrCreateSPIRVPointerType, file SPIRVGlobalRegistry.cpp, line 1806.`
If we just remove the assert the `CreateShuffleVector` uses the source
type via the `NewLoad` when the `Output` type needs to be the
`TargetType`.
We also can't use`CreateBitCast` That will feed the right types for the
`ShuffleVector` but it doesn't emit OpBitcast. the llvmIR isn't
translated over to MIR.
The fix then is to emit `spv_bitcast` just like what
`SPIRVEmitIntrinsics::visitBitCastInst` does.
---------
Co-authored-by: Chris B <beanz at abolishcrlf.org>
Commit: ec0c79df593c4a23565e54d8f9acccbb241513a6
https://github.com/llvm/llvm-project/commit/ec0c79df593c4a23565e54d8f9acccbb241513a6
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/fround.ll
Log Message:
-----------
[RISCV] Fix bug in [l](lrint|lround) vector-cost (#151298)
Follow up on a review of bd66fd0 ([CostModel/RISCV] Fix costs of vector
[l](lrint|lround)) post-landing to fix a subtle problem with the cost
of vector [l](lrint|lround). We should use source LMUL in the case of
a narrowing op.
Co-authored-by: Luke Lau <luke at igalia.com>
Commit: 0d6a67c1ad6742d2c1a1606c91aa5c73c74c002a
https://github.com/llvm/llvm-project/commit/0d6a67c1ad6742d2c1a1606c91aa5c73c74c002a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/lib/runtime/unit.h
Log Message:
-----------
[flang][runtime] Remove redundant initialization (#150984)
The assignment to mutableModes() in BeginIoStatement() is redundant,
since the mutableModes_ data member is initialized by the constructors
of the two classes that now have one. Remove the assignment to avoid
confusion.
Also restores the original OutputStatementState base class name after a
recent patch that needlessly changed it to something equivalent but less
readable.
Commit: b01ab5318e6d1c0e19245cd0551789c02c81fb7d
https://github.com/llvm/llvm-project/commit/b01ab5318e6d1c0e19245cd0551789c02c81fb7d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M flang/include/flang/Semantics/semantics.h
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/bug1214.cuf
M flang/test/Semantics/cuf11.cuf
Log Message:
-----------
[flang][CUDA] Apply intrinsic operator overrides (#151018)
Fortran's intrinsic numeric and relational operators can be overridden
with explicit interfaces so long as one or more of the dummy arguments
have the DEVICE attribute. Semantics already allows this without
complaint, but fails to replace the operations with the defined specific
procedure calls when analyzing expressions.
Commit: 13b2fc1b9d04065d542acc0dd357865febfd3377
https://github.com/llvm/llvm-project/commit/13b2fc1b9d04065d542acc0dd357865febfd3377
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M flang/lib/Semantics/pointer-assignment.cpp
M flang/test/Semantics/assign02.f90
Log Message:
-----------
[flang][near NFC] Fix English in an error message (#151029)
Correct "is a not a pointer" to "is not a pointer" in an error message.
While here, also unsplit nearby error messages so that their contents
are more searchable.
Fixes https://github.com/llvm/llvm-project/issues/150864.
Commit: 35cabd69e694a2ba326f406f38b93a21d6c26108
https://github.com/llvm/llvm-project/commit/35cabd69e694a2ba326f406f38b93a21d6c26108
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/format.h
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/namelist.cpp
M flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/InputExtensions.cpp
M flang/docs/Extensions.md
Log Message:
-----------
[flang] Support fixed-width input field truncation for LOGICAL (#151203)
As a common extension, we support the truncation of fixed-width fields
for non-list-directed input editing when a separator character (',' or
';' depending on DECIMAL='POINT' or 'COMMA' resp.) appears in the field.
This isn't working for L input editing; fix.
(The bug reports a failure with DC mode, but it doesn't work with a
comma either.)
Fixes https://github.com/llvm/llvm-project/issues/151178.
Commit: 1bf89e90a878e7e5844866d75b6c25933395435d
https://github.com/llvm/llvm-project/commit/1bf89e90a878e7e5844866d75b6c25933395435d
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M compiler-rt/include/profile/MemProfData.inc
M compiler-rt/lib/memprof/memprof_rawprofile.cpp
M compiler-rt/lib/memprof/tests/CMakeLists.txt
A compiler-rt/lib/memprof/tests/histogram_encoding.cpp
A compiler-rt/test/memprof/TestCases/memprof_histogram_uint8.cpp
M llvm/include/llvm/ProfileData/MemProfData.inc
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/test/tools/llvm-profdata/Inputs/basic-histogram.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/basic-histogram.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/basic.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/basic.memprofraw
A llvm/test/tools/llvm-profdata/Inputs/basic_v4.memprofexe
A llvm/test/tools/llvm-profdata/Inputs/basic_v4.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/buildid.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/buildid.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/inline.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/inline.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/multi.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/multi.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/padding-histogram.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/padding-histogram.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/pic.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/pic.memprofraw
M llvm/test/tools/llvm-profdata/memprof-basic-histogram.test
M llvm/test/tools/llvm-profdata/memprof-basic.test
A llvm/test/tools/llvm-profdata/memprof-basic_v4.test
M llvm/test/tools/llvm-profdata/memprof-inline.test
M llvm/test/tools/llvm-profdata/memprof-multi.test
M llvm/test/tools/llvm-profdata/memprof-padding-histogram.test
M llvm/test/tools/llvm-profdata/memprof-pic.test
Log Message:
-----------
[MemProf] Change histogram storage from uint64_t to uint16_t (#147854)
Change memory access histogram storage from uint64_t to uint16_t to
reduce profile size on disk. This change updates the raw profile format
to v5. Also add a histogram test in compiler-rt since we didn't have one
before. With this change the histogram memprof raw for the basic test
reduces from 75KB -> 20KB.
Commit: 953be42e407593b5c5dd17283e2b0f8f7f7f4d6d
https://github.com/llvm/llvm-project/commit/953be42e407593b5c5dd17283e2b0f8f7f7f4d6d
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/test/CIR/CodeGen/complex-unary.cpp
Log Message:
-----------
[CIR] Upstream Unary Plus & Minus op for ComplexType (#150281)
This change adds support for Unary Plus & Minus op for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: 180281b8eccfa8e1ec4ebc58df7685497f9ccb26
https://github.com/llvm/llvm-project/commit/180281b8eccfa8e1ec4ebc58df7685497f9ccb26
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll
Log Message:
-----------
[AMDGPU] Fix op_sel settings for v_cvt_scale32_* and v_cvt_sr_* (#151286)
For OPF_OPSEL_SRCBYTE: Vector instruction uses OPSEL[1:0] to specify a
byte
select for the first source operand. So op_sel [0, 0], [1, 0], [0, 1]
and [1, 1] should map
to byte 0, 1, 2 and 3, respectively.
For OPF_OPSEL_DSTBYTE: OPSEL is used as a destination byte select.
OPSEL[2:3]
specify which byte of the destination to write to. Note that the order
of the bits is different
from that of OPF_OPSEL_SRCBYT. So the mapping should be: op_sel [0, 0],
[0, 1], [1, 0]
and [1, 1] map to byte 0, 1, 2 and 3, respectively.
Fixes: SWDEV-544901
Commit: 96b4425669352e240c753c352b2782cbfce0e129
https://github.com/llvm/llvm-project/commit/96b4425669352e240c753c352b2782cbfce0e129
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Log Message:
-----------
[mlir][linalg][nfc] Clean-up leftover code post #149156 (#151334)
In https://github.com/llvm/llvm-project/pull/149156, I ensured that we
no longer generate spurious `tensor.empty` ops when vectorizing
`linalg.unpack`.
This follow-up removes leftover code that is now redundant but was
missed in the original PR and in #150602 that was also meant to clean-up
left-over code.
Note, this is removing code to compute "write-vector-sizes". Instead,
these are fully inferred from previous Ops.
Commit: 24f9482abddbc24135d8e0143eb1bac499645648
https://github.com/llvm/llvm-project/commit/24f9482abddbc24135d8e0143eb1bac499645648
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M compiler-rt/include/profile/MemProfData.inc
M compiler-rt/lib/memprof/memprof_rawprofile.cpp
M compiler-rt/lib/memprof/tests/CMakeLists.txt
R compiler-rt/lib/memprof/tests/histogram_encoding.cpp
R compiler-rt/test/memprof/TestCases/memprof_histogram_uint8.cpp
M llvm/include/llvm/ProfileData/MemProfData.inc
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/test/tools/llvm-profdata/Inputs/basic-histogram.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/basic-histogram.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/basic.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/basic.memprofraw
R llvm/test/tools/llvm-profdata/Inputs/basic_v4.memprofexe
R llvm/test/tools/llvm-profdata/Inputs/basic_v4.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/buildid.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/buildid.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/inline.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/inline.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/multi.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/multi.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/padding-histogram.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/padding-histogram.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/pic.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/pic.memprofraw
M llvm/test/tools/llvm-profdata/memprof-basic-histogram.test
M llvm/test/tools/llvm-profdata/memprof-basic.test
R llvm/test/tools/llvm-profdata/memprof-basic_v4.test
M llvm/test/tools/llvm-profdata/memprof-inline.test
M llvm/test/tools/llvm-profdata/memprof-multi.test
M llvm/test/tools/llvm-profdata/memprof-padding-histogram.test
M llvm/test/tools/llvm-profdata/memprof-pic.test
Log Message:
-----------
Revert "[MemProf] Change histogram storage from uint64_t to uint16_t" (#151382)
Reverts llvm/llvm-project#147854
Test failure when building with gcc.
https://lab.llvm.org/buildbot/#/builders/174/builds/21989
Commit: a7ac43125eabb5845a2855bbf37fd4485831e860
https://github.com/llvm/llvm-project/commit/a7ac43125eabb5845a2855bbf37fd4485831e860
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/builders/__init__.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
Re-land "[lldb] Pick the builder for the target platform (#151262)"
Pick the builder for the target platform, not the host platform. This is
necessary when running the test suite remotely on a different platform.
Unlike for Darwin, both Windows and Linux us the default builder, which
is why this went unnoticed on the remote-linux bots.
Commit: e4c0f300309fbdcdabc43ff4bf57957181d6451e
https://github.com/llvm/llvm-project/commit/e4c0f300309fbdcdabc43ff4bf57957181d6451e
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lldb/source/Expression/Materializer.cpp
M lldb/test/API/functionalities/postmortem/elf-core/expr/TestExpr.py
Log Message:
-----------
[lldb] Fix updating persistent variables without JIT (#149642)
This patch fixes updating persistent variables when memory cannot be
allocated in an inferior process:
```
> lldb -c test.core
(lldb) expr int $i = 5
(lldb) expr $i = 55
(int) $0 = 55
(lldb) expr $i
(int) $i = 5
```
With this patch, the last command prints:
```
(int) $i = 55
```
The issue was introduced in #145599.
Commit: 90aed4dbdfe7354405db980d2b684bf91f69b4fb
https://github.com/llvm/llvm-project/commit/90aed4dbdfe7354405db980d2b684bf91f69b4fb
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb][test] Fix running TestWithLimitDebugInfo.py on Windows (#150579)
When debug info categories were set for a test method with the
`@add_test_categories` decorator, they were all added to its
"categories" attribute. If some of these categories were not supported,
`LLDBTestResult.startTest()` skipped all variants of the test method.
For example, the tests in `TestWithLimitDebugInfo.py` use the categories
`dwarf` and `dwo`. However, since `dwo` is not supported on Windows, all
the tests in this file were skipped, even though the tests for `dwarf`
could be run.
Commit: 8dd91996f008c47b986943499acf3e1abd4deaa8
https://github.com/llvm/llvm-project/commit/8dd91996f008c47b986943499acf3e1abd4deaa8
Author: Hood Chatham <roberthoodchatham at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/test/Driver/wasm-features.c
M clang/test/Preprocessor/wasm-target-features.c
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
Log Message:
-----------
[WebAssembly] Add gc target feature to addBleedingEdgeFeatures (#151294)
Also alphebetize feature list, add `-mgc` and `-mno-gc` flags, and add
some missing feature tests.
Reland of #151107.
https://github.com/llvm/llvm-project/pull/150201#discussion_r2237982637
Commit: d74d841b65dc5ecc1adb87f94ee5c8073984e130
https://github.com/llvm/llvm-project/commit/d74d841b65dc5ecc1adb87f94ee5c8073984e130
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/zext-add.ll
M llvm/test/Transforms/IndVarSimplify/AArch64/fold-ext-add.ll
M llvm/test/Transforms/IndVarSimplify/zext-nuw.ll
Log Message:
-----------
[SECV] Try to push the op into ZExt: A + zext (-A + B) -> zext (B) (#151227)
Try to push the constant operand into a ZExt:
A + zext (-A + B) -> zext (B), if trunc (A) + -A + B does not
unsigned-wrap.
The actual code supports ZExts with arbitrary number of arguments, hence
the getAddExpr in the return.
This helps SCEV reasoning in some cases, commonly when adding an offset
to a zero-extended SCEV that subtracts the same offset.
Note that this is restricted to cases where we can fold away an operand
of the inner Add. This is needed to avoid bad interactions with patterns
when forming ZExts, which try to push to ZExt to add operands.
https://alive2.llvm.org/ce/z/q7d303
PR: https://github.com/llvm/llvm-project/pull/151227
Commit: d70f228e83c3d4ea0369472442f8bbcf285f8392
https://github.com/llvm/llvm-project/commit/d70f228e83c3d4ea0369472442f8bbcf285f8392
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/add-max.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_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU] Add gfx1250 V_ADD_{MIN|MAX}_{U|I}32 instructions (#151379)
Commit: 729b0d1b61ec581a86eb87f662a6a38f25a510aa
https://github.com/llvm/llvm-project/commit/729b0d1b61ec581a86eb87f662a6a38f25a510aa
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/atanf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atanf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atanf16.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 atanf16 implementation to header-only in src/__support/math folder. (#150868)
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: 11f52ec4d1a3b3172cee06d78857a9d5231f68b7
https://github.com/llvm/llvm-project/commit/11f52ec4d1a3b3172cee06d78857a9d5231f68b7
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/ld-param-sink.ll
Log Message:
-----------
[NVPTX] Mark callseq insts as reading and writing memory (#151376)
In order to prevent the st.param and ld.param instructions which store
parameters and load return values from being sunk or hoisted out of a
call sequence, mark the callseq start and end nodes as reading and
writing memory.
Fixes #151329
Commit: 82f00ea40aaa6d4915517b970a65f4af56c9a0fc
https://github.com/llvm/llvm-project/commit/82f00ea40aaa6d4915517b970a65f4af56c9a0fc
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_fake16_err.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop2_err.s
Log Message:
-----------
[AMDGPU][MC] In GFX11+ v_pk_fmac_f16 should not allow DPP (#148751)
In GFX11+ the instruction v_pk_fmac_f16 should not allow DPP.
Commit: f5d49c71b49a99ea700c30208cff7039553a4403
https://github.com/llvm/llvm-project/commit/f5d49c71b49a99ea700c30208cff7039553a4403
Author: Nikolay Panchenko <nicholas.panchenko at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
R llvm/test/MC/ELF/many-instructions.s
Log Message:
-----------
Revert "MCFragment: Use trailing data for fixed-size part" (#151383)
Reverts llvm/llvm-project#150846 due to unsigned underflow identifier by
UBSan in several tests
Commit: 62187a60e61017c3a453bb138d27f9bdda27879d
https://github.com/llvm/llvm-project/commit/62187a60e61017c3a453bb138d27f9bdda27879d
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/TargetParser/TargetParser.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.sr.pk.bf16.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_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU] Add gfx1250 v_cvt_sr_pk_bf16_f32 instruction (#151385)
Commit: ff38981a5817f06afad2c7e263e3bf8486f35da9
https://github.com/llvm/llvm-project/commit/ff38981a5817f06afad2c7e263e3bf8486f35da9
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/test/Transforms/LowerTypeTests/Inputs/exported-funcs.yaml
M llvm/test/Transforms/LowerTypeTests/export-alias.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/function-alias.ll
Log Message:
-----------
LTO: Redesign the CFI !aliases metadata.
With the current aliases metadata we lose information about which groups
of aliases survive symbol resolution. This causes various problems such
as #150075 where symbol resolution breaks the link between alias groups.
In this redesign of the aliases metadata, we stop representing the
individual aliases in !aliases. Instead, the individual aliases are
represented in !cfi.functions in the same way as functions, and the
alias groups (i.e. groups of symbols with the same address) are stored
in !aliases. At symbol resolution time, we filter out all non-prevailing
members of !aliases; the resulting set is used by LowerTypeTests to
recreate the aliases.
With this change it is now possible for a jump table entry to refer
to an alias in one of the ThinLTO object files (e.g. if a function is
non-prevailing but its alias is prevailing), so instead of deleting them,
rename them with the ".cfi" suffix.
Fixes #150070.
Fixes #150075.
Reviewers: teresajohnson, vitalybuka
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/150690
Commit: 1a0121cbedc6bad7cf07cc9234fc8368db0dfbe3
https://github.com/llvm/llvm-project/commit/1a0121cbedc6bad7cf07cc9234fc8368db0dfbe3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
Log Message:
-----------
[libc] Start slab search at number of allocated bits
Summary:
This patch changes the slab search to start at the number of allocated
bits. Previously we would randomly search, but this gives very good
performance when doing nothing but allocating, which is a common
configuration. This will degrade performance when mixing malloc and free
close to eachother as this is more likely to fail when the counter
starts decreasing.
Commit: 6f2029dc4a293c3aca3b6efd6cc9e07723eb2368
https://github.com/llvm/llvm-project/commit/6f2029dc4a293c3aca3b6efd6cc9e07723eb2368
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
LTO: Fix bug, Res was meant to be InputRes.
Commit: 254b90fa9584da4cc9f8d846fc610c731a73f742
https://github.com/llvm/llvm-project/commit/254b90fa9584da4cc9f8d846fc610c731a73f742
Author: Bill Wendling <morbo at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/attr-counted-by-for-pointers.c
Log Message:
-----------
[CodeGen][counted_by] See past parentheses and no-op casts (#151266)
Parentheses and no-op casts don't change the value. Skip past them to
get to a MemberExpr.
Fixes #151236
Commit: 17ccb849f349e246e7e7a02726ecb4210a26676f
https://github.com/llvm/llvm-project/commit/17ccb849f349e246e7e7a02726ecb4210a26676f
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
A llvm/test/CodeGen/AArch64/calleetypeid-directcall-mismatched.ll
A llvm/test/CodeGen/AArch64/callsite-emit-calleetypeid-tailcall.ll
A llvm/test/CodeGen/AArch64/callsite-emit-calleetypeid.ll
A llvm/test/CodeGen/ARM/calleetypeid-directcall-mismatched.ll
A llvm/test/CodeGen/ARM/callsite-emit-calleetypeid-tailcall.ll
A llvm/test/CodeGen/ARM/callsite-emit-calleetypeid.ll
A llvm/test/CodeGen/MIR/X86/callsite-emit-calleetypeid.ll
A llvm/test/CodeGen/Mips/calleetypeid-directcall-mismatched.ll
A llvm/test/CodeGen/Mips/callsite-emit-calleetypeid-tailcall.ll
A llvm/test/CodeGen/Mips/callsite-emit-calleetypeid.ll
A llvm/test/CodeGen/RISCV/calleetypeid-directcall-mismatched.ll
A llvm/test/CodeGen/RISCV/callsite-emit-calleetypeid-tailcall.ll
A llvm/test/CodeGen/RISCV/callsite-emit-calleetypeid.ll
A llvm/test/CodeGen/X86/calleetypeid-directcall-mismatched.ll
A llvm/test/CodeGen/X86/callsite-emit-calleetypeid-tailcall.ll
A llvm/test/CodeGen/X86/callsite-emit-calleetypeid.ll
Log Message:
-----------
[llvm] Extract and propagate callee_type metadata
Update MachineFunction::CallSiteInfo to extract numeric CalleeTypeIds
from callee_type metadata attached to indirect call instructions.
Reviewers: nikic, ilovepi
Reviewed By: ilovepi
Pull Request: https://github.com/llvm/llvm-project/pull/87575
Commit: c8b6ddf3a3b32283d8c31f988aadbed291a38c80
https://github.com/llvm/llvm-project/commit/c8b6ddf3a3b32283d8c31f988aadbed291a38c80
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/atan2.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atan2.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/atan2l.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 atan2 implementation to header-only in src/__support/math folder. (#150968)
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: b9a627e6fba4137ca5411aaa416d57e28f685588
https://github.com/llvm/llvm-project/commit/b9a627e6fba4137ca5411aaa416d57e28f685588
Author: Md Abdullah Shahneous Bari <98356296+mshahneo at users.noreply.github.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRVPass.cpp
M mlir/lib/Conversion/FuncToSPIRV/FuncToSPIRVPass.cpp
M mlir/lib/Conversion/TensorToSPIRV/TensorToSPIRVPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv.mlir
M mlir/test/Conversion/FuncToSPIRV/types-to-spirv.mlir
Log Message:
-----------
[mlir][spirv] Add 8-bit float type emulation (#148811)
8-bit floats are not supported in SPIR-V. They are emulated as 8-bit
integer during conversion.
Commit: e6f360b0ab6573bf9d3bb0e42445a20c93eea8b1
https://github.com/llvm/llvm-project/commit/e6f360b0ab6573bf9d3bb0e42445a20c93eea8b1
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Allow load/store/prefetch uses [memref+offset] instead of tdesc (#150576)
Add variant of load/store/prefetch to allow offset. The new xegpu.load
variant accepts memref+offset, and the existing tdesc operand will be
removed in the future PR.
The semantics are combination of "creating scattered_tdesc + xegpu.load
with scattered_tdesc". The current xegpu.load accepts tdesc operand,
which encapsulates "memref+offset". This PR "fold" "memref+offset"
directly to xegpu.load replacing "tdesc". Create_tdesc will be removed
as scatter_tdesc only contains base address after offsets being taken
away, so there is no point to keep it.
```mlir
// wi level code example
%2 = xegpu.load %src[%offsets], %mask <{chunk_size = 2}> : ui64, vector<1xindex>, vector<1xi1> -> vector<2xf32>
xegpu.store %val, %src[%offsets], %mask: vector<1xf16>, memref<?xf16>, vector<1xindex>, vector<1xi1>
xegpu.prefetch %src[%0] : ui64, vector<1xindex>
```
Commit: ed940d7228aec95e994be848f1e42eab2a7fa7f3
https://github.com/llvm/llvm-project/commit/ed940d7228aec95e994be848f1e42eab2a7fa7f3
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test
Log Message:
-----------
[DWARFLinker] Fix matching logic to remove type 1 missing offsets (#149618)
Second attempt to fix
https://discourse.llvm.org/t/rfc-new-dwarf-attribute-for-symbolication-of-merged-functions/79434/29?u=alx32
(First attempt: https://github.com/llvm/llvm-project/pull/143656)
Context: the sequence offset to row index we parsed may not be complete.
And we need to add manual matching to it.
https://github.com/llvm/llvm-project/pull/143656 attempts to do trivial
1:1 matching, however, sometimes they don't line up perfectly, as shown
below:
```
// While SeqOffToOrigRow parsed from CU could be the ground truth,
// e.g.
//
// SeqOff Row
// 0x08 9
// 0x14 15
//
// The StmtAttrs and SeqStartRows may not match perfectly, e.g.
//
// StmtAttrs SeqStartRows
// 0x04 3
// 0x08 5
// 0x10 9
// 0x12 11
// 0x14 15
//
// In this case, we don't want to assign 5 to 0x08, since we know 0x08
// maps to 9. If we do a dummy 1:1 mapping 0x10 will be mapped to 9
// which is incorrect. The expected behavior is ignore 5, realign the
// table based on the result from the line table:
//
// StmtAttrs SeqStartRows
// 0x04 3
// -- 5
// 0x08 9 <- LineTableMapping ground truth
// 0x10 11
// 0x12 --
// 0x14 15 <- LineTableMapping ground truth
```
In this case, we need to use the mapping we read from the line table as
a ground truth and organize them properly to prevent duplicated
offset/missing offset.
Test:
Updated the test case
---------
Signed-off-by: Peter Rong <PeterRong at meta.com>
Commit: 7d2332391f81d44d7c9d1ca40bd5f393c59ad0df
https://github.com/llvm/llvm-project/commit/7d2332391f81d44d7c9d1ca40bd5f393c59ad0df
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll
Log Message:
-----------
[AMDGPU] Fix destination op_sel for v_cvt_scale32_* and v_cvt_sr_* (#151411)
GFX950 uses OP_SEL[MSB:LSB] for both src reads and dest writes. So this
patch essentially revert the work from
https://github.com/llvm/llvm-project/pull/151286 regarding dest writes.
Commit: 2b2f5791f2b5a1f8f38844ba14c965ea9b3c72f5
https://github.com/llvm/llvm-project/commit/2b2f5791f2b5a1f8f38844ba14c965ea9b3c72f5
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M libc/src/math/generic/atan2l.cpp
Log Message:
-----------
[libc][math] fix atan2l build failure. (#151413)
Commit: cd4360a16ad6143c5a1f0c32e44691565d5cb52c
https://github.com/llvm/llvm-project/commit/cd4360a16ad6143c5a1f0c32e44691565d5cb52c
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
Log Message:
-----------
[lldb][NFC] fix three small typeos.
Commit: 8377f90c2171d6ff9671aba21dc3e374006829d2
https://github.com/llvm/llvm-project/commit/8377f90c2171d6ff9671aba21dc3e374006829d2
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M compiler-rt/lib/memprof/memprof_interface_internal.h
A compiler-rt/test/memprof/TestCases/memprof_histogram_uint8.cpp
Log Message:
-----------
[MemProf] Add sanitizer interface decls for histogram funcs. (#151398)
Add the necessary sanitizer interface decls required when the memprof
runtime is built in dynamic mode. This was a latent issue since we didn't
add tests for the histogram feature in compiler-rt. These tests are run
with `ninja check-memprof-dynamic`. I discovered this after the CI
failures for #147854.
Commit: b3b36d35903d7b2dd556d229d35fcdf9cf732e78
https://github.com/llvm/llvm-project/commit/b3b36d35903d7b2dd556d229d35fcdf9cf732e78
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/v_ashr_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_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU] Add V_ASHR_PK_I8_I32 and V_ASHR_PK_U8_I32 on gfx1250 (#151389)
Commit: 2e36afc8d91e592a57b9b00d92607b0e999030b2
https://github.com/llvm/llvm-project/commit/2e36afc8d91e592a57b9b00d92607b0e999030b2
Author: Richard Smith <richard at metafoo.co.uk>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/include/llvm/ADT/Any.h
Log Message:
-----------
Remove declaration of undefined `any_isa`. (#151395)
Looks like this was missed by #65636, which removed the definition of
this function.
Commit: 6c3d62a4b4f15eb001585bf61a8c3f4b9aff8237
https://github.com/llvm/llvm-project/commit/6c3d62a4b4f15eb001585bf61a8c3f4b9aff8237
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test
Log Message:
-----------
Revert "[DWARFLinker] Fix matching logic to remove type 1 missing off… (#151424)
…sets (#149618)"
This reverts commit ed940d7228aec95e994be848f1e42eab2a7fa7f3.
Commit: b00d4f235038e874fc0cdb790f7e5dbc7ccd6cac
https://github.com/llvm/llvm-project/commit/b00d4f235038e874fc0cdb790f7e5dbc7ccd6cac
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M flang/docs/FortranStandardsSupport.md
Log Message:
-----------
[flang][doc] Update some F2023 status. (#151165)
- Trig functions: done with various earlier commits like #149343.
- c_f_pointer: #149870.
Commit: a8d0ae3412bdbbf3248192c31f94f6649a217b3a
https://github.com/llvm/llvm-project/commit/a8d0ae3412bdbbf3248192c31f94f6649a217b3a
Author: Anthony Tran <atran881 at usc.edu>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
A lldb/test/Shell/Recognizer/Inputs/ubsan_add_overflow.c
A lldb/test/Shell/Recognizer/ubsan_add_overflow.test
Log Message:
-----------
[lldb][test][NFC] Add LLDB test for UBSan trap frame recognizer (#151231)
In #145967 Clang was taught to emit trap reasons on UBSan traps in debug
info using the same method as `__builtin_verbose_trap`. This patch adds
a test case to make sure that the existing "Verbose Trap StackFrame
Recognizer" recognizes the trap reason and sets the stop reason and
stack frame appropriately.
Part of a GSoC 2025 Project.
Commit: ce408632092d48a3da4e17cc282c35058e7f3656
https://github.com/llvm/llvm-project/commit/ce408632092d48a3da4e17cc282c35058e7f3656
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
A llvm/test/CodeGen/AMDGPU/code-size-estimate-gfx1250.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.f16.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_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU] Add v_cvt_sr|pk_bf8|fp8_f16 gfx1250 instructions (#151415)
Commit: d3f500f2d9238ac96f1afad1091d461ae98530ac
https://github.com/llvm/llvm-project/commit/d3f500f2d9238ac96f1afad1091d461ae98530ac
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
Log Message:
-----------
[NVPTX] Fixup ISel patterns for setcc of i8 extract (#151204)
Fix a correctness bug in ISel lowering patterns for setcc of v4i8
extraction. Refactor and cleanup these patterns somewhat in general to
try to make them a bit more comprehensible.
Commit: 0bbe1b30faf57b5007d7be6af64ae423b4992de4
https://github.com/llvm/llvm-project/commit/0bbe1b30faf57b5007d7be6af64ae423b4992de4
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-07-30 (Wed, 30 Jul 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/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/functions.cpp
M clang/test/CXX/expr/expr.const/p2-0x.cpp
M clang/test/Sema/constexpr-void-cast.c
Log Message:
-----------
[clang] Forbid reinterpret_cast of function pointers in constexpr. (#150557)
This has been explicitly forbidden since C++11, but somehow the edge
case of converting a function pointer to void* using a cast like
`(void*)f` wasn't handled.
Fixes #150340 .
Commit: 5906ff67ae80e47ad8f48f8a063f283c74d62282
https://github.com/llvm/llvm-project/commit/5906ff67ae80e47ad8f48f8a063f283c74d62282
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M libc/src/sched/linux/CMakeLists.txt
M libc/src/sched/linux/sched_getaffinity.cpp
M libc/src/sched/linux/sched_getcpucount.cpp
M libc/src/sched/linux/sched_getscheduler.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/sched/linux/sched_setaffinity.cpp
M libc/src/sched/sched_getaffinity.h
M libc/src/sched/sched_getcpucount.h
M libc/src/sched/sched_getscheduler.h
M libc/src/sched/sched_rr_get_interval.h
M libc/src/sched/sched_setaffinity.h
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/sched_rr_get_interval_test.cpp
Log Message:
-----------
[libc] Remove some sched.h includes (#151425)
This patch removes some sched.h includes, preferring the proxy headers.
This patch does not clean them all up as some proxy type headers need to
be added, like for `struct sched_param`.
Commit: 70471f08ee109cd0472fdd6659c2a1ad236c6835
https://github.com/llvm/llvm-project/commit/70471f08ee109cd0472fdd6659c2a1ad236c6835
Author: M. Zeeshan Siddiqui <mzs at microsoft.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Expr.cpp
M clang/test/Sema/warn-unreachable_crash.cpp
Log Message:
-----------
[Sema] Fix -Wunreachable-code false negative when operands differ only by implicit casts (#149972)
## Motivation
`-Wunreachable-code` missed—or in rare cases crashed on—tautological
comparisons such as
```cpp
x != 0 || x != 1.0 // always true
x == 0 && x == 1.0 // always false
```
when the *same* variable appears on both sides but one operand goes
through a floating‑rank promotion that is target‑dependent. On back‑ends
with **native half‑precision** (`_Float16` / `__fp16`) such as
AArch64 `+fullfp16`, no promotion occurs, so the cast stacks between the
two operands differ and the existing heuristic bails out.
## Technical description
* **Extends `Expr::isSameComparisonOperand()`** – the helper now ignores
parentheses **and value‑preserving implicit casts**
(`CK_LValueToRValue`, floating‑rank `CK_FloatingCast`) before comparing
the underlying operands. This prevents floating‑rank promotions and
lvalue‑to‑rvalue conversions from blocking the unreachable‑code
diagnostic on targets with native FP16.
*No change needed in `CheckIncorrectLogicOperator`; it simply benefits
from the improved helper.*
* **Regression test** – `warn-unreachable_crash.cpp` updated to cover
both the promoted case (x86‑64) and the native‑half case
(AArch64 `+fullfp16`).
* **Docs** – release‑note bullet added under *Bug Fixes in This
Version*.
@ziqingluo-90 @yronglin Could you please review promptly? (feel free to
also merge it on my behalf) Thanks!
Fixes #149967
Co-authored-by: Zeeshan Siddiqui <mzs at ntdev.microsoft.com>
Commit: 08e40c12fa0c83652968f2f24c3ec76a062f4042
https://github.com/llvm/llvm-project/commit/08e40c12fa0c83652968f2f24c3ec76a062f4042
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M compiler-rt/include/profile/MemProfData.inc
M compiler-rt/lib/memprof/memprof_rawprofile.cpp
M compiler-rt/lib/memprof/tests/CMakeLists.txt
A compiler-rt/lib/memprof/tests/histogram_encoding.cpp
M llvm/include/llvm/ProfileData/MemProfData.inc
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/test/tools/llvm-profdata/Inputs/basic-histogram.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/basic-histogram.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/basic.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/basic.memprofraw
A llvm/test/tools/llvm-profdata/Inputs/basic_v4.memprofexe
A llvm/test/tools/llvm-profdata/Inputs/basic_v4.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/buildid.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/buildid.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/inline.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/inline.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/multi.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/multi.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/padding-histogram.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/padding-histogram.memprofraw
M llvm/test/tools/llvm-profdata/Inputs/pic.memprofexe
M llvm/test/tools/llvm-profdata/Inputs/pic.memprofraw
M llvm/test/tools/llvm-profdata/memprof-basic-histogram.test
M llvm/test/tools/llvm-profdata/memprof-basic.test
A llvm/test/tools/llvm-profdata/memprof-basic_v4.test
M llvm/test/tools/llvm-profdata/memprof-inline.test
M llvm/test/tools/llvm-profdata/memprof-multi.test
M llvm/test/tools/llvm-profdata/memprof-padding-histogram.test
M llvm/test/tools/llvm-profdata/memprof-pic.test
Log Message:
-----------
Reapply "[MemProf] Change histogram storage from uint64_t to uint16_t… (#151431)
Reapply #147854 after fixes merged in #151398.
Change memory access histogram storage from uint64_t to uint16_t to
reduce profile size on disk. This change updates the raw profile format
to v5. Also add a histogram test in compiler-rt since we didn't have one
before. With this change the histogram memprof raw for the basic test
reduces from 75KB -> 20KB.
Commit: 19f3aca7efc2f71c5210c182ea8a3ca01e5c1a10
https://github.com/llvm/llvm-project/commit/19f3aca7efc2f71c5210c182ea8a3ca01e5c1a10
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Remove unused vector pseudo class. NFC (#151327)
Commit: 596640a245e3ba05c3fe42745984fb4bb921ad75
https://github.com/llvm/llvm-project/commit/596640a245e3ba05c3fe42745984fb4bb921ad75
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.ll
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir
Log Message:
-----------
[RISCV] Fold vmv.v.v into vmerge (#151341)
We support folding vmv.v.v into its source via the foldVMV_V_V peephole,
but currently it requires that the source has a policy operand.
PseudoVMERGEs (as well as add-with-carry/subtract-with-borrow pseudos)
don't have a policy operand, and instead just seem to derive TA/TU from
whether or not the passthru is undef, since the mask policy doesn't
affect them.
This patch allows pseudos without policy operands, given that if there's
no policy operand then it will default to TU when the passthru is
undefined which should be conservatively correct.
I previously tried adding a policy operand to vmerge/vadc etc., but this
ended up being a lot of churn.
This removes a bunch of redundant vmv.v.vs that I noticed with EVL tail
folding on llvm-test-suite.
Commit: ef962752d9fee02fe1e626dc92206eb0457e2aa3
https://github.com/llvm/llvm-project/commit/ef962752d9fee02fe1e626dc92206eb0457e2aa3
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/allocator_config_wrapper.h
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
Log Message:
-----------
[scudo] Allow the quarantine code to be compiled out (#151064)
Add a new configuration option QuarantineDisabled that allows all of the
quarantine code to be compiled out.
Add new tests that verify that the code is removed properly.
On Android, this saves ~4000 bytes for 32 bit and ~6000 bytes for 64
bit.
On Android, I used some microbenchmarks that do malloc/free in a loop
and for allocations in the primary, the performance is about the same
for both 32 bit and 64 bit. For secondary allocations, I saw ~8% speed
up on 32 bit and ~3% on 64 bit speed up which feels like it could just
be code size improvements.
Commit: f62370290a66f8d3a47a4b25c3896983424f97bd
https://github.com/llvm/llvm-project/commit/f62370290a66f8d3a47a4b25c3896983424f97bd
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
M lldb/source/Plugins/Process/wasm/CMakeLists.txt
M lldb/source/Plugins/Process/wasm/ProcessWasm.cpp
M lldb/source/Plugins/Process/wasm/ProcessWasm.h
A lldb/source/Plugins/Process/wasm/RegisterContextWasm.cpp
A lldb/source/Plugins/Process/wasm/RegisterContextWasm.h
M lldb/source/Plugins/Process/wasm/ThreadWasm.cpp
M lldb/source/Plugins/Process/wasm/ThreadWasm.h
M lldb/test/API/functionalities/gdb_remote_client/TestWasm.py
A lldb/test/API/functionalities/gdb_remote_client/simple.c
A lldb/test/API/functionalities/gdb_remote_client/simple.yaml
Log Message:
-----------
[lldb] Implement RegisterContextWasm (#151056)
This PR implements a register context for Wasm, which uses virtual
registers to resolve Wasm local, globals and stack values. The registers
are used to implement support for `DW_OP_WASM_location` in the DWARF
expression evaluator (#151010). This also adds a more comprehensive
test, showing that we can use this to show local variables.
Commit: ebf96f93160973ab5b0c886655adde850affc707
https://github.com/llvm/llvm-project/commit/ebf96f93160973ab5b0c886655adde850affc707
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/CodeGen/X86/apx/cf.ll
Log Message:
-----------
[X86][APX] Do optimizeMemoryInst for v1X masked load/store (#151331)
Fix redundant LEA: https://godbolt.org/z/34xEYE818
Commit: 1b9ee0bb74f23e48076d97267171cb92c3f63658
https://github.com/llvm/llvm-project/commit/1b9ee0bb74f23e48076d97267171cb92c3f63658
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/intap.cpp
Log Message:
-----------
[clang][bytecode] Fix diagnostics for int128 enums (#151340)
CheckEnumValue was not handling PT_IntAP/PT_IntAPS.
Commit: d1e43f6c1a28c3c64b3655be1fc1aff1029c48c8
https://github.com/llvm/llvm-project/commit/d1e43f6c1a28c3c64b3655be1fc1aff1029c48c8
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M compiler-rt/lib/memprof/memprof_rawprofile.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
Log Message:
-----------
[MemProf] Write out raw profile bytes in little endian. (#150375)
Instead of writing out in native endian, write out the raw profile bytes
in little endian. Also update the MIB data in little endian. Also clean
up some lint and unused includes in rawprofile.cpp.
Commit: 3796efb5dc08d4596aa986bd03a1290c43e2e995
https://github.com/llvm/llvm-project/commit/3796efb5dc08d4596aa986bd03a1290c43e2e995
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/test/CodeGen/Hexagon/hexagon-strcpy.ll
Log Message:
-----------
[Hexagon] Add nounwind to hexagon-strcpy.ll (#151293)
The test does not check for anything related to cfi information so we
don't really need them in the test checks. Also it looks like there were
some failures on the Alpine Linux builders due to the placement of the
cfi information in the output assembly.
I have also changed `-march` to `-mtriple` in the run line similar to
2208c97
Commit: be449d6b6587af30fd999a8ede88ff06bb7535df
https://github.com/llvm/llvm-project/commit/be449d6b6587af30fd999a8ede88ff06bb7535df
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenACC/acc-default-none-function.f90
Log Message:
-----------
[flang][openacc] fix a bug with checking data mapping clause when there is no default (#151419)
Test case used to complain about `dosomething` requiring a data mapping
clause. Now no such error exists.
Commit: cade1e29b2c9ab0d0ff4931231b6958ad04d1ebc
https://github.com/llvm/llvm-project/commit/cade1e29b2c9ab0d0ff4931231b6958ad04d1ebc
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-07-30 (Wed, 30 Jul 2025)
Changed paths:
M lldb/scripts/framework-header-fix.py
M lldb/test/Shell/Scripts/TestFrameworkFixScript.test
M lldb/test/Shell/Scripts/TestFrameworkFixUnifdef.test
M lldb/test/Shell/Scripts/TestRPCFrameworkFixScript.test
M lldb/tools/lldb-rpc/LLDBRPCHeaders.cmake
Log Message:
-----------
[lldb][rpc] Only use guard names in framework script (#151391)
Removes the U that comes before the guards passed into the framework
fixup script.
Commit: 7410f6d31de7fded4c0efdc342ab50223d3c7250
https://github.com/llvm/llvm-project/commit/7410f6d31de7fded4c0efdc342ab50223d3c7250
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang] Make AsmLabel parameter a llvm::StringRef (#151355)
Split out from https://github.com/llvm/llvm-project/pull/148877
This patch prepares `TypeSystemClang` APIs to take `AsmLabel`s which
concatenated strings (hence `std::string`) instead of a plain `const
char*`.
Commit: 3466cdb76944022d17a45fa66edd275bcd3a68d1
https://github.com/llvm/llvm-project/commit/3466cdb76944022d17a45fa66edd275bcd3a68d1
Author: Mythreya Kuricheti <git at mythreya.dev>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/test/CodeCompletion/skip-explicit-object-parameter.cpp
Log Message:
-----------
[clang][CodeComplete] skip explicit obj param when creating signature string (#146649)
Fixes clangd/clangd#2284
Commit: b72fa04105709fe6cc630c09639acdc72ad31d6b
https://github.com/llvm/llvm-project/commit/b72fa04105709fe6cc630c09639acdc72ad31d6b
Author: David Green <david.green at arm.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/adc.ll
M llvm/test/CodeGen/AArch64/addcarry-crash.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/peephole-and-tst.ll
Log Message:
-----------
[AArch64][GlobalISel] Add test coverage for more adc / ands instructions. NFC
Commit: 3313cf4a832ca73cb0c10c797ffddf84040fd36d
https://github.com/llvm/llvm-project/commit/3313cf4a832ca73cb0c10c797ffddf84040fd36d
Author: David Green <david.green at arm.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/test/CodeGen/AArch64/aarch64-wide-mul.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/neon-extmul.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
Log Message:
-----------
[AArch64][GlobalISel] Add push_mul_through_s/zext (#141551)
This extends the existing push_add_through_zext to handle mul, similar
to performVectorExtCombine in SDAG. This allows muls to be pushed up the
tree of extends, operating on smaller vector types whilst keeping the
result the same (providing there are > 2x bits in the output).
matchExtAddvToUdotAddv needs to be adjusted to make sure it keeps
generating dot instructions from add(ext(mul(ext, ext))).
Commit: 10b323b993f4f43a382c6444dfe6e4c0fda15ab2
https://github.com/llvm/llvm-project/commit/10b323b993f4f43a382c6444dfe6e4c0fda15ab2
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-swap-compare-operands.mir
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
Log Message:
-----------
[AArch64][GISel] Signed comparison using CMN is safe when the subtraction is nsw (#150480)
#141993 but for GISel, though for LHS, we now do the inverse compare, something
that SelDAG does not do as of now but I will do in a future patch.
Commit: cd16c706ba245c1eeafdacf89e4837a57efe8a2d
https://github.com/llvm/llvm-project/commit/cd16c706ba245c1eeafdacf89e4837a57efe8a2d
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
Log Message:
-----------
[IRCE] Use function_ref<> instead of optional<function_ref<>> (NFC) (#151308)
llvm::function_ref<> is nullable.
Commit: 6f2cf6b0acf206626cb69cda6e428d1091a4e783
https://github.com/llvm/llvm-project/commit/6f2cf6b0acf206626cb69cda6e428d1091a4e783
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2025-07-31 (Thu, 31 Jul 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/InvalidEnumDefaultInitializationCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/invalid-enum-default-initialization.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
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
Log Message:
-----------
[clang-tidy] Add check 'bugprone-invalid-enum-default-initialization' (#136823)
Commit: 1acfa18132e2daaf9a46bca28a252ec011ea40d4
https://github.com/llvm/llvm-project/commit/1acfa18132e2daaf9a46bca28a252ec011ea40d4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
Log Message:
-----------
[gn build] Port 6f2cf6b0acf2
Commit: 740758a5fd87e8f6944589b85dbe3bc7ac22d140
https://github.com/llvm/llvm-project/commit/740758a5fd87e8f6944589b85dbe3bc7ac22d140
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/apx/cf.ll
Log Message:
-----------
[X86][APX] Combine `xor .., -1` into Cload/Cstore conditions (#151457)
Remove redundant NOT instruction: https://godbolt.org/z/jM89ejnsh
Commit: 21bf2fa77fbf19d0a02ced63e4caa37a8c65fb07
https://github.com/llvm/llvm-project/commit/21bf2fa77fbf19d0a02ced63e4caa37a8c65fb07
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M lldb/test/Shell/Recognizer/ubsan_add_overflow.test
Log Message:
-----------
[lldb][test] Skip Recognizer/ubsan_add_overflow.test on Windows
Same reason we skip the other verbose_trap tests.
Fails on Windows CI
Commit: c31cb8b9b88d824d8c7639dd7303cd1aa7674960
https://github.com/llvm/llvm-project/commit/c31cb8b9b88d824d8c7639dd7303cd1aa7674960
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M lldb/docs/use/formatting.rst
Log Message:
-----------
[lldb][docs] Fix typo in frame-format docs
Commit: 6752415ce8640cede492a3409af50fbef357f8b4
https://github.com/llvm/llvm-project/commit/6752415ce8640cede492a3409af50fbef357f8b4
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VectorUtils] Simplify the code by new function InterleaveGroup::isFull. nfc (#151112)
Commit: 15f65afc7aa5c98ed3d3eeb14d7e5e4f2c4e02f4
https://github.com/llvm/llvm-project/commit/15f65afc7aa5c98ed3d3eeb14d7e5e4f2c4e02f4
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/test/Driver/baremetal.cpp
Log Message:
-----------
[clang] Add option for -nolibc in Driver/ToolChains/Baremetal.cpp (#145700)
Some tests in LLVM-libc require this flag
(https://github.com/llvm/llvm-project/issues/145349), which requires
compiler-rt to be linked in, but not the C library. With this change,
the `-nolibc` flag will not be ignored.
Commit: c10736aa4967787366b3c30e7d70bc429da43939
https://github.com/llvm/llvm-project/commit/c10736aa4967787366b3c30e7d70bc429da43939
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/docs/HowToCrossCompileBuiltinsOnArm.rst
Log Message:
-----------
[llvm][docs] Refresh Arm builtins cross compile guide (#150966)
Someone asked about this on Discord and it was a bit hard to follow. I
found them a config that worked, but the doc was not as much help as it
should have been.
It probably needs some updates for the runtime build era, but for now,
I'm just making it easier to read. I know the basic build can work at
least.
Some aspects of it may be literally wrong now, but I'll check that
later.
* Remove contractions.
* Remove references to the old separate llvm repo layout.
* Remove mentions of cmake versions older than what llvm requires now.
* Make a bunch of things plain text.
* Make a bunch of things code blocks so they are easier to copy and
paste from.
Commit: 8bacfb25381c4371fc279f51574a950bd77c3d53
https://github.com/llvm/llvm-project/commit/8bacfb25381c4371fc279f51574a950bd77c3d53
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir
M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rcp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/rcp-pattern.ll
M llvm/test/CodeGen/AMDGPU/rsq.f32.ll
M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
Log Message:
-----------
[AMDGPU] Remove `UnsafeFPMath` uses (#151079)
Remove `UnsafeFPMath` in AMDGPU part, it blocks some bugfixes related to
clang and the ultimate goal is to remove `resetTargetOptions` method in
`TargetMachine`, see FIXME in `resetTargetOptions`.
See also
https://discourse.llvm.org/t/rfc-honor-pragmas-with-ffp-contract-fast
https://discourse.llvm.org/t/allowfpopfusion-vs-sdnodeflags-hasallowcontract
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 87023cdc1c5e0e8b968e3ad51660fcebe57ddb38
https://github.com/llvm/llvm-project/commit/87023cdc1c5e0e8b968e3ad51660fcebe57ddb38
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M lldb/source/Host/common/Host.cpp
M lldb/source/Host/windows/Host.cpp
Log Message:
-----------
[windows][lldb] implement system logging on Windows (#150213)
This patch makes LLDB use the Event Viewer on Windows (equivalent of
system logging on Darwin) rather than piping to the standard output
(which was deactivated in ca0a5247004b6d692978d10bdbf86e338133e60c.
Commit: 6540c93aa991dbc2b09cc5395493dadd7181551e
https://github.com/llvm/llvm-project/commit/6540c93aa991dbc2b09cc5395493dadd7181551e
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/docs/analyzer/user-docs/CrossTranslationUnit.rst
Log Message:
-----------
[NFC][analyzer] Update docs of CodeChecker --ctu-ast-mode (#144901)
The documentation of the cross translation unit analysis mentioned a
certain flag of `CodeChecker` (an external open source tool that can be
used to drive the static analysis), but the information about it was
obsolete: apparently the name of the flag, the names of the possible
values, and the default value were all changed.
Currently `CodeChecker analyze --help` displays this flag as
```
--ctu-ast-mode {load-from-pch,parse-on-demand}
Choose the way ASTs are loaded during CTU analysis. Only available if
CTU mode is enabled. Mode 'load-from-pch' generates PCH format
serialized ASTs during the 'collect' phase. Mode 'parse-on-demand'
only generates the invocations needed to parse the ASTs. Mode 'load-
from-pch' can use significant disk-space for the serialized ASTs,
while mode 'parse-on-demand' can incur some runtime CPU overhead in
the second phase of the analysis. (default: parse-on-demand)
```
and I tried to follow this in the commands that I adjusted.
Note that this documentation file probably contains other obsolete
details as well, but I didn't try to find or fix them.
Commit: 4ef92469ab341ac1bee39a9413ffaa845e307414
https://github.com/llvm/llvm-project/commit/4ef92469ab341ac1bee39a9413ffaa845e307414
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M libcxx/include/__assert
M libcxx/test/support/check_assertion.h
Log Message:
-----------
[libc++][hardening] Add a greppable prefix to assertion messages. (#150560)
The current assertion failure messages produced by Hardening are not
very grep-friendly (the common part is rarther generic and requires
wildcards to match). While it's possible to use `__FILE__` for grepping,
it's easier and more straighforward to simply add a libc++-specific
prefix; this is especially important for the planned `observe` mode that
might produce many assertion failure messages over the course of the
program's execution that later need to be filtered and examined.
Commit: 9a9b8b7d1c3e38db00d137518ee52a2d1c0c7c1c
https://github.com/llvm/llvm-project/commit/9a9b8b7d1c3e38db00d137518ee52a2d1c0c7c1c
Author: John Brawn <john.brawn at arm.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopUnroll/AArch64/vector.ll
Log Message:
-----------
[AArch64] Allow unrolling of scalar epilogue loops (#151164)
#147420 changed the unrolling preferences to permit unrolling of
non-auto vectorized loops by checking for the isvectorized attribute,
however when a loop is vectorized this attribute is put on both the
vector loop and the scalar epilogue, so this change prevented the scalar
epilogue from being unrolled.
Restore the previous behaviour of unrolling the scalar epilogue by
checking both for the isvectorized attribute and vector instructions in
the loop.
Commit: 16d73839b1a5393ae094d709a0eef2b89cb3735f
https://github.com/llvm/llvm-project/commit/16d73839b1a5393ae094d709a0eef2b89cb3735f
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/fpclass-from-dom-cond.ll
M llvm/test/Transforms/InstCombine/known-phi-recurse.ll
M llvm/test/Transforms/InstCombine/phi.ll
M llvm/test/Transforms/InstCombine/recurrence-binary-intrinsic.ll
Log Message:
-----------
[InstCombine] Support folding intrinsics into phis (#151115)
Call foldOpIntoPhi() for speculatable intrinsics. We already do this for
FoldOpIntoSelect().
Among other things, this partially subsumes
https://github.com/llvm/llvm-project/pull/149858.
Commit: 20f6ec4b29e045a29023b31f776da31eb9c011a4
https://github.com/llvm/llvm-project/commit/20f6ec4b29e045a29023b31f776da31eb9c011a4
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
Log Message:
-----------
[VPlan] Make VPBuilder APIs uniformly take ArrayRef (NFC) (#151484)
Commit: cdf75df183a7b32b83a9944f991b44d3d7e4cd7f
https://github.com/llvm/llvm-project/commit/cdf75df183a7b32b83a9944f991b44d3d7e4cd7f
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/memset-inline.ll
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
Log Message:
-----------
[RISCV][NFC] Rename memset tests (#151486)
These tests were copied from memcmp tests but I forgot to rename them.
Commit: 1e504bef2001d45f38dafd2ca2d8d02c7a2e0261
https://github.com/llvm/llvm-project/commit/1e504bef2001d45f38dafd2ca2d8d02c7a2e0261
Author: Daniel Garvey <danimal197 at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
Log Message:
-----------
[MLIR] Specify new padOp's output type in DropPadUnitDims (#150706)
Previously when dropping unit dim from a pad with mixed dynamic/static
input/output shapes, the resulting shape would take on the Type of the
input, resulting in invalid IR.
Also did some minor cleanup to the formatting of the
`drop_unit_dim_corresponding_to_dynamic_dim` test to make it match the
rest of the file.
---------
Signed-off-by: dan <danimal197 at gmail.com>
Commit: aac70d69f6214629f869ab32afab591f11a13156
https://github.com/llvm/llvm-project/commit/aac70d69f6214629f869ab32afab591f11a13156
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Symbols.cpp
M lld/COFF/Symbols.h
Log Message:
-----------
[LLD][COFF] Introduce Symbol::getDefined helper. (NFC) (#151253)
Commit: 462c2084c4eff2b6a50f7686d5b67d41526c8c29
https://github.com/llvm/llvm-project/commit/462c2084c4eff2b6a50f7686d5b67d41526c8c29
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Writer.cpp
Log Message:
-----------
[LLD][COFF] Move entry thunk offset writing to writeSections (NFC) (#151254)
To make it easier to add entry thunks to other chunk types.
Commit: b7d00b827eee8d46be99f7a8b27e33e7a9b2dd86
https://github.com/llvm/llvm-project/commit/b7d00b827eee8d46be99f7a8b27e33e7a9b2dd86
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Uniformly use VPlanPatternMatch in transforms (NFC) (#151488)
Commit: 82bddc3e64e03ec4bb07ad9c757d2a06b5acb0c0
https://github.com/llvm/llvm-project/commit/82bddc3e64e03ec4bb07ad9c757d2a06b5acb0c0
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/config/baremetal/config.json
M libc/config/config.json
M libc/config/gpu/amdgpu/config.json
M libc/config/gpu/nvptx/config.json
M libc/docs/configure.rst
M libc/src/__support/threads/CMakeLists.txt
R libc/src/__support/threads/gpu/CMakeLists.txt
R libc/src/__support/threads/gpu/mutex.h
M libc/src/__support/threads/mutex.h
Log Message:
-----------
[libc] Mutex implementation for single-threaded baremetal (#145358)
Part of https://github.com/llvm/llvm-project/issues/145349. Required to
allow `atexit` to work. As part of `HermeticTestUtils.cpp`, there is a
reference to `atexit()`, which eventually instantiates an instance of a
Mutex.
Instead of copying the implementation from
`libc/src/__support/threads/gpu/mutex.h`, we allow platforms to select
an implementation based on configurations, allowing the GPU and
single-threaded baremetal platforms to share an implementation. This can
be configured or overridden.
Later, when the threading API is more complete, we can add an option to
support multithreading (or set it as the default), but having
single-threading (in tandem) is in line with other libraries for
embedded devices.
Commit: 35a4d8206b2eb7c52b3014dcc8c2d78e9de79dac
https://github.com/llvm/llvm-project/commit/35a4d8206b2eb7c52b3014dcc8c2d78e9de79dac
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
Log Message:
-----------
[libc] Add atexit to baremetal entrypoints (#147290)
Part of #145349. Requires #145358. Required by #146863. Once the mutex
has been implemented, we can register functions to be called for exit
with `atexit`.
Commit: 8c9863eb1e54847ca1d8a4abe8c0e842357d021d
https://github.com/llvm/llvm-project/commit/8c9863eb1e54847ca1d8a4abe8c0e842357d021d
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M libc/startup/baremetal/CMakeLists.txt
A libc/startup/baremetal/arm/CMakeLists.txt
A libc/startup/baremetal/arm/start.cpp
M libc/startup/baremetal/fini.cpp
A libc/startup/baremetal/fini.h
M libc/startup/baremetal/init.cpp
A libc/startup/baremetal/init.h
Log Message:
-----------
[libc] Basic implementation of crt0 (#146863)
In order to run hermetic tests downstream (#145349), we need startup
code. This is based on the crt0 that is present in Arm Toolchain:
https://github.com/arm/arm-toolchain/tree/5446a3cbf4ef73196ccce490fc9fbf87bee093aa/arm-software/embedded/llvmlibc-support/crt0.
Note that some tests do fail due to lack of hardware setup, which will
be implemented at a later time.
Most of the CMake/structure is a copy from the existing code in both
`libc/startup/linux` and `libc/startup/gpu`. It is required to build an
object file to be linked with.
Also add header files for init/fini such that crt0 can use the provided
symbols.
---------
Co-authored-by: Michael Jones <michaelrj at google.com>
Commit: dcc71f22ca7f434fd15d66363770c0f53a065d7d
https://github.com/llvm/llvm-project/commit/dcc71f22ca7f434fd15d66363770c0f53a065d7d
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/DriverUtils.cpp
M lld/COFF/MarkLive.cpp
M lld/COFF/Options.td
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
M lld/test/COFF/arm64x-sameaddress.test
Log Message:
-----------
[LLD][COFF] Add support for ARM64X same-address thunks (#151255)
Fixes MSVC CRT thread-local constructors support on hybrid ARM64X
targets.
`-arm64xsameaddress` is an undocumented option that ensures the
specified function has the same address in both native and EC views of
hybrid images. To achieve this, the linker emits additional thunks and
replaces the symbols
of those functions with the thunk symbol (the same thunk is used in both
views). The thunk code jumps to the native function (similar to range
extension thunks), but additional ARM64X relocations are emitted to
replace the target with the EC function in the EC view.
MSVC appears to generate thunks even for non-hybrid ARM64EC images. As a
side effect, the native symbol is pulled in. Since this is used in the
CRT for thread-local constructors, it results in the image containing
unnecessary native code. Because these thunks do not appear to be useful
in that context, we limit this behavior to actual hybrid targets. This
may change if compatibility requires it.
The tricky part is that thunks should be skipped if the symbol is not
live in either view, and symbol replacement must be reflected in weak
aliases. This requires thunk generation to happen before resolving weak
aliases but after the GC pass. To enable this, the `markLive` call was
moved earlier, and the final weak alias resolution was postponed until
afterward. This requires more code to be aware of weak aliases, which
previously could assume they were already resolved.
Commit: 2c00df3c938a99a85f5b0abebbb541d2e003af2c
https://github.com/llvm/llvm-project/commit/2c00df3c938a99a85f5b0abebbb541d2e003af2c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Remove LabelScope (#151498)
It did almost nothing
Commit: ab9b23c446531f5d9f081123c9f2fde4e8a334eb
https://github.com/llvm/llvm-project/commit/ab9b23c446531f5d9f081123c9f2fde4e8a334eb
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Use pattern match to check ZExt(Add()). (NFC)
Follow-up to
https://github.com/llvm/llvm-project/pull/151227#pullrequestreview-3074670031
to check the inner expression is an Add before calling getTruncateExpr.
Adds a new matcher that just matches and captures SCEVAddExpr, to
support matching a SCEVAddExpr with arbitrary number of operands.
Commit: 7f5655c50793444b1c3ce3ecea332efc03b9b323
https://github.com/llvm/llvm-project/commit/7f5655c50793444b1c3ce3ecea332efc03b9b323
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[clang][sema] Remove unused local SourceLocation (#151455)
getIntegerConstantExpr() doesn't force us to pass one, so don't.
Commit: 49b001474229cd935bf71340bb327f03721d9d00
https://github.com/llvm/llvm-project/commit/49b001474229cd935bf71340bb327f03721d9d00
Author: gitoleg <forown at yandex.ru>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/Import/module-asm.ll
M mlir/test/Target/LLVMIR/invalid-module.mlir
A mlir/test/Target/LLVMIR/module-asm.mlir
Log Message:
-----------
[mlir][llvm] adds an attribute for the module level assembly (#151318)
Adds support for the module level assembly in the LLVM IR dialect.
---------
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>
Commit: 67273393b11954146471ab6b637adf710ef81fda
https://github.com/llvm/llvm-project/commit/67273393b11954146471ab6b637adf710ef81fda
Author: Nathan Gauër <brioche at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/SPIRV/lit.local.cfg
A llvm/test/Transforms/VectorCombine/SPIRV/load-insert-store.ll
Log Message:
-----------
[VectorCombine][TTI] Prevent extract/ins rewrite to GEP (#150216)
Using GEP to index into a vector is not disallowed, but not recommended.
The SPIR-V backend needs to generate structured access into types, which
is impossible with an untyped GEP instruction unless we add more info to
the IR. Finding a solution is a work-in-progress, but in the meantime,
we'd like to reduce the amount of failures.
Preventing this optimizations from rewritting extract/insert
instructions into a GEP helps us lower more code to SPIR-V. This change
should be OK as it's only active when targeting SPIR-V and disabling a
non-recommended transformation.
Related to #145002
Commit: 6ffcfc5a8a9ff62a4daaadfd63f882d9a3aa465d
https://github.com/llvm/llvm-project/commit/6ffcfc5a8a9ff62a4daaadfd63f882d9a3aa465d
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/test/Examples/omp-atomic.f90
Log Message:
-----------
[flang][OpenMP] Make OmpDirectiveNameModifier a distrinct type (#150768)
It was an alias for OmpDirectiveName, which could cause confusion in
parse-tree visitors: a visitor for OmpDirectiveNameModifier could be
executed for an OmpDirectiveName node, leading to unexpected results.
Commit: 698492290540c9a75c1b8acc75f6c0fd4e468f5b
https://github.com/llvm/llvm-project/commit/698492290540c9a75c1b8acc75f6c0fd4e468f5b
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.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/test/Examples/omp-sections.f90
M flang/test/Parser/OpenMP/sections.f90
Log Message:
-----------
[flang][OpenMP] Store directive information in OpenMPSectionConstruct (#150804)
The OpenMPSectionConstruct corresponds to the `!$omp section` directive,
but there is nothing in the AST node that stores the directive
information. Even though the only possibility (at the moment) is
"section" without any clauses, for improved generality it is helpful to
have that information anyway.
Commit: 67c6604b372f1b7212647516c17dd5b547ca3117
https://github.com/llvm/llvm-project/commit/67c6604b372f1b7212647516c17dd5b547ca3117
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_and.ll
Log Message:
-----------
[LV] Fix missing CHECK lines in a test using UTC (#151504)
Commit: f4972a2add7c8d1c8187802803311548bd342a0c
https://github.com/llvm/llvm-project/commit/f4972a2add7c8d1c8187802803311548bd342a0c
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
Log Message:
-----------
[flang][OpenMP] Use GetOmpDirectiveName to find directive source location (#150955)
Commit: 671eaf84b35ae7475783e92dd4e3ac302eef891b
https://github.com/llvm/llvm-project/commit/671eaf84b35ae7475783e92dd4e3ac302eef891b
Author: James Newling <james.newling at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorInsertExtractStridedSliceRewritePatterns.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/vector-broadcast-lowering-transforms.mlir
M mlir/test/Dialect/Vector/vector-outerproduct-lowering-transforms.mlir
Log Message:
-----------
[mlir][vector] Avoid use of vector.splat in transforms (#150279)
This is part of vector.splat deprecation
Reference: https://discourse.llvm.org/t/rfc-mlir-vector-deprecate-then-remove-vector-splat/87143/5
Instead of creating vector::SplatOp, create vector::BroadcastOp
Commit: fcc419b05f62d0f4ae4a13e224d10e9d098a5450
https://github.com/llvm/llvm-project/commit/fcc419b05f62d0f4ae4a13e224d10e9d098a5450
Author: Samuel Tebbs <samuel.tebbs at arm.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.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-reductions-interleave.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.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/remarks-reduction-inloop.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll
Log Message:
-----------
[LV][NFCI] Swap reduction recipe operand order
https://github.com/llvm/llvm-project/pull/147026 will enable sub
reductions, which require that the phi value is the first operand since
they aren't commutative. This re-orders the operands when executing
reductions, which actually matches other existing code in
VPReductionRecipe::execute.
Commit: 339b0a1d74a4850b8c90c6d252f8483798992a4d
https://github.com/llvm/llvm-project/commit/339b0a1d74a4850b8c90c6d252f8483798992a4d
Author: Samuel Tebbs <samuel.tebbs at arm.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LV][NFCI] Format fcc419b05f62
Commit: f54e4b26cd9e8180631865c9479154eb1b4b81a4
https://github.com/llvm/llvm-project/commit/f54e4b26cd9e8180631865c9479154eb1b4b81a4
Author: Aviad Cohen <aviadcohen7 at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
A mlir/test/Dialect/Async/canonicalize.mlir
Log Message:
-----------
[mlir][async]: Make async.execute operation with RecursiveMemoryEffects trait (#116544)
Commit: a757f23404c594f4a48b4ddb6625f88b349d11d5
https://github.com/llvm/llvm-project/commit/a757f23404c594f4a48b4ddb6625f88b349d11d5
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/test/CodeGenObjC/exceptions.m
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/CodeGen/AArch64/avoid-free-ext-promotion.ll
A llvm/test/Transforms/SimplifyCFG/jump-threading-live-on-exit.ll
A llvm/test/Transforms/SimplifyCFG/jump-threading-max-jump-threading-live-blocks.ll
Log Message:
-----------
[SimplifyCFG] Extend jump-threading to allow live local defs (#135079)
Extend jump-threading to allow local defs that are live outside of the
threaded block. Allow threading to destinations where the local defs are
not live.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 311b2918129192b9171793406b0c53d9bdd9240b
https://github.com/llvm/llvm-project/commit/311b2918129192b9171793406b0c53d9bdd9240b
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/test/Frontend/dump-minimization-hints.cpp
Log Message:
-----------
[Clang] Test that -dump-minimization-hints do not report unused decls. NFC
Commit: f4aaf6fe5c6b7911d8b5f669646372c8c7dc19f4
https://github.com/llvm/llvm-project/commit/f4aaf6fe5c6b7911d8b5f669646372c8c7dc19f4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/codegen.cpp
Log Message:
-----------
[clang][bytecode] Fix a crash in codegen (#151515)
getRecord() can return nullptr if any one of the fields does, in this
case because the array is too large for us to allocate.
Commit: 920d5bbf0d3fff3bc0953957b896055ea653628c
https://github.com/llvm/llvm-project/commit/920d5bbf0d3fff3bc0953957b896055ea653628c
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M mlir/lib/Parser/Parser.cpp
M mlir/test/IR/top-level.mlir
Log Message:
-----------
[mlir] Set implicit operation loc to start of split. (#151499)
Commit: 9ddbb478ce11e43ae18aa6d04937a51621021482
https://github.com/llvm/llvm-project/commit/9ddbb478ce11e43ae18aa6d04937a51621021482
Author: James Y Knight <jyknight at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Basic/SourceManager.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Tooling/Core/Replacement.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/unittests/Analysis/MacroExpansionContextTest.cpp
M clang/unittests/Basic/FileManagerTest.cpp
M clang/unittests/Basic/SarifTest.cpp
M clang/unittests/CodeGen/TestCompiler.h
M clang/unittests/Driver/DXCModeTest.cpp
M clang/unittests/Driver/SanitizerArgsTest.cpp
M clang/unittests/Driver/SimpleDiagnosticConsumer.h
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/unittests/Frontend/PCHPreambleTest.cpp
M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
M clang/unittests/Frontend/SearchPathTest.cpp
M clang/unittests/Frontend/UtilsTest.cpp
M clang/unittests/Lex/HeaderSearchTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/CompilationDatabaseTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/unittests/Tooling/RefactoringTest.cpp
M clang/unittests/Tooling/RewriterTestContext.h
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.h
M clang/unittests/Tooling/ToolingTest.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/unittests/Host/FileSystemTest.cpp
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/FileCollector.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
NFC: Clean up construction of IntrusiveRefCntPtr from raw pointers for llvm::vfs::FileSystem. (#151407)
This switches to `makeIntrusiveRefCnt<FileSystem>` where creating a new
object, and to passing/returning by `IntrusiveRefCntPtr<FileSystem>`
instead of `FileSystem*` or `FileSystem&`, when dealing with existing
objects.
Part of cleanup #151026.
Commit: a71909156e5eaa1932813d4e806fa2b4b0037145
https://github.com/llvm/llvm-project/commit/a71909156e5eaa1932813d4e806fa2b4b0037145
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/icmp-custom-dl.ll
M llvm/test/Transforms/InstCombine/icmp-gep.ll
M llvm/test/Transforms/InstCombine/indexed-gep-compares.ll
M llvm/test/Transforms/InstCombine/load-cmp.ll
M llvm/test/Transforms/InstCombine/pr39908.ll
M llvm/test/Transforms/InstCombine/sub-gep.ll
Log Message:
-----------
[InstCombine] Set flags when canonicalizing GEP indices (#151516)
When truncating set nsw/nuw based on nusw/nuw. When extending, use zext
nneg if nusw+nuw.
Proof: https://alive2.llvm.org/ce/z/JA2Yzr
Commit: c39b1aedd15041850c0758743258895a656eec81
https://github.com/llvm/llvm-project/commit/c39b1aedd15041850c0758743258895a656eec81
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M bolt/test/lsda-section-name.cpp
Log Message:
-----------
[BOLT] Fixed calling clang++ in tests on Windows (#151193)
`RUN: %clang++ ` tried to execute `clang.exe++` on Windows. Use `%clangxx` instead.
Commit: c00df536e3c026f1b4bb5606292257929510a722
https://github.com/llvm/llvm-project/commit/c00df536e3c026f1b4bb5606292257929510a722
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M bolt/test/binary-analysis/AArch64/cmdline-args.test
Log Message:
-----------
[BOLT] Fixed cmdline-args.test to work on Windows (#151209)
Added regex to ignore `.exe` in the executable name.
Ignored OS-dependent message "No such file or directory".
Commit: 3aa7235ece0a9c53f227f4aac33208e5a7587917
https://github.com/llvm/llvm-project/commit/3aa7235ece0a9c53f227f4aac33208e5a7587917
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
Log Message:
-----------
[AMDGPU] Remove an unnecessary cast (NFC) (#151440)
getZExtValue() already returns uint64_t.
Commit: e4d47832a136267482dc6c0b8769e70be0a94b5b
https://github.com/llvm/llvm-project/commit/e4d47832a136267482dc6c0b8769e70be0a94b5b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/include/llvm/Bitstream/BitstreamWriter.h
Log Message:
-----------
[Bitstream] Remove unnecessary casts (NFC) (#151441)
getNumOperandInfos() already returns unsigned.
Commit: a74948471a6666ed4c590874ffaffac8df70ccd2
https://github.com/llvm/llvm-project/commit/a74948471a6666ed4c590874ffaffac8df70ccd2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/MemoryMapperTest.cpp
Log Message:
-----------
[ExecutionEngine] Remove unnecessary casts (NFC) (#151442)
WA, WA1, and WA2 are already of char *.
Commit: 5bb59e47164cdda4a3f95cca3975171b402b3364
https://github.com/llvm/llvm-project/commit/5bb59e47164cdda4a3f95cca3975171b402b3364
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/docs/InternalsManual.rst
Log Message:
-----------
[llvm] Proofread LangRef.rst (#151443)
Commit: c923d968b3a2cc4b813b584a1210fe906177de8a
https://github.com/llvm/llvm-project/commit/c923d968b3a2cc4b813b584a1210fe906177de8a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/include/clang/Basic/CustomizableOptional.h
Log Message:
-----------
[Basic] Remove deprecated methods in CustomizableOptional (#151444)
This patch removes deprecated methods in CustomizableOptional.
These methods come from llvm::Optional, which later got renamed to
CustomizableOptional. Since CustomizableOptional is used only in
OptionalDirectoryEntryRef and OptionalFileEntryRef, we do not need to
have full std::optional-like support in CustomizableOptional.
Commit: 77f8a9115e73e1d32f121a362eb5340c180c620d
https://github.com/llvm/llvm-project/commit/77f8a9115e73e1d32f121a362eb5340c180c620d
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/empty.cpp
Log Message:
-----------
[CIR] Support more declarations without any codegen (#151076)
This patch adds or completes support for a couple of top level
declaration types that don't emit any code: Most notably these include
Concepts, static_assert and type aliases.
Commit: 9e0dc4f7377b9614944de0fc40638451d0cfd8da
https://github.com/llvm/llvm-project/commit/9e0dc4f7377b9614944de0fc40638451d0cfd8da
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/lib/CodeGen/MachineFunction.cpp
Log Message:
-----------
[MachineFunction] Move CallSiteInfo constructor out of header (#151520)
Commit: 9fdd1d3d468a90696b29dd035017c6f9bf2db238
https://github.com/llvm/llvm-project/commit/9fdd1d3d468a90696b29dd035017c6f9bf2db238
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.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/openmp-modifiers.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Parser/OpenMP/enter-automap-modifier.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[Flang] Add parser support for AUTOMAP modifier (#151511)
Add parser support for the new AUTOMAP modifier for OpenMP Declare
Target Enter clause introduced in OpenMP 6.0 section 7.9.7.
Commit: e2bd92e56b98b15595f2d36a17aad2fe419bd39c
https://github.com/llvm/llvm-project/commit/e2bd92e56b98b15595f2d36a17aad2fe419bd39c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
Log Message:
-----------
[AMDGPU] Regenerate test checks (NFC)
Commit: 08c5944222175e2530b1bd51c07c99fb08a24675
https://github.com/llvm/llvm-project/commit/08c5944222175e2530b1bd51c07c99fb08a24675
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Fix header phi VPInstruction verification. NFC (#151472)
Noticed this when checking the invariant that all phis in the header
block must be header phis. I think there's a missing set of parentheses
here, since otherwise it only cast<VPInstruction> when RecipeI isn't a
VPInstruction.
Commit: 4005edd5c446f04a37856d69b47f1693364c12f0
https://github.com/llvm/llvm-project/commit/4005edd5c446f04a37856d69b47f1693364c12f0
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
A clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
Log Message:
-----------
[CIR] Add ComputeVolatileBitfields Implementation (#151252)
This PR adds the implementation of the `ComputeVolatileBitfields`
function for the AAPCS ABI, following the rules described in [AAPCS64
§8.1.8.5 Volatile
Bit-fields](https://github.com/ARM-software/abi-aa/blob/f52e1ad3f81254497a83578dc102f6aac89e52d0/aapcs64/aapcs64.rst#8185volatile-bit-fields----preserving-number-and-width-of-container-accesses).
When accessing a volatile bit-field either reading or writing the
compiler must perform a load or store using the access size that matches
the width of the declared type (i.e., the type of the container), rather
than the packed bit-field size.
For example, if a field is declared as `int`, it must read or write 32
bits, even if the bit-field is only 3 bits wide.
The `ComputeVolatileBitfields` function calculates the correct values
and offsets necessary for proper lowering of volatile bitfields.
Support for emitting calls to `get_bitfield` and `set_bitfield` with the
correct access size for volatile bitfields will be implemented in a
future PR.
Commit: 7abb519e9ecf9368dbc4f346830d786f4638edae
https://github.com/llvm/llvm-project/commit/7abb519e9ecf9368dbc4f346830d786f4638edae
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Add release note for Wasm debugging (#151445)
Add a release note for Wasm debugging.
Commit: bd041389351dc920a6b7a6cc6703e30af5d0ad23
https://github.com/llvm/llvm-project/commit/bd041389351dc920a6b7a6cc6703e30af5d0ad23
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M mlir/test/mlir-tblgen/op-properties-predicates.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir] Add non-attribute property predicates to adaptor verifiers (#150881)
When adding a predicated field to non-attribute properties /
implemneting PropConstraint, a call to genPropertyVerifiers() wasn't
added to the generation sequence for [Op]GenericAdaptor::verify. This
commit fixes the issue.
Commit: 99d70e09a9676d63513a496f52acf93ca7167f00
https://github.com/llvm/llvm-project/commit/99d70e09a9676d63513a496f52acf93ca7167f00
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/LoopIdiom/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
Log Message:
-----------
[SCEV] Allow adds of constants in tryToReuseLCSSAPhi. (#150693)
Update the logic added in
https://github.com/llvm/llvm-project/pull/147824 to also allow adds of
constants. There are a number of cases where this can help remove
redundant phis and replace some computation with a ptrtoint (which
likely is free in the backend).
PR: https://github.com/llvm/llvm-project/pull/150693
Commit: 8a5d3631230ab4ce7ede76df2faf8b6494fc876e
https://github.com/llvm/llvm-project/commit/8a5d3631230ab4ce7ede76df2faf8b6494fc876e
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
A clang/test/CIR/CodeGen/variable-decomposition.cpp
Log Message:
-----------
[CIR] Upstream support for function-level variable decompositions (#151073)
This implements support for structured bindings on a function scope
level. It does not add support for global structured bindings.
Commit: 3f066f5fcfbab3784b2ecc54744c2d7000a8c4fc
https://github.com/llvm/llvm-project/commit/3f066f5fcfbab3784b2ecc54744c2d7000a8c4fc
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
A llvm/include/llvm/Frontend/HLSL/HLSLBinding.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Frontend/HLSL/CMakeLists.txt
A llvm/lib/Frontend/HLSL/HLSLBinding.cpp
M llvm/unittests/Frontend/CMakeLists.txt
A llvm/unittests/Frontend/HLSLBindingTest.cpp
M llvm/unittests/Target/DirectX/ResourceBindingAnalysisTests.cpp
Log Message:
-----------
[HLSL][DirectX] Extract HLSLBinding out of DXILResource. NFC (#150633)
We extract the binding logic out of the DXILResource analysis passes into the
FrontendHLSL library. This will allow us to use this logic for resource and
root signature bindings in both the DirectX backend and the HLSL frontend.
Commit: d520daeb820792e5a1a3f33a7564f71f6e8fc405
https://github.com/llvm/llvm-project/commit/d520daeb820792e5a1a3f33a7564f71f6e8fc405
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
Log Message:
-----------
[bazel] Port #145358: LIBC_THREAD_MODE (#151539)
I'm not sure how libc should be configuring this in bazel, but for now
it seems like `LIBC_THREAD_MODE_PLATFORM` restores the default behavior.
Defining this param is required:
```
ERROR: /var/lib/buildkite-agent/.cache/bazel/_bazel_buildkite-agent/c9d34ded3a9d94cc250207948aceadfc/external/llvm-project/libc/BUILD.bazel:5788:14: Compiling libc/src/stdio/generic/vprintf.cpp failed: (Exit 1): clang failed: error executing CppCompile command (from target @@llvm-project//libc:vprintf) /usr/lib/llvm-18/bin/clang -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -Wunused-but-set-parameter -Wno-free-nonheap-object -fcolor-diagnostics -fno-omit-frame-pointer ... (remaining 31 arguments skipped)
Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
In file included from external/llvm-project/libc/src/stdio/generic/vprintf.cpp:11:
In file included from external/llvm-project/libc/src/__support/File/file.h:19:
external/llvm-project/libc/src/__support/threads/mutex.h:25:2: error: LIBC_THREAD_MODE is undefined
25 | #error LIBC_THREAD_MODE is undefined
| ^
```
As an alternative to this PR, we could make the libc header default to
`LIBC_THREAD_MODE_PLATFORM` if not provided, instead of an `#error`
Commit: 8f968fe3ec3ce0d2a77d4ebffb4f5a92f66d0516
https://github.com/llvm/llvm-project/commit/8f968fe3ec3ce0d2a77d4ebffb4f5a92f66d0516
Author: David Green <david.green at arm.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/lower-table-based-cttz-basics.ll
M llvm/test/Transforms/AggressiveInstCombine/negative-lower-table-based-cttz.ll
M llvm/test/Transforms/PhaseOrdering/lower-table-based-cttz.ll
Log Message:
-----------
[AggressiveInstCombine] Make cttz fold more resiliant to non-array geps (#150896)
Similar to #150639 this fixes the AggressiveInstCombine fold for convert
tables to cttz instructions if the gep types are not array types. i.e
`gep i16 @glob, i64 %idx` instead of `gep [64 x i16] @glob, i64 0, i64 %idx`.
Commit: b92979aae7c78021df00744d1b1c67056dae49e6
https://github.com/llvm/llvm-project/commit/b92979aae7c78021df00744d1b1c67056dae49e6
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/test/tools/llvm-profdata/memprof-padding-histogram.test
Log Message:
-----------
[MemProf] Fix FileCheck prefix in the histogram test. (#150506)
The test is fine though it seems the checks weren't being enforced
because of the typo.
Commit: 523b4b0312ccd76d3a94e9b43779b2f6b932c43d
https://github.com/llvm/llvm-project/commit/523b4b0312ccd76d3a94e9b43779b2f6b932c43d
Author: Venkata Ramanaiah Nalamothu <quic_vnalamot at quicinc.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/docs/ShadowCallStack.rst
Log Message:
-----------
[Docs] Fix typo in shadow call stack option name (#151474)
Fix typo in shadow call stack option name mentioned in
'ShadowCallStack.rst'.
Commit: c05611f1917ca01371e7f7915f4c94055c5a19cf
https://github.com/llvm/llvm-project/commit/c05611f1917ca01371e7f7915f4c94055c5a19cf
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Port #150633 HLSLBinding.h (#151546)
Commit: 0aa5502d68761d18738d0f37430951152c18ff50
https://github.com/llvm/llvm-project/commit/0aa5502d68761d18738d0f37430951152c18ff50
Author: Akash Banerjee <Akash.Banerjee at amd.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M flang/test/Parser/OpenMP/declare-target-indirect-tree.f90
Log Message:
-----------
Fix build error from #151511.
Commit: 0c3092b5b3a46167a8ee7d1d2b708ae6fc4c7e5d
https://github.com/llvm/llvm-project/commit/0c3092b5b3a46167a8ee7d1d2b708ae6fc4c7e5d
Author: Aadesh Premkumar <aadesh.premkumar at multicorewareinc.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/transcoding/spirv-target-types.ll
A llvm/test/CodeGen/SPIRV/transcoding/unused-sret-opaque-ptr.ll
Log Message:
-----------
[SPIRV] Test for spirv-target-types.ll and unused-sret-opaque-ptr.ll (#142281)
Co-authored-by: Michal Paszkowski <michal at michalpaszkowski.com>
Commit: 3e579d93ab50952628a51bda05f3a39f6a5a631c
https://github.com/llvm/llvm-project/commit/3e579d93ab50952628a51bda05f3a39f6a5a631c
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Fix unit test without LLVM_ENABLE_DUMP. NFC
Without dumping the faulty recipe isn't printed, so account for that
like in the other tests. Fixes the buildbot failure at
https://lab.llvm.org/buildbot/#/builders/2/builds/30229
Commit: f7b65011de519b1bd987892475db61f99dde44ce
https://github.com/llvm/llvm-project/commit/f7b65011de519b1bd987892475db61f99dde44ce
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/Analysis/LoopInfo.h
M llvm/include/llvm/IR/Metadata.h
A llvm/include/llvm/Transforms/Instrumentation/PGOEstimateTripCounts.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
A llvm/lib/Transforms/Instrumentation/PGOEstimateTripCounts.cpp
M llvm/lib/Transforms/Utils/LoopUtils.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
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
M llvm/test/Transforms/LoopUnroll/unroll-cleanup.ll
M llvm/test/Transforms/LoopVectorize/AArch64/check-prof-info.ll
M llvm/test/Transforms/LoopVectorize/X86/already-vectorized.ll
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
M llvm/test/Transforms/LoopVectorize/branch-weights.ll
M llvm/test/Transforms/LoopVectorize/vect.omp.persistence.ll
A llvm/test/Transforms/PGOProfile/pgo-estimate-trip-counts.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/PhaseOrdering/branch-dom-cond.ll
A llvm/test/Verifier/llvm.loop.estimated_trip_count.ll
Log Message:
-----------
[PGO] Add `llvm.loop.estimated_trip_count` metadata (#148758)
This patch implements the `llvm.loop.estimated_trip_count` metadata
discussed in [[RFC] Fix Loop Transformations to Preserve Block
Frequencies](https://discourse.llvm.org/t/rfc-fix-loop-transformations-to-preserve-block-frequencies/85785).
As [suggested in the RFC
comments](https://discourse.llvm.org/t/rfc-fix-loop-transformations-to-preserve-block-frequencies/85785/4),
it adds the new metadata to all loops at the time of profile ingestion
and estimates each trip count from the loop's `branch_weights` metadata.
As [suggested in the PR #128785
review](https://github.com/llvm/llvm-project/pull/128785#discussion_r2151091036),
it does so via a new `PGOEstimateTripCountsPass` pass, which creates the
new metadata for each loop but omits the value if it cannot estimate a
trip count due to the loop's form.
An important observation not previously discussed is that
`PGOEstimateTripCountsPass` *often* cannot estimate a loop's trip count,
but later passes can sometimes transform the loop in a way that makes it
possible. Currently, such passes do not necessarily update the metadata,
but eventually that should be fixed. Until then, if the new metadata has
no value, `llvm::getLoopEstimatedTripCount` disregards it and tries
again to estimate the trip count from the loop's current
`branch_weights` metadata.
Commit: 4adce336f46235aa74c95a3664fe8150c640e4f5
https://github.com/llvm/llvm-project/commit/4adce336f46235aa74c95a3664fe8150c640e4f5
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/tools/clang-repl/CMakeLists.txt
M llvm/lib/Support/BLAKE3/CMakeLists.txt
M llvm/lib/TargetParser/Host.cpp
M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
M third-party/benchmark/src/cycleclock.h
Log Message:
-----------
[win][arm64ec] Fixes to unblock building LLVM and Clang as Arm64EC (#150068)
These changes allow LLVM and Clang to be built with Clang targeting
Arm64EC using the MSVC linker.
Built with these options:
```
-DLLVM_ENABLE_PROJECTS="clang"
-DLLVM_HOST_TRIPLE=arm64ec-pc-windows-msvc
-DCMAKE_C_COMPILER=clang-cl.exe
-DCMAKE_C_COMPILER_TARGET=arm64ec-pc-windows-msvc
-DCMAKE_CXX_COMPILER=clang-cl.exe
-DCMAKE_CXX_COMPILER_TARGET=arm64ec-pc-windows-msvc
-DCMAKE_LINKER_TYPE=MSVC
```
Commit: 69751196a99646eb692da74522b72f0cc3d33b01
https://github.com/llvm/llvm-project/commit/69751196a99646eb692da74522b72f0cc3d33b01
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/int-range-interface.mlir
Log Message:
-----------
[mlir] Implement inferResultRanges for vector.transpose (#151537)
Implements the `inferResultRanges` method from the
`InferIntRangeInterface` interface for `vector.transpose`. The result
ranges simply match the source ranges.
Signed-off-by: Max Dawkins <max.dawkins at gmail.com>
Commit: b59cb281c1578443edabd6e0ab69e3d2357f60d6
https://github.com/llvm/llvm-project/commit/b59cb281c1578443edabd6e0ab69e3d2357f60d6
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/test/CodeGenHLSL/builtins/D3DCOLORtoUBYTE4.hlsl
M clang/test/SemaHLSL/BuiltIns/D3DCOLORtoUBYTE4-errors.hlsl
Log Message:
-----------
[HLSL] fix D3DCOLORtoUBYTE4 return type to be int (#151353)
fixes #150673
fixes #150678
The issue was we were using the wrong return type.
Commit: 3ca2050aa62bde68c74ddbb6c2501bd49831dd22
https://github.com/llvm/llvm-project/commit/3ca2050aa62bde68c74ddbb6c2501bd49831dd22
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
Log Message:
-----------
[CIR] Fix fallthrough warning (#151418)
This fixes a warning about an unannotated fallthrough.
Commit: 69f3ea08522eca4b8617145fdafb8fc6595ddf97
https://github.com/llvm/llvm-project/commit/69f3ea08522eca4b8617145fdafb8fc6595ddf97
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/lib/CodeGen/TailDuplicator.cpp
Log Message:
-----------
[MachineBB] Make sure there are successors in terminatorIsComputedGoto. (#151342)
Currently terminatorIsComputedGoto will return for blocks with a
indirect branch terminator and no successor. If there are no successor,
the terminator is likely not a computed goto, return false in that case.
Note that this is currently NFC, as the only use checks it only if there
are successors, but it will be needed in
https://github.com/llvm/llvm-project/pull/150911.
PR: https://github.com/llvm/llvm-project/pull/151342
Commit: 7cdc9781d45ce6eb27041a3aaeb756f00b9058e3
https://github.com/llvm/llvm-project/commit/7cdc9781d45ce6eb27041a3aaeb756f00b9058e3
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/lib/CodeGen/TargetInstrInfo.cpp
Log Message:
-----------
MachineInstrBuilder: Introduce copyMIMetadata() function.
This reduces the amount of boilerplate required when adding a new
field to MIMetadata and reduces the chance of bugs like the
one I fixed in TargetInstrInfo::reassociateOps.
Reviewers: arsenm, nikic
Reviewed By: nikic
Pull Request: https://github.com/llvm/llvm-project/pull/133535
Commit: 90e710b513dd4b2e117ba13604270c337bfca7b6
https://github.com/llvm/llvm-project/commit/90e710b513dd4b2e117ba13604270c337bfca7b6
Author: Jungwook Park <jungwook.park at amd.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/canonicalize.mlir
Log Message:
-----------
[mlir][scf] Add `no_inline` attribute to `scf.execute_region` (#151352)
Enabling users to explicitly specify which regions should be preserved,
uncovers additional opportunities to utilize `scf.execute_region` op.
Commit: 03e54a148fc2dad50bce59b63929f35afdab0344
https://github.com/llvm/llvm-project/commit/03e54a148fc2dad50bce59b63929f35afdab0344
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
A clang/test/CIR/CodeGen/complex-mul-div.cpp
Log Message:
-----------
[CIR] Upstream MulOp for ComplexType (#150834)
This change adds support for mul op for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: fc12fc635b96e9fa521a33eb31336c539eed1918
https://github.com/llvm/llvm-project/commit/fc12fc635b96e9fa521a33eb31336c539eed1918
Author: sujianIBM <98488060+sujianIBM at users.noreply.github.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/vec-mul-07.ll
Log Message:
-----------
[SystemZ] Fix code in widening vector multiplication (#150836)
Commit cdc7864 has an error which would wrongly fold widening
multiplications into an even/odd widening operation.
This PR fixes it and adds tests to check scenarios which should not be
folded into an even/odd widening operation are actually not.
Commit: 38fa11f5b4cad7aec3697b913f8c54f987049060
https://github.com/llvm/llvm-project/commit/38fa11f5b4cad7aec3697b913f8c54f987049060
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M libc/src/__support/math/asin_utils.h
Log Message:
-----------
[libc] Remove constexpr from asin_eval() (#151528)
fputil::multiply_add is conditionally constexpr, on some architectures,
it selects the non-constexpr version, resulting in a compile error.
Commit: 5d489b82a1d0ae8e28fccdc4a28b36923a5f3959
https://github.com/llvm/llvm-project/commit/5d489b82a1d0ae8e28fccdc4a28b36923a5f3959
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
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
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
M clang-tools-extra/test/clang-tidy/checkers/misc/header-include-cycle.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.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/portability/restrict-system-includes-transitive.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-symlink.cpp
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
M clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/export-relpath.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/list-checks.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/read_file_config.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp
M clang-tools-extra/test/modularize/NoProblemsAssistant.modularize
Log Message:
-----------
[clang-tools-extra] Remove %T from lit tests (#151538)
%T has been deprecated for about seven years since it is not unique to
each test and can thus lead to races. This patch removes uses of %T from
clang-tools-extra with the eventual goal of removing support for %T from
lit.
Commit: f23c10f9e68efae7df10745234bf879a84b2d02b
https://github.com/llvm/llvm-project/commit/f23c10f9e68efae7df10745234bf879a84b2d02b
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
Log Message:
-----------
[lldb] Fallback to expression eval when Dump of variable fails in dwim-print (#151374)
Previously, when dwim-print finds a frame variables, it returns immediately after
calling `Dump`, even if `Dump` returns an error. This is most likely to happen when
evaluating an object description, ie `po`.
This changes dwim-print to continue on to expression evaluation when `Dump`ing a
variable returns an error . This is to allow for diagnostics that match `expression`.
Commit: 91e0055c7c46d26356765a0e641c77920d85a26f
https://github.com/llvm/llvm-project/commit/91e0055c7c46d26356765a0e641c77920d85a26f
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/int-range-interface.mlir
Log Message:
-----------
[mlir] Implement inferResultRanges for vector.step op (#151536)
Implements the `inferResultRanges` method from the
`InferIntRangeInterface` interface for `vector.step`. The implementation
is similar to that of arith.constant, since the exact result values are
statically known.
Signed-off-by: Max Dawkins <max.dawkins at gmail.com>
Commit: 441f5b0e367ceee5b8b12d14c0d1ebb1c29fa414
https://github.com/llvm/llvm-project/commit/441f5b0e367ceee5b8b12d14c0d1ebb1c29fa414
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/compilation-dir.c
Log Message:
-----------
[clang] Infer compilation directory in driver
When building with -fdebug-compilation-dir/-fcoverige-compilation-dir,
infer the compilation directory in clang driver, rather than try to
fallback to VFS current working directory lookup during CodeGen. This
allows compilation directory to be used as it is passed via cc1 flag and
the value can be empty to remove dependency on CWD if needed.
Reviewers: adrian-prantl, dwblaikie
Reviewed By: adrian-prantl, dwblaikie
Pull Request: https://github.com/llvm/llvm-project/pull/150112
Commit: e5402c977f5a2eeae037103d2fd68df10d5c6650
https://github.com/llvm/llvm-project/commit/e5402c977f5a2eeae037103d2fd68df10d5c6650
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt
M llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt
Log Message:
-----------
[llvm] Enable building Analysis plugins on Cygwin (#151397)
In #112303 they were enabled for Windows dylib builds, but the condition
excluded Cygwin in that case. Their dynamic libraries work the same way,
so adjust the condition accordingly.
This fixes the plugin tests on Cygwin.
Commit: 7f93487862d98bf1c168babba87daf6224d8a46f
https://github.com/llvm/llvm-project/commit/7f93487862d98bf1c168babba87daf6224d8a46f
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.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_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU] Add v_cvt_pk_f16_f32 instruction for gfx1250 (#151469)
Commit: 1bc58851868ad1f8ac6313d9f2337ec827b85019
https://github.com/llvm/llvm-project/commit/1bc58851868ad1f8ac6313d9f2337ec827b85019
Author: Xiaolei Feng <76484843+Rayfxl at users.noreply.github.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
A mlir/test/Conversion/MathToSPIRV/math-to-fpclassify-spirv.mlir
M mlir/test/Dialect/SPIRV/IR/logical-ops.mlir
M mlir/test/Target/SPIRV/logical-ops.mlir
Log Message:
-----------
[MLIR][SPIRV] Add spirv.IsFinite and lower math.{isfinite,isinf,isnan} to spirv. (#151552)
This patch adds support for lowering several float classification ops
from the Math dialect to the SPIR-V dialect.
### Highlights:
- Introduced a new `spirv.IsFinite` operation corresponding to the
SPIR-V `OpIsFinite` instruction.
- Lowered `math.isfinite`, `math.isinf`, and `math.isnan` to SPIR-V
using `CheckedElementwiseOpPattern`.
- Added corresponding tests for op definition and conversion lowering.
This addresses the discussion in:
https://github.com/llvm/llvm-project/issues/150778
---
Let me know if any additional adjustments are needed!
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 5482ef76f5b3d5ffcaded397fa924569e83f0b2d
https://github.com/llvm/llvm-project/commit/5482ef76f5b3d5ffcaded397fa924569e83f0b2d
Author: Nico Weber <thakis at chromium.org>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Frontend/HLSL/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn] port 3f066f5fcfba
Commit: 078d214672e23691566137fa88b851c7022666b7
https://github.com/llvm/llvm-project/commit/078d214672e23691566137fa88b851c7022666b7
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/test/CodeGen/AArch64/late-taildup-computed-goto.ll
A llvm/test/CodeGen/X86/early-tail-dup-computed-goto.mir
R llvm/test/CodeGen/X86/tail-dup-computed-goto.mir
Log Message:
-----------
[TailDup] Delay aggressive computed-goto taildup to after RegAlloc. (#150911)
https://github.com/llvm/llvm-project/pull/114990 allowed more aggressive
tail duplication for computed-gotos in both pre- and post-regalloc tail
duplication.
In some cases, performing tail-duplication too early can lead to worse
results, especially if we duplicate blocks with a number of phi nodes.
This is causing a ~3% performance regression in some workloads using
Python 3.12.
This patch updates TailDup to delay aggressive tail-duplication for
computed gotos to after register allocation.
This means we can keep the non-duplicated version for a bit longer
throughout the backend, which should reduce compile-time as well as
allowing a number of optimizations and simplifications to trigger before
drastically expanding the CFG.
For the case in https://github.com/llvm/llvm-project/issues/106846, I
get the same performance with and without this patch on Skylake.
PR: https://github.com/llvm/llvm-project/pull/150911
Commit: 3a18fe33f0763cd9276c99c276448412100f6270
https://github.com/llvm/llvm-project/commit/3a18fe33f0763cd9276c99c276448412100f6270
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUtils.cpp
Log Message:
-----------
[Utils] Fix a warning
This patch fixes:
llvm/lib/Transforms/Utils/LoopUtils.cpp:818:28: error: unused
function 'operator<<' [-Werror,-Wunused-function]
Commit: 4cec4938c67b5dec64a2512806f84b3ddcd499f2
https://github.com/llvm/llvm-project/commit/4cec4938c67b5dec64a2512806f84b3ddcd499f2
Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
A libsycl/.clang-format
A libsycl/.clang-tidy
A libsycl/CMakeLists.txt
A libsycl/LICENSE.txt
A libsycl/README.md
A libsycl/docs/index.rst
A libsycl/include/CL/sycl.hpp
A libsycl/include/sycl/__impl/detail/config.hpp
A libsycl/include/sycl/__impl/platform.hpp
A libsycl/include/sycl/sycl.hpp
A libsycl/src/CMakeLists.txt
A libsycl/src/ld-version-script.txt
A libsycl/src/platform.cpp
A libsycl/src/version.hpp.in
M llvm/CMakeLists.txt
M runtimes/CMakeLists.txt
Log Message:
-----------
[SYCL] Add libsycl, a SYCL RT library implementation project (#144372)
This patch introduces libsycl, a SYCL runtime library implementation, as
a top-level LLVM runtime project.
SYCL spec:
https://registry.khronos.org/SYCL/specs/sycl-2020/html/sycl-2020.html
Commit contains the basic folder layout and CMake infrastructure to
build a dummy SYCL library.
This is part of the SYCL support upstreaming effort. The relevant RFCs
can be found here:
https://discourse.llvm.org/t/rfc-add-full-support-for-the-sycl-programming-model/74080
https://discourse.llvm.org/t/rfc-sycl-runtime-upstreaming/74479
Upcoming PRs:
- UR offloading library fetch & build
- partial implementation of sycl::platform: requires offloading layer,
requires classes for backend loading & enumeration.
---------
Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
Co-authored-by: Alexey Bader <alexey.bader at intel.com>
Commit: c3927086c8efe70d4b6fada3ee1d64a3c6ab6325
https://github.com/llvm/llvm-project/commit/c3927086c8efe70d4b6fada3ee1d64a3c6ab6325
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/builders/builder.py
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
[lldb] Support Darwin cross compilation for remote Linux test suite runs (#151403)
Fix cross-compilation of test inferiors on Darwin, targeting remote
Linux. This requires specifying the target triple and using LLD for
linking.
Fixes #150806
Commit: 7b5a44c6056888b4a2b59c834bafac8304f6b538
https://github.com/llvm/llvm-project/commit/7b5a44c6056888b4a2b59c834bafac8304f6b538
Author: shuffle2 <godisgovernment at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/test/Instrumentation/HWAddressSanitizer/X86/globals.ll
M llvm/test/Instrumentation/HWAddressSanitizer/globals.ll
Log Message:
-----------
[hwasan] Add hwasan-all-globals option (#149621)
hwasan-globals does not instrument globals with custom sections, because
existing code may use `__start_`/`__stop_` symbols to iterate over
globals in such a way which will cause hwasan assertions.
Introduce new hwasan-all-globals option, which instruments all
user-defined globals (but not those globals which are generated by the
hwasan instrumentation itself), including those with custom sections.
fixes #142442
Commit: 1dec9b9553632701f0f28fd49cfc71bb0fb5d47a
https://github.com/llvm/llvm-project/commit/1dec9b9553632701f0f28fd49cfc71bb0fb5d47a
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
Log Message:
-----------
[AMDGPU] Regenerate checks in the CodeGen/AMDGPU/fptrunc.f16.ll. NFC. (#151575)
Fixes buildbot break.
Commit: d4e8619ef12d1de0b839f91c3ee976811823bd7c
https://github.com/llvm/llvm-project/commit/d4e8619ef12d1de0b839f91c3ee976811823bd7c
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/CGData/StableFunctionMapRecord.cpp
M llvm/test/ThinLTO/AArch64/cgdata-merge-read.ll
Log Message:
-----------
[CGData] Fix assertions when skipping name (#151570)
This fixes assertion failures when using
`-indexed-codegen-data-read-function-map-names=false`
Commit: 17ab8a39763eefaa0bb8d5881f87503d95b44d39
https://github.com/llvm/llvm-project/commit/17ab8a39763eefaa0bb8d5881f87503d95b44d39
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Log Message:
-----------
[gn build] Port f7b65011de51
Commit: 1c60b7da4f7af388b12f4f9b1d46bab0b65c5155
https://github.com/llvm/llvm-project/commit/1c60b7da4f7af388b12f4f9b1d46bab0b65c5155
Author: Martin Storsjö <martin at martin.st>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Support/Windows/Threading.inc
Log Message:
-----------
[Support] [Windows] Conditionally compile the SetThreadInformation calls (#151388)
The declarations for this API are missing in older mingw-w64 headers
(versions before v12). This API is also hidden if building with MS
WinSDK if targeting versions before Windows 10.
Check whether THREAD_POWER_THROTTLING_CURRENT_VERSION is defined before
using this API; this constant is a #define in both WinSDK and mingw-w64.
Commit: c7f343750744fd0c928b1da67e9dd894a2fe52cf
https://github.com/llvm/llvm-project/commit/c7f343750744fd0c928b1da67e9dd894a2fe52cf
Author: James Y Knight <jyknight at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang-tools-extra/clang-apply-replacements/tool/ClangApplyReplacementsMain.cpp
M clang-tools-extra/clang-change-namespace/tool/ClangChangeNamespace.cpp
M clang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp
M clang-tools-extra/clang-move/tool/ClangMove.cpp
M clang-tools-extra/clang-reorder-fields/tool/ClangReorderFields.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/TweakTests.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang-tools-extra/unittests/clang-apply-replacements/ApplyReplacementsTest.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
M clang-tools-extra/unittests/include/common/VirtualFileHelper.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/PrecompiledPreamble.h
M clang/lib/Basic/SourceManager.cpp
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Frontend/ASTMerge.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/lib/Tooling/Core/Replacement.cpp
M clang/lib/Tooling/Refactoring.cpp
M clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-fuzzer/handle-cxx/handle_cxx.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/diagtool/TreeView.cpp
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/driver/cc1gen_reproducer_main.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M clang/unittests/AST/ASTVectorTest.cpp
M clang/unittests/AST/CommentLexer.cpp
M clang/unittests/AST/CommentParser.cpp
M clang/unittests/AST/CommentTextTest.cpp
M clang/unittests/Analysis/MacroExpansionContextTest.cpp
M clang/unittests/Analysis/UnsafeBufferUsageTest.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/Basic/SarifTest.cpp
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/Driver/DXCModeTest.cpp
M clang/unittests/Driver/SanitizerArgsTest.cpp
M clang/unittests/Driver/SimpleDiagnosticConsumer.h
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Frontend/SearchPathTest.cpp
M clang/unittests/Frontend/TextDiagnosticTest.cpp
M clang/unittests/Lex/HeaderSearchTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Lex/ModuleDeclStateTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Lex/PPMemoryAllocationsTest.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M clang/unittests/Sema/SemaNoloadLookupTest.cpp
M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
M clang/unittests/Serialization/LoadSpecLazilyTest.cpp
M clang/unittests/Serialization/ModuleCacheTest.cpp
M clang/unittests/Serialization/NoCommentsTest.cpp
M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
M clang/unittests/Tooling/RewriterTestContext.h
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.h
M flang/lib/Frontend/CompilerInstance.cpp
M flang/tools/flang-driver/driver.cpp
M flang/tools/flang-driver/fc1_main.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
NFC: Clean up of IntrusiveRefCntPtr construction from raw pointers. (#151545)
Handles clang::DiagnosticsEngine and clang::DiagnosticIDs.
For DiagnosticIDs, this mostly migrates from `new DiagnosticIDs` to
convenience method `DiagnosticIDs::create()`.
Part of cleanup https://github.com/llvm/llvm-project/issues/151026
Commit: 0f3524481680ee31ec38d79be90207898213e217
https://github.com/llvm/llvm-project/commit/0f3524481680ee31ec38d79be90207898213e217
Author: James Newling <james.newling at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] shape_cast(constant) -> constant fold for non-splats (#145539)
The folder `shape_cast(splat constant) -> splat constant` was first
introduced
[here](https://github.com/llvm/llvm-project/commit/36480657d8ce97836f76bf5fa8c36677b9cdc19a#diff-484cea976e0c96459027c951733bf2d22d34c5a0c0de6f577069870ef4588983R2600)
(Nov 2020). In that commit there is a comment to _Only handle splat for
now_. Based on that I assume the intention was to, at a later time,
support a general `shape_cast(constant) -> constant` folder. That is
what this PR does
One minor downside: It is possible with this folder end up with, instead
of 1 large constant and 1 shape_cast, 2 large constants:
```mlir
func.func @foo() -> (vector<4xi32>, vector<2x2xi32>) {
%cst = arith.constant dense<[1, 2, 3, 4]> : vector<4xi32> # 'large' constant 1
%0 = vector.shape_cast %cst : vector<4xi32> to vector<2x2xi32>
return %cst, %0 : vector<4xi32>, vector<2x2xi32>
}
```
gets folded with this new folder to
```mlir
func.func @foo() -> (vector<4xi32>, vector<2x2xi32>) {
%cst = arith.constant dense<[1, 2, 3, 4]> : vector<4xi32> # 'large' constant 1
%cst_0 = arith.constant dense<[[1, 2], [3, 4]]> : vector<2x2xi32> # 'large' constant 2
return %cst, %cst_0 : vector<4xi32>, vector<2x2xi32>
}
```
Notes on the above case:
1) This only effects the textual IR, the actual values share the same
context storage (I've verified this by checking pointer values in the
`DenseIntOrFPElementsAttrStorage`
[constructor](https://github.com/llvm/llvm-project/blob/da5c442550a3823fff05c14300c1664d0fbf68c8/mlir/lib/IR/AttributeDetail.h#L59))
so no compile-time memory overhead to this folding. At the LLVM
IR level the constant is shared, too.
2) This only happens when the pre-folded constant cannot be dead code
eliminated (i.e. when it has 2+ uses) which I don't think is common.
Commit: 955ece4fa53e5309dd38795efd6a357ddf52963b
https://github.com/llvm/llvm-project/commit/955ece4fa53e5309dd38795efd6a357ddf52963b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Add checks for misused hardening macros (#150669)
Libc++ hardening went through several iterations, sometimes within a
single release. However, some folks in the wild have picked up these
macros that were either public at some point or that were used
temporarily on `main`, and unfortunately those are now ignored.
This can lead to some users thinking they enable hardening when in
reality they don't, which is a pretty big deal. This patch simply checks
various old hardening-related macros and ensures that they are not set,
which will catch such misuse.
Commit: 550058c58baa8d0ac3c4ee7f1ddc4a051a814f19
https://github.com/llvm/llvm-project/commit/550058c58baa8d0ac3c4ee7f1ddc4a051a814f19
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb][DWARFIndex][NFC] Change GetFunctions return type to IterationAction (#151489)
The ultimate goal is to replace the return types of all the `DWARFIndex`
callbacks to `IterationAction`. To reduce the blast radius and do this
incrementally I'm doing this for `GetFunctions` only here. I added a
`IterationActionAdaptor` helper (that will ultimately get removed once
all APIs have been migrated) to avoid having to change too many other
APIs that `GetFunctions` interacts with.
Commit: 09cc8eaf1b85e3f39b095febe36759e550906096
https://github.com/llvm/llvm-project/commit/09cc8eaf1b85e3f39b095febe36759e550906096
Author: Steffen Larsen <steffen.larsen at intel.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M libcxx/include/__cxx03/__math/logarithms.h
M libcxx/include/__math/logarithms.h
Log Message:
-----------
[libc++] Fix return type of ilogb(double) (#150374)
This commit addresses a seemingly unintentional return type of the ilogb
overload taking a double. Currently it returns double, while it is
supposed to return int.
The return types seems to be covered by libcxx/test/std/numerics/c.math/cmath.pass.cpp,
but the issue would only show up if we tested with a libc that doesn't
provide the ilogb(double) overload, which we don't.
Commit: e46d938ddf41246e3bf9aa2afc0e7f52ac446ce4
https://github.com/llvm/llvm-project/commit/e46d938ddf41246e3bf9aa2afc0e7f52ac446ce4
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.f16.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_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU] v_cvt_sr_pk_f16_f32 gfx1250 instruction (#151482)
Commit: 506834deac06acc37fff4f852c7ecbce0a2bacd2
https://github.com/llvm/llvm-project/commit/506834deac06acc37fff4f852c7ecbce0a2bacd2
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/unittests/Frontend/HLSLBindingTest.cpp
Log Message:
-----------
Suppress -Wuninitialized-const-pointer warning (#151583)
Recent clang (as of #148337) introduced a warning on passing unitialized
pointers to functions that take const pointers. This is entirely
spurious on this code, but this works around it to keep the bots happy.
Build failure: https://lab.llvm.org/buildbot/#/builders/168/builds/14779
Commit: b383efc3e3e18b57e1a13bd59aef4b5964410321
https://github.com/llvm/llvm-project/commit/b383efc3e3e18b57e1a13bd59aef4b5964410321
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
M llvm/utils/lit/lit/Test.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/cl_arguments.py
M llvm/utils/lit/lit/main.py
A llvm/utils/lit/tests/Inputs/xfail-cl/true-xfail-conditionally.txt
M llvm/utils/lit/tests/xfail-cl.py
Log Message:
-----------
[lit] Optionally exclude xfail tests (#151191)
See the related issue. We want to set up a build bot where `opt` runs with `-enable-profcheck`, which inserts `MD_prof` before running the rest of the pipeline requested from `opt`, and then validates resulting profile information (more info in the RFC linked by the aforementioned issue)
In that setup, we will also ignore `FileCheck`: while the profile info inserted is, currently, equivalent to the profile info a pass would observe via `BranchProbabilityInfo`/`BlockFrequencyInfo`, (1) we may want to change that, and (2) some tests are quite sensitive to the output IR, and break if, for instance, extra metadata is present (which it would be due to `-enable-profcheck`). Since we're just interested in profile consistency on the upcoming bot, ignoring `FileCheck` is simpler and sufficient. However, this has the effect of passing XFAIL tests. Rather than listing them all, the alternative is to just exclude XFAIL tests.
This PR adds support for that by introducing a `--exclude-xfail` option to `llvm-lit`.
Issue #147390
Commit: a85c725952f7eec54552c195353ff0cb6275a2e0
https://github.com/llvm/llvm-project/commit/a85c725952f7eec54552c195353ff0cb6275a2e0
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUtils.cpp
Log Message:
-----------
Revert "[Utils] Fix a warning"
This reverts commit 3a18fe33f0763cd9276c99c276448412100f6270.
So that we can revert PR #148758.
Commit: 37e03b56b8172d73ebd755a210fcfa031133220a
https://github.com/llvm/llvm-project/commit/37e03b56b8172d73ebd755a210fcfa031133220a
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/Analysis/LoopInfo.h
M llvm/include/llvm/IR/Metadata.h
R llvm/include/llvm/Transforms/Instrumentation/PGOEstimateTripCounts.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
R llvm/lib/Transforms/Instrumentation/PGOEstimateTripCounts.cpp
M llvm/lib/Transforms/Utils/LoopUtils.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
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
M llvm/test/Transforms/LoopUnroll/unroll-cleanup.ll
M llvm/test/Transforms/LoopVectorize/AArch64/check-prof-info.ll
M llvm/test/Transforms/LoopVectorize/X86/already-vectorized.ll
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
M llvm/test/Transforms/LoopVectorize/branch-weights.ll
M llvm/test/Transforms/LoopVectorize/vect.omp.persistence.ll
R llvm/test/Transforms/PGOProfile/pgo-estimate-trip-counts.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/PhaseOrdering/branch-dom-cond.ll
R llvm/test/Verifier/llvm.loop.estimated_trip_count.ll
Log Message:
-----------
Revert "[PGO] Add `llvm.loop.estimated_trip_count` metadata" (#151585)
Reverts llvm/llvm-project#148758
[As
requested.](https://github.com/llvm/llvm-project/pull/148758#pullrequestreview-3076627201)
Commit: 2737d013a0194304b026826cfa46ba302dd4dadc
https://github.com/llvm/llvm-project/commit/2737d013a0194304b026826cfa46ba302dd4dadc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Improve the doxygen description for SDValue::isOperandOf. NFC (#151244)
SDValue::isOperandOf checks the result number in addition to the SDNode*.
SDNode::isOperandOf only checks the SDNode*.
Commit: 68b9bb5e9bc3dcd5ff33fe250184debd3cc3dff5
https://github.com/llvm/llvm-project/commit/68b9bb5e9bc3dcd5ff33fe250184debd3cc3dff5
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M lldb/bindings/interface/SBThreadExtensions.i
M lldb/test/API/commands/watchpoints/step_over_watchpoint/TestStepOverWatchpoint.py
M lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
M lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/TestOSPluginStepping.py
M lldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpNew.py
M lldb/test/API/functionalities/postmortem/minidump/TestMiniDump.py
M lldb/test/API/functionalities/scripted_process/stack_core_scripted_process.py
M lldb/test/API/functionalities/step_scripted/TestStepScripted.py
M lldb/test/API/functionalities/tsan/multiple/TestTsanMultiple.py
M lldb/test/API/macosx/abort_with_payload/TestAbortWithPayload.py
M lldb/test/API/macosx/corefile-exception-reason/TestCorefileExceptionReason.py
M lldb/test/API/riscv/break-undecoded/TestBreakpointIllegal.py
Log Message:
-----------
[lldb] Add stop_description Python property to SBThread (#151568)
Add `stop_description` as a Python convenience property to `SBThread`.
Commit: fd175fafa6353f6ddb2101c025d45efdfe25209b
https://github.com/llvm/llvm-project/commit/fd175fafa6353f6ddb2101c025d45efdfe25209b
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
A llvm/test/Transforms/LoopUnroll/RISCV/vector.ll
Log Message:
-----------
[RISCV] Adjust unroll prefs for loops with vectors (#151525)
Adjust the unrolling preferences to unroll hand-vectorized code, as well
as the scalar remainder of a vectorized loop. Inspired by a similar
effort in AArch64: see #147420 and #151164.
Commit: bf7afe1dc9c36011457c57b87cbe48e89f105ce4
https://github.com/llvm/llvm-project/commit/bf7afe1dc9c36011457c57b87cbe48e89f105ce4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
A lldb/packages/Python/lldbsuite/support/temp_file.py
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/dotest.py
Log Message:
-----------
[lldb] Don't use NamedTemporaryFile to test compiler support (#151387)
You cannot use a NamedTempFile with an external process because it may
not be flushed to disk. The safest and most portable approach is to
close the file, call the other process and then unlink the file
manually.
Presumably this works fine on Linux, but it fails on Darwin when
targeting remote-linux.
See https://bugs.python.org/issue29573
Commit: 176d54aa33104b6de2979ffb3dc52f3a187bed17
https://github.com/llvm/llvm-project/commit/176d54aa33104b6de2979ffb3dc52f3a187bed17
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/test/Transforms/LoopVectorize/intrinsic.ll
R llvm/test/Transforms/SLPVectorizer/AArch64/exp.ll
R llvm/test/Transforms/SLPVectorizer/AArch64/fround.ll
M llvm/test/Transforms/Scalarizer/intrinsics.ll
Log Message:
-----------
Revert "[VectorUtils] Trivially vectorize ldexp, [l]lround (#145545)"
This reverts commit 13366759c3b9db9366659d870cc73c938422b020.
This broke various LLVM testsuite buildbots for AArch64 SVE, but the
problem got masked because relevant buildbots were already failing
due to other breakage.
It has broken llvm-test-suite test:
gfortran-regression-compile-regression__vect__pr106253_f.test
https://lab.llvm.org/buildbot/#/builders/4/builds/8164
https://lab.llvm.org/buildbot/#/builders/17/builds/9858
https://lab.llvm.org/buildbot/#/builders/41/builds/8067
https://lab.llvm.org/buildbot/#/builders/143/builds/9607
Commit: 648a7a64c59bf0e13c505e68f71279701a95f987
https://github.com/llvm/llvm-project/commit/648a7a64c59bf0e13c505e68f71279701a95f987
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Log Message:
-----------
[gn build] Port 37e03b56b817
Commit: 7c6a1c3d15bc41d6a5002a0a12837daa9fe824f0
https://github.com/llvm/llvm-project/commit/7c6a1c3d15bc41d6a5002a0a12837daa9fe824f0
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/MC/MCObjectFileInfo.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
A llvm/test/CodeGen/X86/call-graph-section-assembly.ll
A llvm/test/CodeGen/X86/call-graph-section-tailcall.ll
A llvm/test/CodeGen/X86/call-graph-section.ll
A llvm/test/MC/X86/verify-callgraph-section.s
Log Message:
-----------
[llvm][AsmPrinter] Emit call graph section
Collect the necessary information for constructing the call graph
section, and emit to .callgraph section of the binary.
MD5 hash of the callee_type metadata string is used as the numerical
type id emitted.
Reviewers: ilovepi
Reviewed By: ilovepi
Pull Request: https://github.com/llvm/llvm-project/pull/87576
Commit: 507b879b6ef09672322d6653411377fa65527160
https://github.com/llvm/llvm-project/commit/507b879b6ef09672322d6653411377fa65527160
Author: Artem Belevich <tra at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/OffloadArch.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
Log Message:
-----------
[CUDA] add support for targeting sm_103/sm_121 with CUDA-12.9 (#151587)
Commit: d7f77b2e82aefa575184ecafe7f67278560bd18d
https://github.com/llvm/llvm-project/commit/d7f77b2e82aefa575184ecafe7f67278560bd18d
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrFormats.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.td
Log Message:
-----------
[NVPTX] Cleanup various vestigial elements and fold together more table-gen (NFC) (#151447)
Commit: d6c85fc9abd64a309a7c88c39ab12b1201e516de
https://github.com/llvm/llvm-project/commit/d6c85fc9abd64a309a7c88c39ab12b1201e516de
Author: Aakanksha Patil <41199349+aakanksha555 at users.noreply.github.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/include/llvm/ObjectYAML/ELFYAML.h
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
A llvm/test/tools/obj2yaml/ELF/eflags.yaml
A llvm/test/tools/yaml2obj/file-header-flags.yaml
M llvm/tools/obj2yaml/elf2yaml.cpp
Log Message:
-----------
Reapply "Allow "[[FLAGS=<none>]]" value in the ELF Fileheader Flags field (#143845)" (#151094)
This fixes the issues with 0b054e2
This reverts commit b80ce054206db223ec8c3cd55fad510c97afbc9f.
Commit: fe899cedac18cf3fcf70c58084a1940936ab9a95
https://github.com/llvm/llvm-project/commit/fe899cedac18cf3fcf70c58084a1940936ab9a95
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test
Log Message:
-----------
[DWARFLinker] Fix matching logic to remove type 1 missing offset (#151427)
Reverts the [revert](https://github.com/llvm/llvm-project/pull/151424)
and fixed some typos.
Original PR description:
Second attempt to fix
https://discourse.llvm.org/t/rfc-new-dwarf-attribute-for-symbolication-of-merged-functions/79434/29?u=alx32
(First attempt: https://github.com/llvm/llvm-project/pull/143656)
Context: the sequence offset to row index we parsed may not be complete.
And we need to add manual matching to it.
https://github.com/llvm/llvm-project/pull/143656 attempts to do trivial
1:1 matching, however, sometimes they don't line up perfectly, as shown
below:
// While SeqOffToOrigRow parsed from CU could be the ground truth,
// e.g.
//
// SeqOff Row
// 0x08 9
// 0x14 15
//
// The StmtAttrs and SeqStartRows may not match perfectly, e.g.
//
// StmtAttrs SeqStartRows
// 0x04 3
// 0x08 5
// 0x10 9
// 0x12 11
// 0x14 15
//
// In this case, we don't want to assign 5 to 0x08, since we know 0x08
// maps to 9. If we do a dummy 1:1 mapping 0x10 will be mapped to 9
// which is incorrect. The expected behavior is ignore 5, realign the
// table based on the result from the line table:
//
// StmtAttrs SeqStartRows
// 0x04 3
// -- 5
// 0x08 9 <- LineTableMapping ground truth
// 0x10 11
// 0x12 --
// 0x14 15 <- LineTableMapping ground truth
In this case, we need to use the mapping we read from the line table as
a ground truth and organize them properly to prevent duplicated
offset/missing offset.
Test:
Updated the test case
---------
Signed-off-by: Peter Rong <PeterRong at meta.com>
Co-authored-by: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Commit: e1d45b1b97c1f18e5a5fb9db8621ae4b34ba0ab1
https://github.com/llvm/llvm-project/commit/e1d45b1b97c1f18e5a5fb9db8621ae4b34ba0ab1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
Log Message:
-----------
[lldb] Fix a use-after-free in SymbolFileCTF (#151586)
This fixes a use-after-free in SymbolFileCTF. Previously, we would
remove the underlying CTF type as soon as we resolved it. However, it's
possible that we're still holding onto the CTF type while we're parsing
a dependent type, like a modifier, resulting in a use-after-free. This
patch addresses the issue by delaying the removal of the CTF type until
the type is fully resolved.
I have a XNU kernel binary that reproduces the issue and confirmed that
this solves the memory issue using ASan. However I haven't been able to
craft types by hand that reproduce this issue for a test case.
rdar://156660866
Commit: ba2edbd0c8d7a0199485d2969aebcc4de4a3d983
https://github.com/llvm/llvm-project/commit/ba2edbd0c8d7a0199485d2969aebcc4de4a3d983
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
Log Message:
-----------
[CIR] Fix warnings related to unused variables in release builds (#151412)
This fixes a number of warnings in release builds due to variables that
were only being used in asserts. Some of these variables will later be
used in non-debug code, but for now they are unused in release builds.
Commit: d3a9cde7b8dad2705d733293502f8f216694d58f
https://github.com/llvm/llvm-project/commit/d3a9cde7b8dad2705d733293502f8f216694d58f
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Log Message:
-----------
[AMDGPU] Don't skip regions in getRegionLiveInMap (#151423)
Currently, this skips any region that is not the first region in a
block. This is because the only user of it only cares about the LiveIns
per-block. However, as named, this is supposed to compute the per-region
LiveIns.
This doesn't have any effect on scheduling / CodeGen currently (aside
from computing LiveIns for all regions) since only the per-block LiveIns
are needed. However, I'm working on something that will use this.
Intended User:
https://github.com/llvm/llvm-project/pull/149367/
https://github.com/llvm/llvm-project/blob/c62a2f127cba5d6df350474dfd4a6e5f9250fe4f/llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp#L1351
Commit: 49d89bc9f43f967051920731f0ec138ca8aaf5ee
https://github.com/llvm/llvm-project/commit/49d89bc9f43f967051920731f0ec138ca8aaf5ee
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.e5m3.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_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU] Add gfx1250 cvt_pk|sr_fp8|bf8_f32 instructions (#151595)
Commit: 9de4e062d7c443a4a9ef837cca3db4b13903fe12
https://github.com/llvm/llvm-project/commit/9de4e062d7c443a4a9ef837cca3db4b13903fe12
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-module.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-pch.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name.cpp
Log Message:
-----------
[SYCL] Restrict the sycl_kernel_entry_point attribute spelling to C++11 style. (#151405)
Previously, the `sycl_kernel_entry_point` attribute could be specified
using either the GNU or C++11 spelling styles. Future SYCL attributes
are expected to support only the C++11 spelling style, so support for
the GNU style is being removed.
In order to ensure consistent presentation of the attribute in
diagnostic messages, diagnostics specific to this attribute now require
the attribute to be provided as an argument. This delegates formatting
of the attribute name to the diagnostic engine.
As an additional nicety, "the" is added to some diagnostic messages so
that they read more like proper sentences.
Commit: 3c08498fe23560c3b638fbd3b286bce406cb07f8
https://github.com/llvm/llvm-project/commit/3c08498fe23560c3b638fbd3b286bce406cb07f8
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CodeGen/debug-info-abspath.c
M clang/test/CodeGen/debug-info-compilation-dir.c
M clang/test/CodeGen/debug-prefix-map.c
M clang/test/CodeGenCXX/debug-info-function-context.cpp
M clang/test/CodeGenCXX/difile_entry.cpp
M clang/test/PCH/debug-info-pch-container-path.c
M clang/test/PCH/debug-info-pch-path.c
M clang/test/Profile/coverage-prefix-map.c
M clang/unittests/Frontend/CodeGenActionTest.cpp
Log Message:
-----------
[clang][CodeGen] Remove CWD fallback in compilation directory (#150130)
CWD is queried in clang driver and passed to clang cc1 via flags when
needed. Respect the cc1 flags and do not repeated checking current
working directory in CodeGen.
Commit: 92ca087b456c6cb1b1005e7d225bdd4ad6f6eeec
https://github.com/llvm/llvm-project/commit/92ca087b456c6cb1b1005e7d225bdd4ad6f6eeec
Author: Princeton Ferro <pferro at nvidia.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
A llvm/test/CodeGen/NVPTX/fold-movs.ll
Log Message:
-----------
[NVPTX] fix type propagation when expanding Store[V4 -> V8] (#151576)
This was an edge case we missed. Propagate the correct type when
expanding a StoreV4 x <2 x float> to StoreV8 x float.
Commit: 4e596fc2852eddc23fc0cd287eb5cd8e4664855b
https://github.com/llvm/llvm-project/commit/4e596fc2852eddc23fc0cd287eb5cd8e4664855b
Author: Artem Belevich <tra at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[ELF] handle new NVIDIA GPU variants. (#151604)
Commit: 03bb10bea6edeb6b1cbcb3fc6b590e585ae43ad6
https://github.com/llvm/llvm-project/commit/03bb10bea6edeb6b1cbcb3fc6b590e585ae43ad6
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Clear Frames when changing `disable-language-runtime-unwindplans` (#151208)
This patch uses the "setting changed" callback to clear previously
cached stack frames when
`target.process.disable-language-runtime-unwindplans` is changed. This
is necessary so that changing the setting followed by a `backtrace`
command produces an accurate backtrace.
With this, a user can create a custom command like below in order to
quickly inspect a backtrace created without language plugins.
```
debugger.HandleCommand("settings set target.process.disable-language-runtime-unwindplans true")
debugger.HandleCommand("bt " + command)
debugger.HandleCommand("settings set target.process.disable-language-runtime-unwindplans false")
```
In the future, we may consider implementing this as an option to
`backtrace`. Currently, this process setting is the only way of
affecting the unwinder, and changing the process setting as part of the
backtrace implementation doesn't feel right.
There are no upstream users of this flag, so we cannot write a test for
it here.
Commit: e15b3ef704dec573452f6e318617c10031491030
https://github.com/llvm/llvm-project/commit/e15b3ef704dec573452f6e318617c10031491030
Author: beetrees <b at beetr.ee>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M lldb/bindings/python/python-extensions.swig
M lldb/docs/python_api_enums.rst
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Core/DumpDataExtractor.cpp
M lldb/source/DataFormatters/FormatManager.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/ValueObject/ValueObject.cpp
M lldb/unittests/Core/DumpDataExtractorTest.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb] Add support for displaying `__float128` variables (#98369)
Commit: f8a2ed7aaccd60ed8939dfeb32fc38e05ebeda25
https://github.com/llvm/llvm-project/commit/f8a2ed7aaccd60ed8939dfeb32fc38e05ebeda25
Author: Andrew Lazarev <alazarev at google.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M compiler-rt/test/ubsan_minimal/TestCases/alignment-assumption.c
M compiler-rt/test/ubsan_minimal/TestCases/icall.c
M compiler-rt/test/ubsan_minimal/TestCases/implicit-integer-sign-change.c
M compiler-rt/test/ubsan_minimal/TestCases/implicit-signed-integer-truncation-or-sign-change.c
M compiler-rt/test/ubsan_minimal/TestCases/implicit-signed-integer-truncation.c
M compiler-rt/test/ubsan_minimal/TestCases/implicit-unsigned-integer-truncation.c
M compiler-rt/test/ubsan_minimal/TestCases/local_bounds.cpp
M compiler-rt/test/ubsan_minimal/TestCases/nullptr-and-nonzero-offset.c
M compiler-rt/test/ubsan_minimal/TestCases/override-callback.c
M compiler-rt/test/ubsan_minimal/TestCases/recover-dedup-limit.cpp
M compiler-rt/test/ubsan_minimal/TestCases/recover-dedup.cpp
M compiler-rt/test/ubsan_minimal/TestCases/test-darwin-interface.c
M compiler-rt/test/ubsan_minimal/TestCases/uadd-overflow.cpp
M compiler-rt/test/ubsan_minimal/lit.common.cfg.py
Log Message:
-----------
[ubsan_minimal] Introduce custom substitutions for clang with minimal runtime (#151613)
Make clang calls using custom suffix to allow correct calls without
reading cfg.py. As I see tests for other other specific checks are doing
it too (e.g. %clangxx_asan).
Commit: c7bb105e97208295babd5e5efdc34f4fb72602b5
https://github.com/llvm/llvm-project/commit/c7bb105e97208295babd5e5efdc34f4fb72602b5
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
A 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] Add v_cvt_scale_pk8_* gfx1250 instructions (#151616)
Commit: b5cd8c34a74733763fdc9c5b1386a75c13c155b8
https://github.com/llvm/llvm-project/commit/b5cd8c34a74733763fdc9c5b1386a75c13c155b8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
Log Message:
-----------
[libc] Fix leader calculation when done in wave64 mode
Summary:
Wave 64 mode touches the upper limit of this, which had an off-by-one
error. This caused it to return the same leader which gave an invalid
view of memory.
Commit: b2e53032929ab50fb324b24b0be71354537d55d0
https://github.com/llvm/llvm-project/commit/b2e53032929ab50fb324b24b0be71354537d55d0
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/include/llvm/Frontend/HLSL/RootSignatureMetadata.h
M llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp
M llvm/lib/Target/DirectX/DXILRootSignature.cpp
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-DescriptorTable-Invalid-RangeType.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Error.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor-Invalid-RegisterKind.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-StaticSamplers-Invalid-MaxLod.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-StaticSamplers-Invalid-MinLod.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-StaticSamplers-Invalid-MinLopBias.ll
Log Message:
-----------
[DirectX] Error handling improve in root signature metadata Parser (#149232)
This PR addresses
https://github.com/llvm/llvm-project/pull/144465#issuecomment-3063422828.
Using `joinErrors` and `llvm:Error` instead of boolean values.
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Co-authored-by: Joao Saffran <{ID}+{username}@users.noreply.github.com>
Commit: 7250b66240f18ba16c7a511602dd559d224b37c0
https://github.com/llvm/llvm-project/commit/7250b66240f18ba16c7a511602dd559d224b37c0
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-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-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-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/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
Log Message:
-----------
[VPlan] Create AVL as a phi from TC -> 0 with EVL tail folding (#151481)
This implements the first half of #151459, by changing the AVL so it's
no longer computed as `trip-count - EVL-based IV`, but instead a
separate scalar phi that is decremented by EVL each iteration.
This shortens the dependency chain for computing the AVL and should
eventually allow us to convert the branch condition to `branch-count
avl-next, 0`.
`simplifyBranchConditionForVFAndUF` had to be updated to prevent a
regression because this introduces a VPPhi in the header block.
Commit: 8dfc07cad297c6cc63ed836536ce7395efe1a571
https://github.com/llvm/llvm-project/commit/8dfc07cad297c6cc63ed836536ce7395efe1a571
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
Log Message:
-----------
[RISCV][LV] Merge check lines in bf16/f16 tests. NFC
Now that we fall back to scalar epilogues in #150908 the
non-zvfhmin/zvfbfmin lines should be the same.
Commit: 253a9f2c52b40c3b74f8569c6d0a949ad4a60bf5
https://github.com/llvm/llvm-project/commit/253a9f2c52b40c3b74f8569c6d0a949ad4a60bf5
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Delete IR instruction after test. NFC
This fixes a LeakSanitizer failure on the sanitizer buildbots:
https://lab.llvm.org/buildbot/#/builders/52/builds/10088
Commit: faa4c4c2dc804c31845d8f036345fac00e016f2d
https://github.com/llvm/llvm-project/commit/faa4c4c2dc804c31845d8f036345fac00e016f2d
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocBase.cpp
A llvm/test/CodeGen/AMDGPU/use-after-free-after-cleanup-failed-vreg.ll
Log Message:
-----------
[RegAlloc] Fix use-after-free in `RegAllocBase::cleanupFailedVReg` (#151435)
#128400 introduced a use-after-free bug in
`RegAllocBase::cleanupFailedVReg` when removing intervals from regunits.
The issue is from the `InterferenceCache` in `RAGreedy`, which holds
`LiveRange*`. The current `InterferenceCache` APIs make it difficult to
update it, and there isn't a straightforward way to do that.
Since #128400 already mentions it's not clear about the necessity of
removing intervals from regunits, this PR avoids the issue by simply
skipping that step.
Fixes SWDEV-527146.
Commit: b926f5d923a2b7d60e6ffcbabc49f6fd5e18f894
https://github.com/llvm/llvm-project/commit/b926f5d923a2b7d60e6ffcbabc49f6fd5e18f894
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
R llvm/test/Transforms/LoopVectorize/RISCV/scalable-reductions.ll
Log Message:
-----------
[LV][RISCV] Regenerate reduction tests with UTC. NFC
Previously these tests used optimization remarks to check the chosen VF,
but I don't think thats needed if we can see from the types used in the
vectorized body. We can just use UTC to generate the body instead.
Whilst we're here, also simplify the opt invocation to remove unneeded
options and rename from scalable-reductions.ll -> reductions.ll, seeing
as it's not specifically testing for scalable VFs anymore.
Commit: 9c90f848fda9992ab6294d33665c1e2eb0613c0a
https://github.com/llvm/llvm-project/commit/9c90f848fda9992ab6294d33665c1e2eb0613c0a
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
Log Message:
-----------
[LV][RISCV] Regenerate select-cmp-reduction.ll with UTC. NFC
Simplify the opt invocation, and remove -force-vector-width and the
fixed-length RUN line so we're testing what the loop vectorizer emits in
the default configuration.
Commit: a90d653e5934bbf18581579f00e1716743c85820
https://github.com/llvm/llvm-project/commit/a90d653e5934bbf18581579f00e1716743c85820
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-31 (Thu, 31 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/zilsd.ll
Log Message:
-----------
[RISCV] Add RISCVISD::LD_RV32/SD_RV32 to isWorthFoldingAdd. (#151606)
Commit: d07f48e4da3dd9dd653be85bfe164aa50f36055e
https://github.com/llvm/llvm-project/commit/d07f48e4da3dd9dd653be85bfe164aa50f36055e
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Use m_BinaryOr matcher for clarity (NFC) (#151541)
Commit: 3e2fadf3beff93433f125eb1ea1abe470db5aa12
https://github.com/llvm/llvm-project/commit/3e2fadf3beff93433f125eb1ea1abe470db5aa12
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M libcxx/include/tuple
Log Message:
-----------
[libc++] Simplify the tuple constructors a bit (#150405)
Commit: e20413c045249651f09515808ce89024fde9abbf
https://github.com/llvm/llvm-project/commit/e20413c045249651f09515808ce89024fde9abbf
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M libcxx/include/__hash_table
Log Message:
-----------
[libc++][NFC] Refactor __do_rehash a bit (#151543)
This refactors `__hash_table::__do_rehash` to use early returns and
renames some of the variables.
Commit: f89059140bd54699771fe076da30dd1db060cc93
https://github.com/llvm/llvm-project/commit/f89059140bd54699771fe076da30dd1db060cc93
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Expression/Expression.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/source/Core/Module.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/Expression/Expression.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Expression/IRInterpreter.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
A lldb/test/API/lang/cpp/expr-definition-in-dylib/Makefile
A lldb/test/API/lang/cpp/expr-definition-in-dylib/TestExprDefinitionInDylib.py
A lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.cpp
A lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.h
A lldb/test/API/lang/cpp/expr-definition-in-dylib/main.cpp
M lldb/unittests/Expression/CMakeLists.txt
A lldb/unittests/Expression/ExpressionTest.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][Expression] Encode Module and DIE UIDs into function AsmLabels (#148877)
LLDB currently attaches `AsmLabel`s to `FunctionDecl`s such that that
the `IRExecutionUnit` can determine which mangled name to call (we can't
rely on Clang deriving the correct mangled name to call because the
debug-info AST doesn't contain all the info that would be encoded in the
DWARF linkage names). However, we don't attach `AsmLabel`s for structors
because they have multiple variants and thus it's not clear which
mangled name to use. In the [RFC on fixing expression evaluation of
abi-tagged
structors](https://discourse.llvm.org/t/rfc-lldb-handling-abi-tagged-constructors-destructors-in-expression-evaluator/82816)
we discussed encoding the structor variant into the `AsmLabel`s.
Specifically in [this
thread](https://discourse.llvm.org/t/rfc-lldb-handling-abi-tagged-constructors-destructors-in-expression-evaluator/82816/7)
we discussed that the contents of the `AsmLabel` are completely under
LLDB's control and we could make use of it to uniquely identify a
function by encoding the exact module and DIE that the function is
associated with (mangled names need not be enough since two identical
mangled symbols may live in different modules). So if we already have a
custom `AsmLabel` format, we can encode the structor variant in a
follow-up (the current idea is to append the structor variant as a
suffix to our custom `AsmLabel` when Clang emits the mangled name into
the JITted IR). Then we would just have to teach the `IRExecutionUnit`
to pick the correct structor variant DIE during symbol resolution. The
draft of this is available
[here](https://github.com/llvm/llvm-project/pull/149827)
This patch sets up the infrastructure for the custom `AsmLabel` format
by encoding the module id, DIE id and mangled name in it.
**Implementation**
The flow is as follows:
1. Create the label in `DWARFASTParserClang`. The format is:
`$__lldb_func:module_id:die_id:mangled_name`
2. When resolving external symbols in `IRExecutionUnit`, we parse this
label and then do a lookup by DIE ID (or mangled name into the module if
the encoded DIE is a declaration).
Depends on https://github.com/llvm/llvm-project/pull/151355
Commit: 86916ff0f06b87e98523e05ddb455ecfac210f84
https://github.com/llvm/llvm-project/commit/86916ff0f06b87e98523e05ddb455ecfac210f84
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/RISCV/interleaved-store-with-gap.ll
Log Message:
-----------
[LV] Fix gap mask requirement for interleaved access (#151105)
When interleaved stores contain gaps, a mask is required to skip the
gaps, regardless of whether scalar epilogues are allowed.
This patch corrects the condition under which a gap mask is needed,
ensuring consistency between the legacy and VPlan-based cost models and
avoiding assertion failures.
Related #149981
Commit: 283c47b4c5231a1baf528355f7119a73ac168968
https://github.com/llvm/llvm-project/commit/283c47b4c5231a1baf528355f7119a73ac168968
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
A lld/test/ELF/loongarch-pc-hi20-lo12-got.s
M lld/test/ELF/loongarch-relax-pc-hi20-lo12.s
Log Message:
-----------
[lld][LoongArch] GOT indirection to PC relative optimization (#123743)
In LoongArch, we try GOT indirection to PC relative optimization in
normal or medium code model, whether or not with R_LARCH_RELAX
relocation.
From:
* pcalau12i $a0, %got_pc_hi20(sym_got)
* ld.w/d $a0, $a0, %got_pc_lo12(sym_got)
To:
* pcalau12i $a0, %pc_hi20(sym)
* addi.w/d $a0, $a0, %pc_lo12(sym)
If the original code sequence can be relaxed into a single instruction
`pcaddi`, this patch will not be taken (see
https://github.com/llvm/llvm-project/pull/123566).
The optimization related to GOT is split into two locations because the
`relax()` function is part of an iteration fixed-point algorithm. We
should minimize it to achieve better linker performance.
Note: Althouth the optimization has been performed, the GOT entries
still exists, similarly to AArch64. Eliminating the entries will
increase code complexity.
Commit: 1d7a0fa08ad1e83a19e09788840353fcd00002f7
https://github.com/llvm/llvm-project/commit/1d7a0fa08ad1e83a19e09788840353fcd00002f7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/inline-asm-out-of-bounds-register.ll
Log Message:
-----------
AMDGPU: Move asm constraint physreg parsing to utils (#150903)
Also fixes an assertion on out of bound physical register
indexes.
Commit: 8365ba656297ded7fc927958655df7a3f51c1042
https://github.com/llvm/llvm-project/commit/8365ba656297ded7fc927958655df7a3f51c1042
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Analysis/RetainSummaryManager.cpp
Log Message:
-----------
[Analysis] Avoid creating a temporary instance of std::string (NFC) (#151625)
hasName takes StringRef, so we don't need to create a temporary
instance of std::string.
Commit: 666874a4bdbe5b40c101c16e8c772057a28dc866
https://github.com/llvm/llvm-project/commit/666874a4bdbe5b40c101c16e8c772057a28dc866
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/docs/InternalsManual.rst
Log Message:
-----------
[clang] Proofread InternalsManual.rst (#151626)
Commit: 228e96b28a84828e1720c387a339a7e68dbdc029
https://github.com/llvm/llvm-project/commit/228e96b28a84828e1720c387a339a7e68dbdc029
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/Remarks/RemarkLinker.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Log Message:
-----------
[llvm] Use std::make_optional (NFC) (#151627)
std::make_optional<T> is a lot like std::make_unique<T> in that it
performs perfect forwarding of arguments for T's constructor. As a
result, we don't have to repeat type names twice.
Commit: 491c7bdd5887ea4561b6cbfc07a8ca4a140e871d
https://github.com/llvm/llvm-project/commit/491c7bdd5887ea4561b6cbfc07a8ca4a140e871d
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
MCAsmBackend::applyFixup: Replace Data.getSize() with F.getSize()
to facilitate replacing `MutableArrayRef<char> Data` (fragment content)
with the relocated location. This is necessary to fix the
pointer-overflow sanitizer issue and reland #150846
Commit: a1a3254977eb22e4608069d5280456109d8f1280
https://github.com/llvm/llvm-project/commit/a1a3254977eb22e4608069d5280456109d8f1280
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][test] Fix expected mangling for AsmLabel_CtorDtor test on Windows
Commit: f6161271a369f278dfad8529348a122f309315d6
https://github.com/llvm/llvm-project/commit/f6161271a369f278dfad8529348a122f309315d6
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/CodeGen/AArch64/aarch64-gep-opt.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/split-gep-or-as-add.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/split-gep-sub.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Remove support for arithmetic lowering (#151477)
I don't think there is any benefit to lowering to ptrtoint + arithmetic
+ inttoptr over the newer ptradd lowering. Even if a target does not use
codegen AA, it probably still has IR passes that benefit from correct
representation.
As far as I can tell, no targets actually use this configuration anymore
(they either don't use the LowerGEP option, or they they UseAA and thus
the ptradd lowering).
Commit: d4d2d7d7856258d5d781c4a912046fc7777122e2
https://github.com/llvm/llvm-project/commit/d4d2d7d7856258d5d781c4a912046fc7777122e2
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/gepofconstgepi8.ll
Log Message:
-----------
[InstCombine] Preserve nuw in canonicalizeGEPOfConstGEPI8() (#151533)
Proof: https://alive2.llvm.org/ce/z/4j8U3f
Commit: 6d4a0935c850ec3ddfc70c4ba97b98adc35c676e
https://github.com/llvm/llvm-project/commit/6d4a0935c850ec3ddfc70c4ba97b98adc35c676e
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/test/API/lang/cpp/expr-definition-in-dylib/TestExprDefinitionInDylib.py
Log Message:
-----------
[lldb][test] Skip TestExprDefinitionInDylib on Windows
Currently failing with the following when building the test file:
```
C:\buildbot\as-builder-10\lldb-x86-64\build\bin\clang.exe lib.o -gdwarf -O0 -m64 -IC:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\packages\Python\lldbsuite\test\make/../../../../..//include -IC:/buildbot/as-builder-10/lldb-x86-64/build/tools/lldb/include -IC:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\test\API\lang\cpp\expr-definition-in-dylib -IC:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\packages\Python\lldbsuite\test\make -include C:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\packages\Python\lldbsuite\test\make/test_common.h -fno-limit-debug-info -fuse-ld=lld --driver-mode=g++ -shared -o "lib.dll"
lld-link: warning: section name .debug_abbrev is longer than 8 characters and will use a non-standard string table
lld-link: warning: section name .debug_info is longer than 8 characters and will use a non-standard string table
lld-link: warning: section name .debug_line is longer than 8 characters and will use a non-standard string table
lld-link: warning: section name .debug_str is longer than 8 characters and will use a non-standard string table
C:\buildbot\as-builder-10\lldb-x86-64\build\bin\clang.exe main.o -L. -llib -gdwarf -O0 -m64 -IC:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\packages\Python\lldbsuite\test\make/../../../../..//include -IC:/buildbot/as-builder-10/lldb-x86-64/build/tools/lldb/include -IC:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\test\API\lang\cpp\expr-definition-in-dylib -IC:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\packages\Python\lldbsuite\test\make -include C:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\packages\Python\lldbsuite\test\make/test_common.h -fno-limit-debug-info -fuse-ld=lld --driver-mode=g++ -o "a.out"
lld-link: error: undefined symbol: public: int __cdecl Foo::method(void)
>>> referenced by main.o:(main)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Makefile.rules:531: a.out] Error 1
make: Leaving directory 'C:/buildbot/as-builder-10/lldb-x86-64/build/lldb-test-build.noindex/lang/cpp/expr-definition-in-dylib/TestExprDefinitionInDylib.test'
```
Skip for now
Commit: 0a41e7c87ef910d0124c50354422f3b5290518e9
https://github.com/llvm/llvm-project/commit/0a41e7c87ef910d0124c50354422f3b5290518e9
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
M llvm/test/CodeGen/PowerPC/more-dq-form-prepare.ll
M llvm/test/CodeGen/PowerPC/no-ctr-loop-if-exit-in-nested-loop.ll
M llvm/test/Transforms/LICM/gep-reassociate.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
Log Message:
-----------
[LICM] Do not reassociate constant offset GEP (#151492)
LICM tries to reassociate GEPs in order to hoist an invariant GEP.
Currently, it also does this in the case where the GEP has a constant
offset.
This is usually undesirable. From a back-end perspective, constant GEPs
are usually free because they can be folded into addressing modes, so
this just increases register pressume. From a middle-end perspective,
keeping constant offsets last in the chain makes it easier to analyze
the relationship between multiple GEPs on the same base, especially
after CSE.
The worst that can happen here is if we start with something like
```
loop {
p + 4*x
p + 4*x + 1
p + 4*x + 2
p + 4*x + 3
}
```
And LICM converts it into:
```
p.1 = p + 1
p.2 = p + 2
p.3 = p + 3
loop {
p + 4*x
p.1 + 4*x
p.2 + 4*x
p.3 + 4*x
}
```
Which is much worse than leaving it for CSE to convert to:
```
loop {
p2 = p + 4*x
p2 + 1
p2 + 2
p2 + 3
}
```
Commit: 11943536508719d7de9c60cf8b468b50764c0d7a
https://github.com/llvm/llvm-project/commit/11943536508719d7de9c60cf8b468b50764c0d7a
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/docs/SPIRVUsage.rst
Log Message:
-----------
[LLVM][Docs][SPIRV] Correct `-spirv-ext` option name, reorder (#150423)
The option is `-spirv-ext` not `-spirv-extensions`. Also move the
examples after the description of the option, instead of after the list
of extensions, where its easy to miss when skimming.
---------
Co-authored-by: Nathan Gauër <github at keenuts.net>
Commit: 451912a24a6040798eba752b69ec92c448bffbcf
https://github.com/llvm/llvm-project/commit/451912a24a6040798eba752b69ec92c448bffbcf
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/ScheduleDAG.h
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/PowerPC/PPCMachineScheduler.cpp
Log Message:
-----------
[MachineScheduler] Make cluster check more efficient (#150884)
Commit: 76ce4640735e1f1812c7763addadc5e98691d38a
https://github.com/llvm/llvm-project/commit/76ce4640735e1f1812c7763addadc5e98691d38a
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/Inline/AArch64/sme-pstatesm-attrs-low-threshold.ll
M llvm/test/Transforms/Inline/AArch64/sme-pstatesm-attrs.ll
Log Message:
-----------
[AArch64] Dont inline streaming fn into non-streaming caller (#150595)
Without this change, the following test would fail to compile
with `-march=armv8-a+sme`:
```
void func1(const svuint32_t *in, svuint32_t *out) {
[&]() __arm_streaming { *out = *in; }();
}
```
But in general, it's probably better never to inline
streaming functions into non-streaming functions, because
they will have been marked as 'streaming' for a reason
by the user.
Commit: f9b258c73ae4406864c67c1923d572ec4f86a443
https://github.com/llvm/llvm-project/commit/f9b258c73ae4406864c67c1923d572ec4f86a443
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
A llvm/test/CodeGen/AMDGPU/postra-sched-attribute.ll
Log Message:
-----------
[AMDGPU] Support function attribute to override postRA scheduling direction (#147708)
This patch adds support for controlling the post-RA machine scheduler
direction
(topdown, bottomup, bidirectional) on a per-function basis using the
"amdgpu-post-ra-direction" function attribute.
Commit: c129d65995babf8bf56499c3f8b9b6df073190ef
https://github.com/llvm/llvm-project/commit/c129d65995babf8bf56499c3f8b9b6df073190ef
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/docs/ThinLTO.rst
Log Message:
-----------
[DTLTO][Clang][Docs] Update for COFF support (#149988)
As the COFF linker is usually invoked independently, update the Clang
DTLTO section to show an example. This follows what is done earlier in
the document.
Also some minor fixes and improvements:
- Use generic distributor names to avoid implying anything about what an
Incredibuild distributor may or should support.
- Use subheadings for readability.
- Correct a mis-cased hyperlink.
Commit: 96d117859c1cc3fb81897d3d72f7c4692b7ee930
https://github.com/llvm/llvm-project/commit/96d117859c1cc3fb81897d3d72f7c4692b7ee930
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][test] Fix expected mangling for AsmLabel_CtorDtor test on Windows (again)
Commit: 965231ca0a9a65ec72b5a4bc7e03f3299082536d
https://github.com/llvm/llvm-project/commit/965231ca0a9a65ec72b5a4bc7e03f3299082536d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
Log Message:
-----------
[LV] Replace UncountableEdge with UncountableEarlyExitingBlock (NFC). (#151311)
Only the uncountable exiting BB is used. Store it instead of a piar of
Exiting BB and Exit BB.
PR: https://github.com/llvm/llvm-project/pull/151311
Commit: 673476d96bed306be6ed81a8174f481a9a4b2934
https://github.com/llvm/llvm-project/commit/673476d96bed306be6ed81a8174f481a9a4b2934
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M cross-project-tests/CMakeLists.txt
A cross-project-tests/dtlto/ld-archive-thin.test
M cross-project-tests/lit.cfg.py
M lld/ELF/InputFiles.cpp
A lld/test/ELF/dtlto/archive-thin.test
Log Message:
-----------
[DTLTO][LLD][ELF] Support bitcode members of thin archives (#149425)
This patch adds support for bitcode members of thin archives to DTLTO
(https://llvm.org/docs/DTLTO.html) in ELF LLD.
For DTLTO, bitcode identifiers must be valid paths to bitcode files on
disk. Clang does not support archive inputs for ThinLTO backend
compilations. This patch adjusts the identifier for bitcode members of
thin archives in DTLTO links so that it is the path to the member file
on disk, allowing such members to be supported in DTLTO.
This patch is sufficient to allow for self-hosting an LLVM build with
DTLTO when thin archives are used.
Note: Bitcode members of non-thin archives remain unsupported. This will
be addressed in a future change.
Testing:
- LLD lit test coverage has been added to check that the identifier is
adjusted appropriately.
- A cross-project lit test has been added to show that a DTLTO link can
succeed when linking bitcode members of thin archives.
For the design discussion of the DTLTO feature, see: #126654.
Commit: b0313adefa2dd7b40ad3cf48c926045806af5a5f
https://github.com/llvm/llvm-project/commit/b0313adefa2dd7b40ad3cf48c926045806af5a5f
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Add an option to build SPIR-V targets with the LLVM backend (#151347)
This removes the dependency on an external tool to build the SPIR-V
files. It may be of interest to projects such as Mesa.
Note that the option is off by default as using the SPIR-V backend, at
least on my machine, uses a *lot* of memory and the process is often
killed in a parallelized build. It does complete, however.
Fixes #135327.
Commit: e1706763515dcd50edf67a377386bc6f1e33a6d0
https://github.com/llvm/llvm-project/commit/e1706763515dcd50edf67a377386bc6f1e33a6d0
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
A llvm/test/Transforms/InstCombine/scalable-extract-subvec-elt.ll
Log Message:
-----------
[Instcombine] Combine extractelement from a vector_extract at index 0 (#151491)
Extracting any element from a subvector starting at index 0 is
equivalent to extracting from the original vector, i.e.
extract_elt(vector_extract(x, 0), y) -> extract_elt(x, y)
Commit: 05b16aff0f4d5132799d7d4470ca13db3afe13ae
https://github.com/llvm/llvm-project/commit/05b16aff0f4d5132799d7d4470ca13db3afe13ae
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
Log Message:
-----------
[DAGCombiner] Add combine for vector interleave of splats (#151110)
This patch adds two DAG combines:
1. vector_interleave(splat, splat, ...) -> {splat,splat,...}
2. concat_vectors(splat, splat, ...) -> wide_splat
where all the input splats are identical. Both of these
together enable us to fold
concat_vectors(vector_interleave(splat, splat, ...))
into a wide splat. Post-legalisation we must only do the
concat_vector combine if the wider type and splat operation
is legal.
For fixed-width vectors the DAG combine only occurs for
interleave factors of 3 or more, however it's not currently
safe to test this for AArch64 since there isn't any lowering
support for fixed-width interleaves. I've only added
fixed-width tests for RISCV.
Commit: bcbbb2c986e001e9c357df70ed43c9d998ecd6d2
https://github.com/llvm/llvm-project/commit/bcbbb2c986e001e9c357df70ed43c9d998ecd6d2
Author: Georgiy Samoylov <g.samoylov at syntacore.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/CodeGen/dbg-info-all-calls-described.c
Log Message:
-----------
[clang] Fix clang debug info generation for unprtototyped function (#150022)
Consider this declaration:
`int foo();`
This function is described in LLVM with `clang::FunctionNoProtoType`
class. ([See
description](https://clang.llvm.org/doxygen/classclang_1_1FunctionNoProtoType.html))
Judging by [this
comment](https://github.com/llvm/llvm-project/blob/a1bf0d1394e48894be05d274d3942ff77c35ce87/clang/lib/CodeGen/CGCall.cpp#L159C11-L159C12)
all such functions are treated like functions with variadic number of
parameters.
When we want to [emit debug
info](https://github.com/llvm/llvm-project/blob/0a8ddd396546bec7eaa4c3b7ef2f495e52bca0b8/clang/lib/CodeGen/CGDebugInfo.cpp#L4808)
we have to know function that we calling.
In method
[getCalledFunction()](https://github.com/llvm/llvm-project/blob/0a8ddd396546bec7eaa4c3b7ef2f495e52bca0b8/llvm/include/llvm/IR/InstrTypes.h#L1348)
we compare two types of function:
1. Function that we deduce from calling operand, and
2. Function that we store locally
If they differ we get `nullptr` and can't emit appropriate debug info.
The only thing they differ is: lhs function is variadic, but rhs
function isn't
Reason of this difference is that under RISC-V there is no overridden
function that tells us about treating functions with no parameters.
[Default
function](https://github.com/llvm/llvm-project/blob/0a8ddd396546bec7eaa4c3b7ef2f495e52bca0b8/clang/lib/CodeGen/TargetInfo.cpp#L87)
always return `false`.
This patch overrides this function for RISC-V
Commit: 09dc08b707cf70897a7cb47efba19a14798561b3
https://github.com/llvm/llvm-project/commit/09dc08b707cf70897a7cb47efba19a14798561b3
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/phi.ll
Log Message:
-----------
[InstCombine] Handle repeated users in foldOpIntoPhi()
If the phi is used multiple times in the same user, it will appear
multiple times in users(), in which case make_early_inc_range()
is insufficient to prevent iterator invalidation.
Fixes the issue reported at:
https://github.com/llvm/llvm-project/pull/151115#issuecomment-3141542852
Commit: 7c1b948e30b538803f79ac90c538e04f96470dd3
https://github.com/llvm/llvm-project/commit/7c1b948e30b538803f79ac90c538e04f96470dd3
Author: Nathan Gauër <brioche at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
M llvm/test/CodeGen/SPIRV/logical-struct-access.ll
A llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access-constant-index-1.ll
A llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access-constant-index-2.ll
A llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access.ll
Log Message:
-----------
[SPIR-V] Fix some GEP legalization (#150943)
Pointers and GEP are untyped. SPIR-V required structured OpAccessChain.
This means the backend will have to determine a good way to retrieve the
structured access from an untyped GEP. This is not a trivial problem,
and needs to be addressed to have a robust compiler.
The issue is other workstreams relies on the access chain deduction to
work. So we have 2 options:
- pause all dependent work until we have a good chain deduction.
- submit this limited fix to we can work on both this and other features
in parallel.
Choice we want to make is #2: submitting this **knowing this is not a
good** fix. It only increase the number of patterns we can work with,
thus allowing others to continue working on other parts of the backend.
This patch as-is has many limitations:
- If cannot robustly determine the depth of the structured access from a
GEP. Fixing this would require looking ahead at the full GEP chain.
- It cannot always figure out the correct access indices, especially
with dynamic indices. This will require frontend collaboration.
Because we know this is a temporary hack, this patch only impacts the
logical SPIR-V target. Physical SPIR-V, which can rely on pointer cast
remains on the old method.
Related to #145002
Commit: f04ea2ef1ca11673cd87371ae54dcbdf7dde3cd6
https://github.com/llvm/llvm-project/commit/f04ea2ef1ca11673cd87371ae54dcbdf7dde3cd6
Author: 黃國庭 <we3223 at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
Add m_SelectCCLike matcher to match SELECT_CC or SELECT with SETCC (#149646)
Fix #147282 and Follow-up to #148834
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 7d815c7642ef202741ea27c3aa6a3ffd4113ecf7
https://github.com/llvm/llvm-project/commit/7d815c7642ef202741ea27c3aa6a3ffd4113ecf7
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
Log Message:
-----------
[LV] Remove unused variables after 965231ca0a9a. (NFC)
Clean up unused/dead variables after 965231ca0a9a
(https://github.com/llvm/llvm-project/pull/151311)
Commit: 067f87c5830337a5d9fa8a5ea7f16df7591a8b73
https://github.com/llvm/llvm-project/commit/067f87c5830337a5d9fa8a5ea7f16df7591a8b73
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[lldb][Bazel] Add missing dependency.
Commit: 2b27377b0bf72e4524774dedf4b03521b07606d5
https://github.com/llvm/llvm-project/commit/2b27377b0bf72e4524774dedf4b03521b07606d5
Author: Gao Yanfeng <gaoyanfeng at linux.alibaba.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Support stmatrix intrinsics (#148377)
Add support for the `@llvm.nvvm.stmatrix` intrinsic series. These
correspond to PTX stmatrix operations, as documented in the [PTX ISA
reference](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#warp-level-matrix-store-instruction-stmatrix).
Commit: 51469174074b478e7a5fe0f8c69452b1d6752e30
https://github.com/llvm/llvm-project/commit/51469174074b478e7a5fe0f8c69452b1d6752e30
Author: Lewis Crawford <lcrawford at nvidia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/const-fold-nvvm-unary-arithmetic.ll
Log Message:
-----------
[ConstantFolding] Fix incorrect nvvm_round folding (#151563)
The `nvvm_round` intrinsic should round to the nearest even number in
the case of ties. It lowers to PTX `cvt.rni`, which will "round to
nearest integer, choosing even integer if source is equidistant between
two integers", so it matches the semantics of `rint` (and not `round` as
the name suggests).
Commit: b40e535818ebad8e68fa5672a3621359e3f415c2
https://github.com/llvm/llvm-project/commit/b40e535818ebad8e68fa5672a3621359e3f415c2
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/lit.cfg.py
Log Message:
-----------
[NFC] test/lit.cfg.py formatting (#151218)
Commit: ebe6eba62580592af7065a36b22d929c15291e9a
https://github.com/llvm/llvm-project/commit/ebe6eba62580592af7065a36b22d929c15291e9a
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/test/API/functionalities/tail_call_frames/cross_dso/TestCrossDSOTailCalls.py
M lldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py
Log Message:
-----------
[lldb][test] Un-XFAIL tail_call_frames tests on Linux arm/arm64
These have been XPASSing after
https://github.com/llvm/llvm-project/pull/150022
Commit: 77363fbd7ca24206a991eeb43d5ded54dd52a1f6
https://github.com/llvm/llvm-project/commit/77363fbd7ca24206a991eeb43d5ded54dd52a1f6
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Log Message:
-----------
[mlir][linalg] Add getCollapsedVecType and update vectorization of linalg.unpack (#151503)
This patch introduces a new helper, `getCollapsedVecType`, and updates
`vectorizeAsTensorUnpackOp` to use it. The motivation stems from improving how
`vector.shape_cast` operations are generated when vectorizing `linalg.unpack`.
Previously, the vectorizer relied on
* `tensor::CollapseShapeOp::inferCollapsedType`
to compute the collapsed vector type. This approach is suboptimal
because:
* `inferCollapsedType` lacks awareness of scalable vector flags.
* Linalg vectorization should not depend on Tensor dialect utilities.
Instead of relocating `inferCollapsedType`, we introduce
`getCollapsedVecType` — a lightweight, specialized hook that:
* Assumes no dynamic sizes.
* Handles scalable flags alongside shape dimensions.
This change also reduces temporary variables in
`vectorizeAsTensorUnpackOp` and paves the way for a cleaner update in
#149293.
Commit: ceb2b9c141903c16d76e0b3a0cbeb0e9f3c68d5c
https://github.com/llvm/llvm-project/commit/ceb2b9c141903c16d76e0b3a0cbeb0e9f3c68d5c
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/sve-vscale-combine.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
Log Message:
-----------
[LLVM][DAGCombiner] fold (shl (X * vscale(C0)), C1) -> (X * vscale(C0 << C1)). (#150651)
Commit: 103461f1190e90b141830bc50734874ba954dfe6
https://github.com/llvm/llvm-project/commit/103461f1190e90b141830bc50734874ba954dfe6
Author: Jaeho Kim <oojahooo at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp
A mlir/test/Conversion/GPUToSPIRV/lookup-target-env.mlir
Log Message:
-----------
[mlir][spirv] Fix lookup logic `spirv.target_env` for `gpu.module` (#147262)
The `gpu.module` operation can contain `spirv.target_env` attributes
within an array attribute named `"targets"`. So it accounts for that
case by iterating over the `"targets"` attribute, if present, and
looking up `spirv.target_env`.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: dfbbb744384167bc874985c340149e39c107e37f
https://github.com/llvm/llvm-project/commit/dfbbb744384167bc874985c340149e39c107e37f
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/include/mlir/IR/Operation.h
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
Log Message:
-----------
[MLIR] Introduce a OpWithState class to act as a stream modifier for Operations (NFC) (#151547)
On the model of OpWithFlags, this modifier allows to stream an operation
using a custom AsmPrinter.
Commit: 96f3872dc950e01b9b41fa0c214dbcb78c71eaa8
https://github.com/llvm/llvm-project/commit/96f3872dc950e01b9b41fa0c214dbcb78c71eaa8
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
Log Message:
-----------
[AMDGPU][Scheduler] Delete RegionsWithMinOcc bitvector from scheduler (NFC) (#142361)
The `GCNScheduleDAGMILive`'s `RegionsWithMinOcc` bitvector is only used
by the `UnclusteredHighRPStage`. Its presence in the scheduler's state
forces us to maintain its value throughout scheduling even though it is
of no use to the iterative scheduling process itself. At any point
during scheduling it is possible to cheaply compute the occupancy
induced by a particular register pressure. Furthermore, the field
doesn't appear to be updated correctly throughout scheduling i.e., bits
corresponding to regions at minimum occupancy are not always set in the
vector.
This removes the bitvector from `GCNScheduleDAGMILive`.
`UnclusteredHighRPStage::initGCNRegion` now directly computes the
occupancy of possibly reschedulable regions instead of querying the
vector. Since it is the most expensive check, it is done last in the
list.
Commit: 6a8a279882e321e5e64ef8a0a2a73d79ccfb46cb
https://github.com/llvm/llvm-project/commit/6a8a279882e321e5e64ef8a0a2a73d79ccfb46cb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/CodeGen/ARM/nop_concat_vectors.ll
Log Message:
-----------
[ARM] nop_concat_vectors.ll - regenerate test checks
Commit: 5ea945abfed10b4a6f316a2d4268e30df71fac8c
https://github.com/llvm/llvm-project/commit/5ea945abfed10b4a6f316a2d4268e30df71fac8c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/udivrem24.ll
Log Message:
-----------
[AMDGPU] udivrem24.ll - regenerate test checks
Commit: f9088f1eb5647cafb63b6cd42df339e19735d9c6
https://github.com/llvm/llvm-project/commit/f9088f1eb5647cafb63b6cd42df339e19735d9c6
Author: Iris Shi <0.0 at owo.li>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/test/Analysis/builtin_assume.cpp
Log Message:
-----------
[static analyzer] Fix crash on parenthesized expression in assume attribute (#151682)
- Closes #151529
`ParenExpr` should be ignored before reaching `ExprEngine::Visit`.
Failing to do so triggers the assertion.
Commit: 1023f6c9db6c722fd0f8d631b114419cd522594f
https://github.com/llvm/llvm-project/commit/1023f6c9db6c722fd0f8d631b114419cd522594f
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[mlir][tosa] Support boolean types for clamp folder (#151653)
This PR fixes several bugs in `ClampIsNoOp` pattern.
- static shape check is no need.
- ensures i1 values are zero extended to support fold boolean types
clamp.
Fixes #130016.
Commit: 1c5e6199a166b70ca9cd2329b6fb3d1d470022dd
https://github.com/llvm/llvm-project/commit/1c5e6199a166b70ca9cd2329b6fb3d1d470022dd
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Frontend/FrontendAction.cpp
Log Message:
-----------
[Clang] Flush minimization hints after writing (#151522)
This helps to get well-formed output if Clang crashes after that point.
Commit: f48a8da34292b367ba8a5e7b25065172df966848
https://github.com/llvm/llvm-project/commit/f48a8da34292b367ba8a5e7b25065172df966848
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/CodeGen/PowerPC/aix-lower-arbitrary-sized-ints.ll
Log Message:
-----------
[AIX] Handle arbitrary sized integers when lowering formal arguments passed on the stack (#149351)
When arbitrary sized (non-simple type, or non-power of two types)
integers are passed on the stack, these integers are not handled when
lowering formal arguments on AIX as we always assume we will encounter
simple type integers.
However, it is possible for frontends to generate arbitrary sized
immediate values in IR. Specifically in rustc, it will generate an
integer value in LLVM IR for small structures that are less than a
pointer size, which is done for optimization purposes for the Rust ABI.
For example, if a Rust structure of three characters is passed into
function on the stack,
```
struct my_struct {
field1: u8,
field2: u8,
field3: u8,
}
```
This will generate an `i24` type in LLVM IR.
Currently, it is not obvious for the backend to distinguish an integer
versus something that wasn't an integer to begin with (such as a
struct), and the latter case would not have an extend on the parameter.
Thus, this PR allows us to perform a truncation and extend on integers,
both non-simple and simple types.
Commit: d8ca85a184c0fb511fe6483c4c24e48b5b1eb07a
https://github.com/llvm/llvm-project/commit/d8ca85a184c0fb511fe6483c4c24e48b5b1eb07a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][ExprConst] Remove Loc param (#151461)
The Loc param to these functions was weird and not always set in error
cases. It wasn't reliable to use.
This was almost entirely unused inside of clang and the one call site
that used the returned source location doesn't make a difference in
practice.
Commit: c0591477ac99bf8ae51ce116a6471420f128ac9f
https://github.com/llvm/llvm-project/commit/c0591477ac99bf8ae51ce116a6471420f128ac9f
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/wsloop-simd.f90
Log Message:
-----------
[flang][OpenMP] Support delayed privatisation for composite do simd (#150979)
Implement the lowering for delayed privatisation for composite "do simd"
constructs. Fixes new crashes previously masked by simd information on
composite constructs being ignored, such as llvm#150975.
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: a361cde4421540e7ba3d6cdae0ef6e2860e126d8
https://github.com/llvm/llvm-project/commit/a361cde4421540e7ba3d6cdae0ef6e2860e126d8
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/distribute-simd.f90
Log Message:
-----------
[flang][OpenMP] Support delayed privatisation for composite distribute simd (#151169)
Implement the lowering for delayed privatisation for composite
"distibute simd"constructs. Fixes new crashes previously masked by simd
information on composite constructs being ignored.
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 48ea3e425bb97b73a2c3117fdcd55fe96314ab1c
https://github.com/llvm/llvm-project/commit/48ea3e425bb97b73a2c3117fdcd55fe96314ab1c
Author: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Target/SPIRV/constant.mlir
Log Message:
-----------
[mlir][spirv] Enable (de)serialization of TensorARM to/from OpConstan… (#151485)
…tNull
This patch enables (de)serialization to/from OpConstantNull for null
TensorARM
---------
Signed-off-by: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Commit: 812b982e3642354660103d694e12ceb355c14e2e
https://github.com/llvm/llvm-project/commit/812b982e3642354660103d694e12ceb355c14e2e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/hip-offload-compress-zlib.hip
M clang/test/Driver/hip-offload-compress-zstd.hip
Log Message:
-----------
[HIP] Fix compression arguments being passed to linker wrapper (#151591)
Summary:
The new driver's behavior forwards all unrecognized command line
arguments to the host linker. It only knew `--compress` so when
`-compress` was passed it didn't forward it correctly. This patch
changes the spelling because multi word arguments should have two
dashes.
Commit: 803a50aa0547fdbcd661c54f19de0c155a23d50d
https://github.com/llvm/llvm-project/commit/803a50aa0547fdbcd661c54f19de0c155a23d50d
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Frontend/FrontendAction.cpp
M clang/test/Frontend/dump-minimization-hints.cpp
Log Message:
-----------
[Clang] Dump minimization hints for namespaces (#151534)
Unlike other declarations, these cover two ranges:
- from `namespace/inline namespace` to the opening `{`,
- the closing `}`.
This allows to mark the declarations inside the namespace itself
independently.
Commit: c569c1f15fdd1e75e7ef15503f78d53029817d79
https://github.com/llvm/llvm-project/commit/c569c1f15fdd1e75e7ef15503f78d53029817d79
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/include/llvm/Support/DebugLog.h
M llvm/unittests/Support/DebugLogTest.cpp
M mlir/lib/Rewrite/PatternApplicator.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[MLIR] Migrate pattern application / dialect conversion to the LDBG logging format (#150991)
This prefix the output with the DEBUG_TYPE.
Dialect conversion is using a ScopedPrinter, we insert the
raw_ldbg_ostream to consistently prefix each new line.
Commit: ae6a9ce0006b0590414f1702631bd0316011b888
https://github.com/llvm/llvm-project/commit/ae6a9ce0006b0590414f1702631bd0316011b888
Author: Piotr Sobczak <piotr.sobczak at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M llvm/test/CodeGen/AMDGPU/mad_u64_u32.ll
Log Message:
-----------
[AMDGPU] Update tests (#151688)
Fix two minor issues:
- Add double quote
- Remove unused prefix
Commit: 0b9470b329103bcdfe3578d99664974d2a53bf8d
https://github.com/llvm/llvm-project/commit/0b9470b329103bcdfe3578d99664974d2a53bf8d
Author: woruyu <99597449+woruyu at users.noreply.github.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb-dap] support moduleId in the stackTrace response (#149774)
This PR resolves https://github.com/llvm/llvm-project/issues/149316
---------
Co-authored-by: Ebuka Ezike <yerimyah1 at gmail.com>
Commit: 1ee1bddd741982b01e2ac37f3778e5e80a11423d
https://github.com/llvm/llvm-project/commit/1ee1bddd741982b01e2ac37f3778e5e80a11423d
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
Log Message:
-----------
[flang][Evaluate] OperationCode cleanup, fix for Constant<T> (#151566)
Make the OperationCode overloads take the derived operation instead of
the Operation base class instance. This makes them usable from visitors
of "Expr<T>.u".
Also, fix small bug: OperationCode(Constant<T>) shoud be "Constant".
Commit: 6533ad04edcbc02d012cdb181d8745ca0d2f2e75
https://github.com/llvm/llvm-project/commit/6533ad04edcbc02d012cdb181d8745ca0d2f2e75
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/openmp-utils.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Parser/OpenMP/affinity-clause.f90
M flang/test/Parser/OpenMP/allocators-unparse.f90
M flang/test/Parser/OpenMP/atomic-compare.f90
M flang/test/Parser/OpenMP/atomic-end.f90
M flang/test/Parser/OpenMP/block-construct.f90
M flang/test/Parser/OpenMP/construct-prefix-conflict.f90
M flang/test/Parser/OpenMP/defaultmap-clause.f90
M flang/test/Parser/OpenMP/defaultmap-unparse.f90
M flang/test/Parser/OpenMP/dispatch.f90
M flang/test/Parser/OpenMP/if-clause.f90
M flang/test/Parser/OpenMP/in-reduction-clause.f90
M flang/test/Parser/OpenMP/map-modifiers-v60.f90
M flang/test/Parser/OpenMP/map-modifiers.f90
M flang/test/Parser/OpenMP/masked-unparse.f90
M flang/test/Parser/OpenMP/master-unparse.f90
M flang/test/Parser/OpenMP/openmp6-directive-spellings.f90
M flang/test/Parser/OpenMP/proc-bind.f90
M flang/test/Parser/OpenMP/scope.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Parser/OpenMP/task-reduction-clause.f90
M flang/test/Parser/OpenMP/task.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/symbol08.f90
Log Message:
-----------
[flang][OpenMP] Make all block constructs share the same structure (#150956)
The structure is
- OmpBeginDirective (aka OmpDirectiveSpecification)
- Block
- optional<OmpEndDirective> (aka optional<OmpDirectiveSpecification>)
The OmpBeginDirective and OmpEndDirective are effectively different
names for OmpDirectiveSpecification. They exist to allow the semantic
analyses to distinguish between the beginning and the ending of a block
construct without maintaining additional context.
The actual changes are in the parser: parse-tree.h and openmp-parser.cpp
in particular. The rest is simply changing the way the directive/clause
information is accessed (typically for the simpler).
All standalone and block constructs now use OmpDirectiveSpecification to
store the directive/clause information.
Commit: 9af2c21be4bc949bfa200eac55035f786c7c3f98
https://github.com/llvm/llvm-project/commit/9af2c21be4bc949bfa200eac55035f786c7c3f98
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/atan2f.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atan2f.h
A libc/src/__support/math/atan2f_float.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atan2f.cpp
R libc/src/math/generic/atan2f_float.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor atan2f implementation to header-only in src/__support/math folder. (#150993)
Part of #147386
in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 3eda63c958bdb8f95547665492264e5d5f28ab35
https://github.com/llvm/llvm-project/commit/3eda63c958bdb8f95547665492264e5d5f28ab35
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/Analysis/TypeBasedAliasAnalysis/gvn-nonlocal-type-mismatch.ll
M llvm/test/Transforms/GVN/PRE/pre-after-rle.ll
M llvm/test/Transforms/GVN/PRE/rle.ll
Log Message:
-----------
[GVN] Add MemorySSA coverage to tests (NFC)
Test check lines have been regenerated by ensuring parity between
MemDep and MemorySSA, while migrating towards the latter.
Commit: 6da1a0908a975a55adb5eae293b37ae0a850b21d
https://github.com/llvm/llvm-project/commit/6da1a0908a975a55adb5eae293b37ae0a850b21d
Author: veera <veera at efficient.computer>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/docs/CommandGuide/opt.rst
Log Message:
-----------
[Docs] Update Opt's Option to Specify Pass Pipeline (NFC) (#148402)
Since the new pass manager, we use `--passes=<string>` to specify the
pass pipeline instead of the `-{passname}` syntax.
Commit: 2ae996cbbe92f006d711eeeb8f29e0946fc1c1e8
https://github.com/llvm/llvm-project/commit/2ae996cbbe92f006d711eeeb8f29e0946fc1c1e8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/test/Analysis/LoopAccessAnalysis/early-exit-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
Log Message:
-----------
[LAA] Support assumptions in evaluatePtrAddRecAtMaxBTCWillNotWrap (#147047)
This patch extends the logic added in
https://github.com/llvm/llvm-project/pull/128061 to support
dereferenceability information from assumptions as well.
Unfortunately both assumption cache and the dominator tree need to be
threaded through multiple layers to make them available where needed.
PR: https://github.com/llvm/llvm-project/pull/147047
Commit: 03fd5f125b61ad6e80eb589b52db0bee22bdd540
https://github.com/llvm/llvm-project/commit/03fd5f125b61ad6e80eb589b52db0bee22bdd540
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/dynamic_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
[mlir][tosa] Enable Constant Operand Check by Default in TOSA Validation Pass (#150598)
Previous behaviour was to only run the check for constant operands when
the "strict-op-spec-alignment" check was enabled. However, this type of
check seems more generally useful without this option enabled. For
example, tosa-to-linalg doesn't enable the "strict-op-spec-alignment"
option when running the tosa-validate pass, but it does expect operands
to be constant.
By enabling this type of checking by default, lowering that don't
support non constant operands and don't use the
"strict-op-spec-alignment" option will fail early, rather than later in
the lowering pipeline.
Should a use-case need to disable this type of checking,
`--tosa-validate="extension=dynamic"` can be used.
Commit: e0fa6569c836a57a64d71ce53521da59112810bf
https://github.com/llvm/llvm-project/commit/e0fa6569c836a57a64d71ce53521da59112810bf
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Add getCondCode() helper (NFC) (#150521)
Follow-up to #150313.
Commit: c300a99ea89568e18ce7207e42501c79d2b48b92
https://github.com/llvm/llvm-project/commit/c300a99ea89568e18ce7207e42501c79d2b48b92
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use MapVector for InstsToScalarize for deterministic iter order (NFC)
We iterate over InstsToScalarize when printing costs, and currently the
iteration order is not deterministic. Currently no tests check the
output with multiple instructions in InstsToScalarize, but those will
come soon.
Commit: c4c0a597414316d30a209dab1012b96d130dc545
https://github.com/llvm/llvm-project/commit/c4c0a597414316d30a209dab1012b96d130dc545
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/operands-to-args-lifetimes.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
[llvm-reduce] Do not convert lifetime operand to argument (#151694)
The lifetime argument is now required to be an alloca, so do not try to
convert it to a function argument.
The reduction is now going to leave behind an unused alloca with
lifetime markers, which should be cleaned up separately.
I'd say this fixes https://github.com/llvm/llvm-project/issues/93713. It
doesn't remove the lifetime markers as the issue suggests, but at least
they're now not going to be on the argument.
Commit: 3d7a3a1ef4844ad0735865bd5bec8ecd577de955
https://github.com/llvm/llvm-project/commit/3d7a3a1ef4844ad0735865bd5bec8ecd577de955
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
Log Message:
-----------
[NFC][arm_sve.td] Remove StructLoad/Store classes and improve tabification.
Commit: 022039e4978991bd15263a78122166c0d3def8bb
https://github.com/llvm/llvm-project/commit/022039e4978991bd15263a78122166c0d3def8bb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
Log Message:
-----------
[SPIRV] Fix a warning
This patch fixes:
llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp:642:16: error: unused
variable 'StructSize' [-Werror,-Wunused-variable]
Commit: 183b38078a51714bbcbeaabfa3cc84670cd575f8
https://github.com/llvm/llvm-project/commit/183b38078a51714bbcbeaabfa3cc84670cd575f8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CodeGenerator.rst
M llvm/docs/CommandGuide/llvm-bcanalyzer.rst
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/docs/CommandGuide/llvm-ifs.rst
M llvm/docs/CommandGuide/llvm-locstats.rst
M llvm/docs/CommandGuide/llvm-mca.rst
M llvm/docs/CommandGuide/llvm-profdata.rst
M llvm/docs/CommandGuide/llvm-symbolizer.rst
M llvm/docs/DirectX/DXContainer.rst
M llvm/docs/Frontend/PerformanceTips.rst
M llvm/docs/FuzzingLLVM.rst
M llvm/docs/GettingStarted.rst
M llvm/docs/GlobalISel/GMIR.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/GlobalISel/Pipeline.rst
M llvm/docs/HowToUpdateDebugInfo.rst
M llvm/docs/JITLink.rst
M llvm/docs/LangRef.rst
M llvm/docs/Lexicon.rst
M llvm/docs/MIRLangRef.rst
M llvm/docs/PDB/CodeViewTypes.rst
M llvm/docs/SymbolizerMarkupFormat.rst
M llvm/docs/WritingAnLLVMBackend.rst
M llvm/docs/WritingAnLLVMPass.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl10.rst
Log Message:
-----------
[llvm] Proofread *.rst (#151087)
This patch hyphenates words that are used as adjecives, such as:
- architecture specific
- human readable
- implementation defined
- language independent
- language specific
- machine readable
- machine specific
- target independent
- target specific
Commit: b6cfa023b4fda5093ebc3672c26c00abbd8380b6
https://github.com/llvm/llvm-project/commit/b6cfa023b4fda5093ebc3672c26c00abbd8380b6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M bolt/lib/Core/Exceptions.cpp
Log Message:
-----------
[BOLT] Use std::optional::value_or (NFC) (#151628)
Commit: 33625f7cb395a3664b81f1327868828d2e51fa46
https://github.com/llvm/llvm-project/commit/33625f7cb395a3664b81f1327868828d2e51fa46
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/source/Interpreter/OptionArgParser.cpp
Log Message:
-----------
[lldb] Use std::optional::value_or (NFC) (#151629)
Commit: d10dc67fc388fa26bf5b83f36fb12aba010c074f
https://github.com/llvm/llvm-project/commit/d10dc67fc388fa26bf5b83f36fb12aba010c074f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopUnroll/partial-unroll-reductions.ll
Log Message:
-----------
[LoopUnroll] Add additional reduction unroll tests for #149470.
Add additional tests from https://github.com/llvm/llvm-project/pull/149470.
Commit: 89e4d9f905f7abbf5803c011ab6fba26796ced30
https://github.com/llvm/llvm-project/commit/89e4d9f905f7abbf5803c011ab6fba26796ced30
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M flang/lib/Lower/Mangler.cpp
A flang/test/Lower/parametrized-derived-types.f90
Log Message:
-----------
[Flang] Fix crash with parametrized derived types usage (#150289)
The current mangleName implementation doesn't take a FoldingContext,
which prevents the proper evaluation of expressions containing parameter
references to an integer constant. Since parametrized derived types are
not yet implemented, the compiler will crash there in some cases (see
example in issue #127424).
This is a workaround so that doesn't happen until the feature is
properly implemented.
Fixes #127424
Commit: 1e8b65d8cdb38cb7aba92a459a65abaf4a213593
https://github.com/llvm/llvm-project/commit/1e8b65d8cdb38cb7aba92a459a65abaf4a213593
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
Log Message:
-----------
[clang][bytecode][NFC] Add a FIXME comment for heap allocations (#151700)
Commit: 6b7a8e9015fad3f73b37e517d9189cbf98feb5d1
https://github.com/llvm/llvm-project/commit/6b7a8e9015fad3f73b37e517d9189cbf98feb5d1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/test/Driver/crash-report-modules.m
Log Message:
-----------
[clang] Remove use of %T from crash-report-modules.m (#151615)
This patch removes the use of %T from crash-report-modules.m. %T has
been deprecated for about seven years, and is to be avoided as it can
lead to races between tests.
Posting this one as a separate patch given it was explicitly ported to
%T in 5c268f078ddbaa7cc1e9ea0ef658eb90563ff5db. Given
36bb47c70802629df98276ce90b0f8163f959e28 was landed seven years ago to
completely disable the test on Windows due to continued failures, I
think it should be fine to just leave this test unsupported on Windows.
Commit: be03d257cdc29172a7b4b35f85d3242fddba1d43
https://github.com/llvm/llvm-project/commit/be03d257cdc29172a7b4b35f85d3242fddba1d43
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
A clang/test/Analysis/element-region-address-space.c
Log Message:
-----------
[analyzer] Retain address space information in getElementRegion (#151370)
The factory method `MemRegionManager::getElementRegion()` is the main
way of constructing `ElementRegion` objects, which are widespread in the
analysis and may represent array elements (as lvalues), pointer
arithmetic and type conversions.
This factory method used to strip all qualifiers from the type
associated with the element (after canonicalizing it), but the address
space qualifier can affect the size of a pointer type, so stripping it
caused an assertion failure (in `evalBinOpLL`):
clang: clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp:785: void
assertEqualBitWidths(clang::ento::ProgramStateRef, clang::ento::Loc,
clang::ento::Loc): Assertion `RhsBitwidth == LhsBitwidth && "RhsLoc and
LhsLoc bitwidth must be same!"' failed.
---------
Co-authored-by: Vince Bridgers <vince.a.bridgers at ericsson.com>
Commit: c5459a0b57cbaacaca356a59148e2252d124b47b
https://github.com/llvm/llvm-project/commit/c5459a0b57cbaacaca356a59148e2252d124b47b
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/lit.cfg.py
Log Message:
-----------
Ignore FileCheck when profcheck is enabled (#151214)
When profcheck is enabled (presumably on a specific build bot), we want to ignore FileCheck because we're only interested in profile validation, and some tests are sensitive to the precise IR output, which profile validation alters slightly by inserting profile metadata.
Issue #147390
Commit: 5f2a8cd9a685935726421fd28a42b61c303aef27
https://github.com/llvm/llvm-project/commit/5f2a8cd9a685935726421fd28a42b61c303aef27
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Replace Python APIs with their stable equivalent (#151618)
Commit: 73ce0aca72348a80dc2c2175516a0993ab8d6be3
https://github.com/llvm/llvm-project/commit/73ce0aca72348a80dc2c2175516a0993ab8d6be3
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lld/test/ELF/dtlto/archive-thin.test
Log Message:
-----------
[Test] Adjust quoting in archive-thin.test for spaces in paths (#151707)
As suggested in review (see: #149425), I believed that using single
quotes was a nicer quoting scheme that correctly handled paths with
spaces. Alas, build bot failures have demonstrated that this is not the
case.
Revert to the original quoting scheme (see: #146749).
Commit: 6ba25c1a565014bc94eb79b11e391b01c197659e
https://github.com/llvm/llvm-project/commit/6ba25c1a565014bc94eb79b11e391b01c197659e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/DebugInfo/PDB/obj-globalhash.test
M llvm/test/Examples/OrcV2Examples/lljit-with-thinlto-summaries.test
M llvm/test/ExecutionEngine/JITLink/x86-64/MachO_foo-in-weak-dylib.s
M llvm/test/MC/AArch64/ELF_ARM64_large-relocations.s
M llvm/test/Object/archive-darwin-duplicates.test
M llvm/test/TableGen/GlobalISelEmitter/ContextlessPredicates.td
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitter/HwModes.td
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/amdgpu-no-merge-comments.test
M llvm/test/tools/dsymutil/X86/swift-ast-x86_64.test
M llvm/test/tools/llvm-dwarfdump/dump_dwo.test
M llvm/test/tools/llvm-libtool-darwin/L-and-l.test
M llvm/test/tools/llvm-objcopy/COFF/dump-section.test
Log Message:
-----------
[llvm] Remove uses of %T in tests (#151621)
This patch removes all uses of %T from within LLVM tests. %T has been
deprecated for about seven years and use is not advised given it is not
unique per test and can thus lead to races. The goal of this is to
eventually remove support for %T from lit.
Commit: 5a586375aa3a128dadc9473cfa196bf8588c2a82
https://github.com/llvm/llvm-project/commit/5a586375aa3a128dadc9473cfa196bf8588c2a82
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/test/Analysis/undef-call.c
M clang/test/CodeGen/thinlto_backend.ll
M clang/test/CodeGenCXX/module-intializer-pmf.cpp
M clang/test/CodeGenCXX/profile-remap.cpp
M clang/test/Driver/HLSL/metal-converter.hlsl
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/check-time-trace-ParseDeclarationOrFunctionDefinition.cpp
M clang/test/Driver/cl-showfilenames.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/mingw-sysroot.cpp
M clang/test/Modules/implicit-module-header-maps.cpp
M clang/test/Preprocessor/lang-std.cpp
Log Message:
-----------
[clang] Remove %T from tests (#151614)
This patch removes %T from clang lit tests. %T has been deprecated for
about seven years and is not reccomended as it is not unique to each
test, which can lead to races. This patch is intended to remove usage in
tree with the end goal of removing support for %T within lit.
Commit: 89c1da6f78842feaa5fb2adae4a813384a2bbcbe
https://github.com/llvm/llvm-project/commit/89c1da6f78842feaa5fb2adae4a813384a2bbcbe
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/.clang-tidy
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Enable `readability-avoid-return-with-void-value` check in the codebase (#151356)
Commit: e7e74945a6c77349963e03ba42989faad715b6bc
https://github.com/llvm/llvm-project/commit/e7e74945a6c77349963e03ba42989faad715b6bc
Author: Dan Blackwell <dan_blackwell at apple.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M compiler-rt/lib/asan/asan_mac.cpp
Log Message:
-----------
[TSan] Fix asan_mac.cpp function pointer cast warnings (#151517)
Fixes these compiler warnings:
```
.../llvm-project/compiler-rt/lib/asan/asan_mac.cpp:252:4: warning: cast from 'dispatch_function_t' (aka 'void (*)(void *)') to 'void (*)(void *, size_t)' (aka 'void (*)(void *, unsigned long)') converts to incompatible function type [-Wcast-function-type-mismatch]
252 | ((void (*)(void *, size_t))asan_ctxt->func)(asan_ctxt->block, iteration);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.../llvm-project/compiler-rt/lib/asan/asan_mac.cpp:259:32: warning: cast from 'void (*)(void *, size_t)' (aka 'void (*)(void *, unsigned long)') to 'dispatch_function_t' (aka 'void (*)(void *)') converts to incompatible function type [-Wcast-function-type-mismatch]
259 | alloc_asan_context(ctxt, (dispatch_function_t)work, &stack);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
```
Commit: 23bcc239ac5730ef43815364ded12f2177502567
https://github.com/llvm/llvm-project/commit/23bcc239ac5730ef43815364ded12f2177502567
Author: Dan Blackwell <dan_blackwell at apple.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
Log Message:
-----------
[TSan] Fix tsan_rtl_access printf type warnings (#151508)
When compiling TSan I currently get a handful of warnings like this:
"warning: format specifies type 'void *' but the argument has type 'X
*'". This patch adds the necessary casts to fix them.
Commit: d204fdcc231667090a327c444612ff0798f987e1
https://github.com/llvm/llvm-project/commit/d204fdcc231667090a327c444612ff0798f987e1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/vect.stats.ll
Log Message:
-----------
[LV] Add countable multi-exit test to vec.stats.ll
Currently the multi-exit loops with all countable exits are considered
vectorized with early exit, while that terminology is used for loops we
performed early-exit vectorization, instead of requring a scalar
epilogue.
Commit: d7c75629b27ce9fbe4f423247fcd2af9e038ef01
https://github.com/llvm/llvm-project/commit/d7c75629b27ce9fbe4f423247fcd2af9e038ef01
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][ExprConst] Call `FastEvaluateAsRValue` in `isCXX11ConstantExpr` (#151466)
This was one case where we didn't call `FastEvaluateAsRValue` before
going through `EvaluateAsRValue`.
Also replace the `EvalResult` parameter with an `APValue` one, since
`FastEvaluateAsRVaule` only needs that.
Small gains:
https://llvm-compile-time-tracker.com/compare.php?from=112af8e62e734938547d50eeb7b416c8dd666f45&to=b2ea804b9e22b7f37eb1b07b01c0a8057275fe4a&stat=instructions:u
Commit: 4a509f853fa4821ecdb0f6bc3b90ddd48794cc8c
https://github.com/llvm/llvm-project/commit/4a509f853fa4821ecdb0f6bc3b90ddd48794cc8c
Author: A. Jiang <de34 at live.cn>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/tuple
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/eq.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/lt.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/size_incompatible_three_way.compile.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/three_way.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Implement comparison operators for `tuple` added in C++23 (#148799)
And constrain the new `operator==` since C++26.
This patch implements parts of P2165R4, P2944R3, and a possibly improved
resolution of LWG3882. Currently, libstdc++ and MSVC STL constrain the
new overloads in the same way.
Also set feature-test macro `__cpp_lib_constrained_equality` and add
related release note, as P2944R3 will completed with this patch.
Fixes #136765
Fixes #136770
Fixes #105424
Commit: a96d8aed984210fedcee2ff1c7d7968e72843191
https://github.com/llvm/llvm-project/commit/a96d8aed984210fedcee2ff1c7d7968e72843191
Author: James Newling <james.newling at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/canonicalize/vector-from-elements.mlir
A mlir/test/Dialect/Vector/canonicalize/vector-splat.mlir
M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
Log Message:
-----------
[mlir][vector] vector.splat and vector.broadcast folding/canonicalizing parity (#150284)
This PR ensures parity in folding/canonicalizing of vector.broadcast
(from a scalar) and vector.splat. This means that by using
vector.broadcast instead of vector.splat (which is currently
deprecated), there is no loss in optimizations performed. All tests
which were previously checking folding/canonicalizing of vector.splat
are now done for vector.broadcast. The vector.splat canonicalization
tests are now in a separate file, ready for removal when, in the future,
we remove vector.splat completely.
This PR also adds a canonicalizer to vector.splat to always convert it
to vector.broadcast. This is to reduce the 'traffic' through
vector.splat.
There is a chance that this PR will break downstream users who create/expect
for vector.splat. Changing all such logic to work just vector.broadcast instead
should fix.
Commit: e7200c734df9ac75c07923823d57f320ac03fe67
https://github.com/llvm/llvm-project/commit/e7200c734df9ac75c07923823d57f320ac03fe67
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/min-max.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
A llvm/test/Transforms/LoopVectorize/AArch64/pr151664-cost-hoisted-vector-scalable.ll
Log Message:
-----------
[LV] Pre-commit test for #151664 (#151671)
Hoisted vector instructions are costed incorrectly.
Commit: 25c07763f76700fdfe8fa568ae2b1e36bc8a7e84
https://github.com/llvm/llvm-project/commit/25c07763f76700fdfe8fa568ae2b1e36bc8a7e84
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
A clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
A clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
A clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[OpenACC][CIR] Implement 'private' clause lowering. (#151360)
The private clause is the first with 'recipes', so a lot of
infrastructure is included here, including some MLIR dialect changes
that allow simple adding of a privatization. We'll likely get similar
for firstprivate and reduction.
Also, we have quite a bit of infrastructure in clause lowering to make
sure we have most cases we could think of covered.
At the moment, ONLY private is implemented, so all it requires is an
'init' segment (that doesn't call any copy operations), and potentially
a 'destroy' segment. However, actually calling 'init' functions on each
of the elements in them are not properly implemented, and will be in a
followup patch.
This patch implements all of that, and adds tests in a way that will be
useful for firstprivate as well.
Commit: 2f33b01651b1041682bab363e556ff1a396262fc
https://github.com/llvm/llvm-project/commit/2f33b01651b1041682bab363e556ff1a396262fc
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/lib/Lower/Bridge.cpp
Log Message:
-----------
[flang] Ensure lowering diagnostic handler does not outlive lowering (#151608)
When the LoweringBridge is created, it registers an MLIR Diagnostics
handler with the MLIRContext. However, it never deregisters it once
lowering is finished.
This fixes this particular scenario. It also makes it so that the
Diagnostics handler is optional.
Commit: 96d1571a2fc68061b3e007d0502c49923363ba49
https://github.com/llvm/llvm-project/commit/96d1571a2fc68061b3e007d0502c49923363ba49
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/CIR/CIRGenerator.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
Log Message:
-----------
[CIR] Add diagnostic for NYI AST visitor handlers (#151561)
A couple of handlers that were missing from the CIRGenerator AST visitor
allowed important features to be silently ignored during CIR generation.
This change adds these handlers with diagnostics to report that they are
not yet handled (except in the case where only debug information is
missed).
Commit: 17327482f045b7119e116320db3e9c12fcf250ae
https://github.com/llvm/llvm-project/commit/17327482f045b7119e116320db3e9c12fcf250ae
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
A clang/test/Analysis/engine/gh151711.cpp
Log Message:
-----------
[Analyzer] No longer crash with VLA operands to unary type traits (#151719)
sizeof was handled correctly, but __datasizeof and _Countof were not.
Fixes #151711
Commit: 3d098f78bfa82bfae5242402d4b8201b1ec38d06
https://github.com/llvm/llvm-project/commit/3d098f78bfa82bfae5242402d4b8201b1ec38d06
Author: barsolo2000 <barsolo at meta.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/bindings/interface/SBMemoryRegionInfoDocstrings.i
M lldb/include/lldb/API/SBMemoryRegionInfo.h
Log Message:
-----------
[LLDB] Update SBMemoryRegionInfo doc strings to document len and str (#149903)
Updated SBMemoryRegionInfo doc strings:
- Added detailed documentation for the GetDescription() method.
- Included information about the overwritten len() and str() functions
for the SBMemoryRegionInfo type, explaining their behavior and usage.
---------
Co-authored-by: Bar Soloveychik <barsolo at fb.com>
Commit: 7c2f109811181a227ffd784c046ed8d475173f8f
https://github.com/llvm/llvm-project/commit/7c2f109811181a227ffd784c046ed8d475173f8f
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
A flang/test/Semantics/OpenMP/if-clause-45.f90
A flang/test/Semantics/OpenMP/if-clause-50.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP] Check for OpenMP 5.0+ for the if clause on "do simd" (#151154)
The "if" clause on "do simd" is only supported from OpenMP version 5.0.
Currently the tablegen for OMP_DoSimd does not restrict it, leading to
an ICE if the clause is used with an older OpenMP version as opposed to
a semantic error. Restrict the version to show the correct semantic
error.
Add flang tests for using the if clause with -fopenmp-version=45
and -fopenmp-version=50 to check for these types of errors.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: a7425f900f6467dcbc7847ba0d80382e346a1030
https://github.com/llvm/llvm-project/commit/a7425f900f6467dcbc7847ba0d80382e346a1030
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
Log Message:
-----------
[RISCV] Use (i64 GPR:$rs1) instead of i64:$rs1 in isel patterns.
Commit: d28bb1fd786677fca73390a57972d3c722c30dcd
https://github.com/llvm/llvm-project/commit/d28bb1fd786677fca73390a57972d3c722c30dcd
Author: macurtis-amd <macurtis at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
A llvm/test/CodeGen/AMDGPU/bug-undef-spilled-agpr.mir
Log Message:
-----------
[AMDGPU] Ensure non-reserved CSR spilled regs are live-in (#146427)
Fixes:
```
*** Bad machine code: Using an undefined physical register ***
- function: widget
- basic block: %bb.0 bb (0x564092cbe140)
- instruction: $vgpr63 = V_ACCVGPR_READ_B32_e64 killed $agpr13, implicit $exec
- operand 1: killed $agpr13
LLVM ERROR: Found 1 machine code errors.
```
The detailed sequence of events that led to this assert:
1. MachineVerifier fails because `$agpr13` is not defined on line 19
below:
``` 1: bb.0.bb:
2: successors: %bb.1(0x80000000); %bb.1(100.00%)
3: liveins: $agpr14, $agpr15, $sgpr12, $sgpr13, $sgpr14, \
4: $sgpr15, $sgpr30, $sgpr31, $sgpr34, $sgpr35, \
5: $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr48, \
6: $sgpr49, $sgpr50, $sgpr51, $sgpr52, $sgpr53, \
7: $sgpr54, $sgpr55, $sgpr64, $sgpr65, $sgpr66, \
8: $sgpr67, $sgpr68, $sgpr69, $sgpr70, $sgpr71, \
9: $sgpr80, $sgpr81, $sgpr82, $sgpr83, $sgpr84, \
10: $sgpr85, $sgpr86, $sgpr87, $sgpr96, $sgpr97, \
11: $sgpr98, $sgpr99, $vgpr0, $vgpr31, $vgpr40, $vgpr41, \
12: $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9, \
13: $sgpr10_sgpr11
14: $sgpr16 = COPY $sgpr33
15: $sgpr33 = frame-setup COPY $sgpr32
16: $sgpr18_sgpr19 = S_XOR_SAVEEXEC_B64 -1, \
17: implicit-def $exec, implicit-def dead $scc, \
18: implicit $exec
19: $vgpr63 = V_ACCVGPR_READ_B32_e64 killed $agpr13, \
20: implicit $exec
21: BUFFER_STORE_DWORD_OFFSET killed $vgpr63, \
22: $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr33, 0, 0, 0, \
23: implicit $exec :: (store (s32) into %stack.38, \
24: addrspace 5)
25: ...
26: $vgpr43 = IMPLICIT_DEF
27: $vgpr43 = SI_SPILL_S32_TO_VGPR $sgpr15, 0, \
28: killed $vgpr43(tied-def 0)
29: $vgpr43 = SI_SPILL_S32_TO_VGPR $sgpr14, 1, \
30: killed $vgpr43(tied-def 0)
31: $sgpr100_sgpr101 = S_OR_SAVEEXEC_B64 -1, \
32: implicit-def $exec, implicit-def dead $scc, \
33: implicit $exec
34: renamable $agpr13 = COPY killed $vgpr43, implicit $exec
```
2. That instruction is created by
[`emitCSRSpillStores`](https://github.com/llvm/llvm-project/blob/d599bdeaa49d7a2b1246328630328d23ddda5a47/llvm/lib/Target/AMDGPU/SIFrameLowering.cpp#L977)
(called by
[`SIFrameLowering::emitPrologue`](https://github.com/llvm/llvm-project/blob/d599bdeaa49d7a2b1246328630328d23ddda5a47/llvm/lib/Target/AMDGPU/SIFrameLowering.cpp#L1122))
because `$agpr13` is in `WWMSpills`.
See lines 982, 998, and 993 below.
```
977: // Spill Whole-Wave Mode VGPRs. Save only the inactive lanes of the
scratch
978: // registers. However, save all lanes of callee-saved VGPRs. Due to
this, we
979: // might end up flipping the EXEC bits twice.
980: Register ScratchExecCopy;
981: SmallVector<std::pair<Register, int>, 2> WWMCalleeSavedRegs,
WWMScratchRegs;
982: FuncInfo->splitWWMSpillRegisters(MF, WWMCalleeSavedRegs,
WWMScratchRegs);
983: if (!WWMScratchRegs.empty())
984: ScratchExecCopy =
985: buildScratchExecCopy(LiveUnits, MF, MBB, MBBI, DL,
986: /*IsProlog*/ true, /*EnableInactiveLanes*/ true);
987:
988: auto StoreWWMRegisters =
989: [&](SmallVectorImpl<std::pair<Register, int>> &WWMRegs) {
990: for (const auto &Reg : WWMRegs) {
991: Register VGPR = Reg.first;
992: int FI = Reg.second;
993: buildPrologSpill(ST, TRI, *FuncInfo, LiveUnits, MF, MBB, MBBI, DL,
994: VGPR, FI, FrameReg);
995: }
996: };
997:
998: StoreWWMRegisters(WWMScratchRegs);
```
3. `$agpr13` got added to `WWMSpills` by
[`SILowerWWMCopies::run`](https://github.com/llvm/llvm-project/blob/59a7185dd9d69cbf737a98f5c2d1cf3d456bee03/llvm/lib/Target/AMDGPU/SILowerWWMCopies.cpp#L137)
as it processed the `WWM_COPY` on line 3 below (corresponds to line 34
above in point #_1_):
```
1: %45:vgpr_32 = SI_SPILL_S32_TO_VGPR $sgpr15, 0, %45:vgpr_32(tied-def
0)
2: %45:vgpr_32 = SI_SPILL_S32_TO_VGPR $sgpr14, 1, %45:vgpr_32(tied-def
0)
3: %44:av_32 = WWM_COPY %45:vgpr_32
```
Commit: d77e339e7ba3af21e92ad7f7d17fc8ad1d5dd5b4
https://github.com/llvm/llvm-project/commit/d77e339e7ba3af21e92ad7f7d17fc8ad1d5dd5b4
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/Transforms/Reassociate/fast-ReassociateVector.ll
Log Message:
-----------
[NFC][LLVM] Make test resilent to value of use-constant-*-splat flags.
Ensure Transforms/Reassociate/fast-ReassociateVector.ll passes when
UseConstantIntForFixedLengthSplat defaults to true.
Commit: 6c072c06cc59b56f83014450afe82f03666407ad
https://github.com/llvm/llvm-project/commit/6c072c06cc59b56f83014450afe82f03666407ad
Author: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Target/SPIRV/constant.mlir
Log Message:
-----------
[mlir][spirv] Fix verification and serialization replicated constant … (#151168)
…composites of multi-dimensional array
This fixes a bug in verification and serialization of replicated
constant composite ops where the splat value can potentially be a
multi-dimensional array.
---------
Signed-off-by: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Commit: 401e72c830e4ac7ea334e9e62366bc50f72fbfeb
https://github.com/llvm/llvm-project/commit/401e72c830e4ac7ea334e9e62366bc50f72fbfeb
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ssegN-load.ll
Log Message:
-----------
[RISCV] Add intrinsics for strided segment loads with fixed vectors (#151611)
These intrinsics are the strided version of `llvm.riscv.segN.load`
intrinsics.
Commit: 4c80193a58a5c24e2bbebe291feb406191c4e2ab
https://github.com/llvm/llvm-project/commit/4c80193a58a5c24e2bbebe291feb406191c4e2ab
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/test/Analysis/undef-call.c
M clang/test/CodeGen/thinlto_backend.ll
M clang/test/CodeGenCXX/module-intializer-pmf.cpp
M clang/test/CodeGenCXX/profile-remap.cpp
M clang/test/Driver/HLSL/metal-converter.hlsl
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/check-time-trace-ParseDeclarationOrFunctionDefinition.cpp
M clang/test/Driver/cl-showfilenames.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/mingw-sysroot.cpp
M clang/test/Modules/implicit-module-header-maps.cpp
M clang/test/Preprocessor/lang-std.cpp
Log Message:
-----------
Revert "[clang] Remove %T from tests (#151614)"
This reverts commit 5a586375aa3a128dadc9473cfa196bf8588c2a82.
This breaks two buildbots with failures in
implicit-module-header-maps.cpp. No idea why these failures are
occurring.
https://lab.llvm.org/buildbot/#/builders/64/builds/5166
https://lab.llvm.org/buildbot/#/builders/13/builds/8725
Commit: 46f6e62eb9ea01e43ec45961e68c22f9c00b0a27
https://github.com/llvm/llvm-project/commit/46f6e62eb9ea01e43ec45961e68c22f9c00b0a27
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/unittests/Support/CommandLineTest.cpp
M llvm/unittests/Support/DynamicLibrary/PipSqueak.h
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
[LLVM][Support] Fix tests on Cygwin (#151417)
Cygwin returns -1 for `getconf(_SC_ARG_MAX)`, which makes
`llvm::sys::commandLineFitsWithinSystemLimits` always return true, so
skip the `ArgumentLimit` test in that case. Skip the
`ArgumentLimitWindows` and `ResponseFileWindows` tests on Cygwin also as
it doesn't suffer from the Windows limits either.
Cygwin requires the same `dllexport` annotation as Win32 in the
`DynamicLibrary` test, so add its preprocessor check to PipSqueak.h.
Cygwin's `getcwd` function does not fail with `ENOENT` if the current
working directory is unlinked. According to POSIX issue 8, this is not
required. Skip the `PhysicalFileSystemWorkingDirFailure` test on Cygwin
as it relies on this behavior.
Commit: 78c57c9b026277a293099d3aaecaa1d568898878
https://github.com/llvm/llvm-project/commit/78c57c9b026277a293099d3aaecaa1d568898878
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/pr151664-cost-hoisted-vector-scalable.ll
Log Message:
-----------
[LV] Fix missing REQUIRES: asserts in test (#151737)
e7200c7 ([LV] Pre-commit test for #151664) forgot to require asserts in
the test, and stripped a CHECK line in error. Fix this.
Commit: bda9272591c478d6fde6da66d10ad47fe8169360
https://github.com/llvm/llvm-project/commit/bda9272591c478d6fde6da66d10ad47fe8169360
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/ClangScanDeps/modules-debug-dir.c
Log Message:
-----------
[clang][ScanDeps] Clear compilation directory if needed (#150129)
During explicit module build, clear the compilation directory flags when
CWD optimization is on. Now clang CodeGen will not add compilation
directories to DIFile when the corresponding flags are not passed and
make debug info not dependent on CWD.
Commit: 558277ae4db665bea93686db4b4538c1c2c0cf4d
https://github.com/llvm/llvm-project/commit/558277ae4db665bea93686db4b4538c1c2c0cf4d
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Basic/Targets/ARM.cpp
M clang/test/CodeGen/atomic-arm.c
M clang/test/CodeGen/pr45476.cpp
Log Message:
-----------
[clang][ARM] Fix setting of MaxAtomicInlineWidth. (#151404)
2f497ec3a0056f15727ee6008211aeb2c4a8f455 updated the backend's rules for
when lock-free atomics are available, but we never made a corresponding
change to the frontend. Fix it to be consistent. This only affects
targets older than v7.
Commit: afce9320ca40bcab0c08b59576a3afffff3cf171
https://github.com/llvm/llvm-project/commit/afce9320ca40bcab0c08b59576a3afffff3cf171
Author: YixingZhang007 <yixing.zhang at intel.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/test/Dialect/SPIRV/IR/arithmetic-ops.mlir
M mlir/test/Dialect/SPIRV/IR/bit-ops.mlir
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Dialect/SPIRV/IR/group-ops.mlir
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Dialect/SPIRV/IR/intel-ext-ops.mlir
M mlir/test/Dialect/SPIRV/IR/khr-cooperative-matrix-ops.mlir
M mlir/test/Dialect/SPIRV/IR/logical-ops.mlir
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir
Log Message:
-----------
[mlir][spirv] Enforce Fixed-Size Vectors for SPIR-V (#151738)
This PR enforces that SPIR-V instructions only allow fixed-size vectors
(no scalable vectors) by updating `SPIRV_VectorOf` to use
`FixedVectorOfLengthAndType` instead of `VectorOfLengthAndType`. The
affected MLIR tests are also updated accordingly.
Commit: b36f05ce48bd714182481765ac14fcaff129639f
https://github.com/llvm/llvm-project/commit/b36f05ce48bd714182481765ac14fcaff129639f
Author: enh-google <enh at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M libc/src/wchar/wcstok.cpp
M libc/test/src/wchar/wcstok_test.cpp
Log Message:
-----------
[libc] Fix wcstok() "subsequent searches" behavior. (#151589)
POSIX says "If no such wide-character code is found, the current token
extends to the end of the wide-character string pointed to by ws1, and
subsequent searches for a token shall return a null pointer", but the
current implementation only returns nullptr the first time. This failed
an existing bionic test when I tried to switch over to llvm-libc
wcstok().
Commit: 149d4b503391b4643f3085bd82e19eae69e5e3fb
https://github.com/llvm/llvm-project/commit/149d4b503391b4643f3085bd82e19eae69e5e3fb
Author: Jaden Angella <ajaden at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/mlir-translate/emitc_classops.mlir
Log Message:
-----------
[mlir][EmitC]Allow Fields to have initial values (#151437)
This will ensure that:
- The `field` of a class can have an initial value
- The `field` op is emitted correctly
- The `getfield` op is emitted correctly
Commit: 605f652cba726b40e25dc63765e58e40c79c2fe6
https://github.com/llvm/llvm-project/commit/605f652cba726b40e25dc63765e58e40c79c2fe6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_sched_param.h
M libc/src/sched/linux/CMakeLists.txt
M libc/src/sched/sched_getparam.h
M libc/src/sched/sched_setparam.h
M libc/src/sched/sched_setscheduler.h
M libc/test/src/sched/CMakeLists.txt
M libc/test/src/sched/param_and_scheduler_test.cpp
M libc/test/src/sched/sched_rr_get_interval_test.cpp
Log Message:
-----------
[libc] Add struct_sched_param proxy header (#151722)
This enables cleaning up the remaining sched.h includes littered around
the code base.
Commit: a304e09fe767eb6e15680602cdabf5c405894061
https://github.com/llvm/llvm-project/commit/a304e09fe767eb6e15680602cdabf5c405894061
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGen/cleanup.cpp
Log Message:
-----------
[CIR] Handle expression with cleanups (#151600)
This adds code to handle expressions with cleanup, including
materializing a temporary object for the expression.
Commit: 4820b183a8d3a1b22dcc374f67ce89c8c01361b1
https://github.com/llvm/llvm-project/commit/4820b183a8d3a1b22dcc374f67ce89c8c01361b1
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR] Simplify ConstantOp accesses and its getDefiningOp (#151216)
- Replaces dyn_cast<cir::ConstantOp>(v.getDefiningOp()) and similar with v.getDefiningOp<cir::ConstantOp>()
- Adds `getValueAttr` method to ConstantOp
Commit: c188e1db6a4c469f5ad92c4ce088fd113335410f
https://github.com/llvm/llvm-project/commit/c188e1db6a4c469f5ad92c4ce088fd113335410f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
A clang/test/CIR/CodeGen/virtual-function-calls.cpp
Log Message:
-----------
[CIR] Add vptr type and generate vptr field when needed (#151377)
This adds a new CIR type, cir.vptr, and generates a field of that type
when a record is declared that requires a vptr member.
Commit: 0b37de296833f2bd860d735b671f0612f3c194a4
https://github.com/llvm/llvm-project/commit/0b37de296833f2bd860d735b671f0612f3c194a4
Author: Thomas Raoux <thomas.raoux at openai.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/test/Conversion/SCFToControlFlow/convert-to-cfg.mlir
Log Message:
-----------
[MLIR][SCF] Propagate loop annotation during while op lowering (#151746)
This is expanding on https://github.com/llvm/llvm-project/pull/102562
This allows also propagating attributes for scf.while lowering
Commit: b63a9b7a3cdc1e41545df595215077e50bfd04af
https://github.com/llvm/llvm-project/commit/b63a9b7a3cdc1e41545df595215077e50bfd04af
Author: YixingZhang007 <yixing.zhang at intel.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVIntelExtOps.td
M mlir/lib/Dialect/SPIRV/IR/CastOps.cpp
M mlir/test/Dialect/SPIRV/IR/intel-ext-ops.mlir
M mlir/test/Target/SPIRV/intel-ext-ops.mlir
Log Message:
-----------
[mlir][spirv] Add OpExtension "SPV_INTEL_tensor_float32_conversion" (#151337)
This PR provides the support for the capability
`TensorFloat32RoundingINTEL` and the instruction `OpRoundFToTF32INTE`L,
as specified by the `SPV_INTEL_tensor_float32_conversion` extension.
This extension introduces a rounding instruction that converts standard
32-bit floating-point values to the TensorFloat32 (TF32) format.
Reference Specification:
https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/INTEL/SPV_INTEL_tensor_float32_conversion.asciidoc
Commit: 9fdb5e1fef223c777d9cdf2f6d5eaffb33c59b0d
https://github.com/llvm/llvm-project/commit/9fdb5e1fef223c777d9cdf2f6d5eaffb33c59b0d
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Support/APFloat.cpp
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
[APFloat] Properly implement next for DoubleAPFloat
Rather than converting to the legacy 106-bit format, perform next() on the
low APFloat. Of course, we need to renormalize the two APFloats if
either of the two constraints are violated:
1. abs(low) <= ulp(high)/2
2. high = rtne(high + low)
Should renormalization be needed, it will increment the high component
and set low to the smallest value which obeys these rules.
Commit: dc90472532702b202e93839c6d980d3b584a60cf
https://github.com/llvm/llvm-project/commit/dc90472532702b202e93839c6d980d3b584a60cf
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/Transforms/MemProfContextDisambiguation/iterative_merge.ll
M llvm/test/Transforms/MemProfContextDisambiguation/mergenodes.ll
M llvm/test/Transforms/MemProfContextDisambiguation/mergenodes2.ll
Log Message:
-----------
[MemProf] Ensure node merging happens for newly created nodes (#151593)
We weren't performing node merging on newly created nodes in some cases.
Use a simple iteration over the node and its callers until no more
opportunities are found. I confirmed that for several large codes the
max iterations is 3 (meaning we only needed to do any work on the first
2, as expected). This can potentially be made more elegant in the
future, but it is a simple and effective solution.
Also fix a bug exposed by the test case, getting the function for a call
instruction in the FullLTO handling, using an existing method to look
through aliases if needed.
Commit: 55c2b273ea5d3b949c6431d429a4da20612d9808
https://github.com/llvm/llvm-project/commit/55c2b273ea5d3b949c6431d429a4da20612d9808
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/test/API/functionalities/memory/cache/main.cpp
Log Message:
-----------
[lldb] Ensure that TestMemoryCache.py reads allocated memory (#151635)
The test reads 400 bytes of memory above the local variable. If the
stack is shallow, this can reach non-allocated space, resulting in a
test failure. The patch fixes the issue by reserving enough space in
the upper stack frame.
Commit: eee9755881bf39bc15e6e05697abbbfabb51cb78
https://github.com/llvm/llvm-project/commit/eee9755881bf39bc15e6e05697abbbfabb51cb78
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
Log Message:
-----------
[LV] Refine check to find epilogue IV resume value.
Make sure to check that the vector trip count is containedin the list of
incoming values to serve as tie-breaker with phis with all-zero incoming
values.
Fixes https://github.com/llvm/llvm-project/issues/151686.
Commit: 12eab1a7b82d8db0e781862902b674332298162f
https://github.com/llvm/llvm-project/commit/12eab1a7b82d8db0e781862902b674332298162f
Author: Artem Belevich <tra at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/cuda-arch-translation.cu
M clang/test/Driver/cuda-options.cu
Log Message:
-----------
[CUDA] Use --image3 to construct fat binary (#151760)
CUDA-12.9 has removed fatbinary tool's `--image` argument we've been
using till now.
--image3 has been supported since cuda-9, so we do not need CUDA SDK
version checks.
Commit: c0fa4323150c36ef6c9512b19b45ddc88805dc03
https://github.com/llvm/llvm-project/commit/c0fa4323150c36ef6c9512b19b45ddc88805dc03
Author: YixingZhang007 <yixing.zhang at intel.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_tensor_float32_conversion/tf32-conv-negative1.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_tensor_float32_conversion/tf32-conv-negative2.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_tensor_float32_conversion/tf32-conv.ll
Log Message:
-----------
[SPIR-V] Add support for the SPIR-V extension SPV_INTEL_tensor_float32_conversion (#150090)
This PR introduces the support for the SPIR-V extension
`SPV_INTEL_tensor_float32_conversion` and the corresponding OpenCL
extension `cl_intel_tensor_float32_conversions`.
This extension introduces a rounding instruction that converts standard
32-bit floating-point values to the TensorFloat32 (TF32) format.
Reference Specification:
https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/INTEL/SPV_INTEL_tensor_float32_conversion.asciidoc
Commit: c696ecddeea74fd3289234ea7b82083ef90c7189
https://github.com/llvm/llvm-project/commit/c696ecddeea74fd3289234ea7b82083ef90c7189
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
A llvm/test/CodeGen/AArch64/arm64ec-available-externally.ll
Log Message:
-----------
[win][arm64ec] Handle `available_externally` functions (#151610)
While testing Arm64EC, I observed that LLVM crashes when an
`available_externally` function is used as it tries to place it in a
COMDAT, which is not permitted by the verifier.
This the fix from #151409 plus a dedicated test.
Commit: 920079b7935352c28385c17bc8c36256bebcd279
https://github.com/llvm/llvm-project/commit/920079b7935352c28385c17bc8c36256bebcd279
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/atan2f128.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atan2f128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atan2f128.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor atan2f128 implementation to header-only in src/__support/math folder. (#151012)
Part of #147386
in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 23022a4683b61c5705fe6bf756b5f33648bd3fbc
https://github.com/llvm/llvm-project/commit/23022a4683b61c5705fe6bf756b5f33648bd3fbc
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/cmp-select-sign.ll
Log Message:
-----------
[SelectionDAG] Move sign pattern check from AArch64 and ARM to general SelectionDAG (#151736)
This works on all cases much like the XOR case above it in SelectionDAG.
Commit: 66e8163f53cacc704aab9d4c81f208727e37d3d0
https://github.com/llvm/llvm-project/commit/66e8163f53cacc704aab9d4c81f208727e37d3d0
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/byval-arg-vectorize.ll
M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/param-vectorize-device.ll
Log Message:
-----------
[NVPTX] Vectorize loads when lowering of byval calls, misc. cleanup (#151070)
This change rewrites LowerCall handling of byval arguments to vectorize
the loads in addition to the stores. In addition various minor NFC
updates and cleanups are made to reduce code duplication.
Commit: df392b518b7e187f72c036a611feca75ea8b796b
https://github.com/llvm/llvm-project/commit/df392b518b7e187f72c036a611feca75ea8b796b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
Log Message:
-----------
[lldb] Reimplment PyRun_String using the Python stable C API (#151761)
Reimplement `PyRun_String` using `Py_CompileString` and`
PyEval_EvalCode`, which are part of the stable C API.
Part of #151617
Commit: c3b5f1cfe9e3eb4261ed768b4dfb6153b49b675a
https://github.com/llvm/llvm-project/commit/c3b5f1cfe9e3eb4261ed768b4dfb6153b49b675a
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp
Log Message:
-----------
[lldb] Fix incorrect conversion from boolean in RegisterContextThreadMemory (#151767)
The method ConvertRegisterKindToRegisterNumber should return
INVALID_REGNUM, and not "false" upon failure: false would mean 0 which
is usually the number for generic PC.
Likewise, NumSupportedHardwareBreakpoints should return 0 instead of
false (though for this one they are equivalent).
Commit: 33abf05af4f8f7f80856bd018d117c98f8807e87
https://github.com/llvm/llvm-project/commit/33abf05af4f8f7f80856bd018d117c98f8807e87
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.gfx1250.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] gfx1250 v_permlane_* instructions (#151749)
Commit: 4d1ae58d9e1d679cd0f35ce935579df221b14882
https://github.com/llvm/llvm-project/commit/4d1ae58d9e1d679cd0f35ce935579df221b14882
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
[lldb] Reimplment PyRun_SimpleString using the Python stable C API (#151777)
Reimplment `PyRun_SimpleString` using the Python stable C API and the
`RunString` helper.
Part of https://github.com/llvm/llvm-project/issues/151617
Commit: 3b92e83121e6ba23665d7f60ad5474d4c7f5fe03
https://github.com/llvm/llvm-project/commit/3b92e83121e6ba23665d7f60ad5474d4c7f5fe03
Author: Artem Belevich <tra at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
Log Message:
-----------
[CUDA] Do not include obsolete texture_fetch_functions.h (#151766)
Commit: 154354e60e46debb68716cde867cb4e325ce5eb7
https://github.com/llvm/llvm-project/commit/154354e60e46debb68716cde867cb4e325ce5eb7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
Log Message:
-----------
[lldb] Remove unused PythonObject::Dump (NFC) (#151783)
PythonObject::Dump isn't called and uses `_PyObject_Dump`, which isn't
part of the stable API.
Part of https://github.com/llvm/llvm-project/issues/151617.
Commit: 99cd1d8aef2e1be8a0571eec47b4527ca5ad59d4
https://github.com/llvm/llvm-project/commit/99cd1d8aef2e1be8a0571eec47b4527ca5ad59d4
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/atanhf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atanhf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atanhf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor atanhf implementation to header-only in src/__support/math folder. (#151399)
Part of #147386
in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 49a24b3116236d65cc2541e8d176ecf9dcb152db
https://github.com/llvm/llvm-project/commit/49a24b3116236d65cc2541e8d176ecf9dcb152db
Author: Bill Wendling <morbo at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/attr-counted-by.c
Log Message:
-----------
[CodeGen][counted_by] Support use of the comma operator (#151776)
Writing something like this:
__builtin_dynamic_object_size((0, p->array), 0)
is equivalent to writing this:
__builtin_dynamic_object_size(p->array, 0)
though the former will give a warning about the first value being
unused.
Commit: 65990d61486c44186daec8e3c0831a32780b3e1d
https://github.com/llvm/llvm-project/commit/65990d61486c44186daec8e3c0831a32780b3e1d
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/tools/lli/lli.cpp
Log Message:
-----------
[lli] Fix crash with --no-process-syms on MinGW (#151386)
In this case, `J->getProcessSymbolsJITDylib()` returns a NULL pointer.
In order to make sure `__main` is still defined, add the symbol to
`J->getMainJITDylib()` instead in that case. This returns a reference
and thus cannot be NULL.
Fixes #143080
Commit: 962ee7a5688d4156e0cf035422a26d273563643f
https://github.com/llvm/llvm-project/commit/962ee7a5688d4156e0cf035422a26d273563643f
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk8.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] gfx1250 v_cvt_scalef32_pk8_* instructions (#151758)
Commit: 8934a6e13bd8d2a0ad2609bd62832ca700dab3a7
https://github.com/llvm/llvm-project/commit/8934a6e13bd8d2a0ad2609bd62832ca700dab3a7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M offload/DeviceRTL/src/State.cpp
Log Message:
-----------
[OpenMP] Use the `libc` malloc for AMDGPU if available (#151241)
Summary:
This patch enables the OpenMP runtime to use the general-purpose
`malloc` interface in `libc` if the user built OpenMP with it enabled.
All this requires is keeping `malloc` as an external function so it will
be resolved later by the linker.
Commit: 4205da0f130cf86ae6b89bfc36723e7ddba9b0b7
https://github.com/llvm/llvm-project/commit/4205da0f130cf86ae6b89bfc36723e7ddba9b0b7
Author: James Y Knight <jyknight at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M clang/tools/libclang/CXIndexDataConsumer.cpp
M clang/tools/libclang/CXIndexDataConsumer.h
M clang/tools/libclang/Indexing.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Frontend/PCHPreambleTest.cpp
M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
M clang/unittests/Sema/ExternalSemaSourceTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.h
M clang/unittests/Tooling/ToolingTest.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
Log Message:
-----------
NFC: Clean up of IntrusiveRefCntPtr construction from raw pointers. (#151782)
This commit handles the following types:
- clang::ExternalASTSource
- clang::TargetInfo
- clang::ASTContext
- clang::SourceManager
- clang::FileManager
Part of cleanup #151026
Commit: cc3932bf290fce1ba13102fbe1af9e1758323f55
https://github.com/llvm/llvm-project/commit/cc3932bf290fce1ba13102fbe1af9e1758323f55
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx1250.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] gfx1250 v_cvt_scalef32_sr_pk8_* instructions (#151765)
Commit: 185a23e865c31145588276e7e0db2460e01eb703
https://github.com/llvm/llvm-project/commit/185a23e865c31145588276e7e0db2460e01eb703
Author: Justin Cai <justin.cai at intel.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
A llvm/include/llvm/Frontend/Offloading/PropertySet.h
M llvm/lib/Frontend/Offloading/CMakeLists.txt
A llvm/lib/Frontend/Offloading/PropertySet.cpp
M llvm/unittests/Frontend/CMakeLists.txt
A llvm/unittests/Frontend/PropertySetRegistryTest.cpp
Log Message:
-----------
[SYCL] Add property set types and JSON representation (#147321)
This PR adds the `PropertySet` type, along with a pair of functions used
to serialize and deserialize into a JSON representation. A property set
is a key-value map, with values being one of 2 types - uint32 or byte
array. A property set registry is a collection of property sets, indexed
by a "category" name.
In SYCL offloading, property sets will be used to communicate metadata
about device images needed by the SYCL runtime. For example, there is a
property set which has a byte array containing the numeric ID, offset,
and size of each SYCL2020 spec constant. Another example is a property
set describing the optional kernel features used in the module: does it
use fp64? fp16? atomic64?
This metadata will be computed by `clang-sycl-linker` and the JSON
representation will be inserted in the string table of each
output `OffloadBinary`. This JSON will be consumed the SYCL offload
wrapper and will be lowered to the binary form SYCL runtime expects.
For example, consider this SYCL program that calls a kernel that uses
fp64:
```c++
#include <sycl/sycl.hpp>
using namespace sycl;
class MyKernel;
int main() {
queue q;
auto *p = malloc_shared<double>(1, q);
*p = .1;
q.single_task<MyKernel>([=]{ *p *= 2; }).wait();
std::cout << *p << "\n";
free(p, q);
}
```
The device code for this program would have the kernel marked with
`!sycl_used_aspects`:
```
define spir_kernel void @_ZTS8MyKernel([...]) !sycl_used_aspects !n { [...] }
!n = {i32 6}
```
`clang-sycl-linker` would recognize this metadata and then would output
the following JSON in the `OffloadBinary`'s key-value map:
```
{
"SYCL/device requirements": {
// aspects contains a list of sycl::aspect values used
// by the module; in this case just the value 6 encoded
// as a 4-byte little-endian integer
"aspects": "BjAwMA=="
}
}
```
The SYCL offload wrapper would lower those property sets to something
like this:
```c++
struct _sycl_device_binary_property_set_struct {
char *CategoryName;
_sycl_device_binary_property *PropertiesBegin;
_sycl_device_binary_property *PropertiesEnd;
};
struct _sycl_device_binary_property_struct {
char *PropertyName;
void *ValAddr;
uint64_t ValSize;
};
//
_sycl_device_binary_property_struct device_requirements[] = {
/* PropertyName */ "aspects",
/* ValAddr */ [pointer to the bytes 0x06 0x00 0x00 0x00],
/* ValSize */ 4,
};
_sycl_device_binary_property_set_struct properties[] = {
/* CategoryName */ "SYCL/device requirements",
/* PropertiesBegin */ device_requirements,
/* PropertiesEnd */ std::end(device_requirments),
}
```
---------
Co-authored-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: 8039486706dcfa206e614715e5a131ee5b41e1df
https://github.com/llvm/llvm-project/commit/8039486706dcfa206e614715e5a131ee5b41e1df
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Frontend/Offloading/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn build] Port 185a23e865c3
Commit: 0988510ad436e3fc9e9526dda505c02a53d497a1
https://github.com/llvm/llvm-project/commit/0988510ad436e3fc9e9526dda505c02a53d497a1
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/TargetParser/TargetParser.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.perm.pk.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] gfx1250 v_perm_pk16_* instructions (#151773)
Commit: 1db2879a36d11b2e54826b2fc97174e61ad68474
https://github.com/llvm/llvm-project/commit/1db2879a36d11b2e54826b2fc97174e61ad68474
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
M llvm/test/MC/ELF/mc-dump.s
Log Message:
-----------
MCAssembler: Split evaluateFixup to Number of fixups and Number of fixup evaluations for relaxation
The number of fixups is a more important metric, guiding the data
structure optimization.
Commit: ee67f78776d0af64bc27cabcca62883f7a698467
https://github.com/llvm/llvm-project/commit/ee67f78776d0af64bc27cabcca62883f7a698467
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Frontend/Offloading/PropertySet.cpp
Log Message:
-----------
Fix error caused by reference to local binding (#151789)
This change fixes one of the failures in
https://github.com/llvm/llvm-project/pull/147321
Following code snippet:
`
for (const auto &[CategoryName, PropSet] : PSRegistry) {
J.attributeObject(CategoryName, [&] {
for (const auto &[PropName, PropVal] : PropSet) {
`
causes a build warning that is emitted as an error.
error: reference to local binding 'PropSet' declared in enclosing lambda
expression
This is resolved by capturing PropSet in a local variable.
Thanks
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: de7ee884a6ff50afc6379ee9febb4780ddedff11
https://github.com/llvm/llvm-project/commit/de7ee884a6ff50afc6379ee9febb4780ddedff11
Author: jinge90 <ge.jin at intel.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M compiler-rt/test/builtins/Unit/muldc3_test.c
Log Message:
-----------
Relax muldc3 test to avoid precision issue (#151663)
Commit: b075dadbd3e0e928bdeddb3d36af64e8a383e305
https://github.com/llvm/llvm-project/commit/b075dadbd3e0e928bdeddb3d36af64e8a383e305
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/unittests/Frontend/CMakeLists.txt
Log Message:
-----------
Add missing link component for Frontend offloading test (#151796)
This change fixes one of the failures in
https://github.com/llvm/llvm-project/pull/147321
/usr/bin/ld:
unittests/Frontend/CMakeFiles/LLVMFrontendTests.dir/PropertySetRegistryTest.cpp.o:
undefined reference to symbol
'_ZN4llvm10offloading21writePropertiesToJSONERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES1_IS7_St7variantIJjNS_11SmallVectorIhLj0EEEEESt4lessIS7_ESaISt4pairIKS7_SB_EEESD_SaISE_ISF_SI_EEERNS_11raw_ostreamE'
Need to add a missing LLVM link component in CMakeLists.txt.
Thanks
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: 5e3cc00060e3fc19996d3201360c5693bc3ecaa8
https://github.com/llvm/llvm-project/commit/5e3cc00060e3fc19996d3201360c5693bc3ecaa8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Frontend/Offloading/PropertySet.cpp
Log Message:
-----------
[Offloading] Fix a warning
This patch fixes:
llvm/lib/Frontend/Offloading/PropertySet.cpp:95:12: error: unused
variable '[It, Inserted]' [-Werror,-Wunused-variable]
Commit: a1c3c6554f0fe2a0404268c07017c315f52b5415
https://github.com/llvm/llvm-project/commit/a1c3c6554f0fe2a0404268c07017c315f52b5415
Author: Nathan Chancellor <nathan at kernel.org>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
A clang/test/Modules/specializations-lazy-load-parentmap-crash-analyzer.cpp
M clang/test/Modules/specializations-lazy-load-parentmap-crash.cpp
Log Message:
-----------
[clang][test] Split out staticanalyzer portion of Modules/specializations-lazy-load-parentmap-crash.cpp (#151259)
When the static analyzer is disabled with
-DCLANG_ENABLE_STATIC_ANALYZER=OFF, the newly added
specializations-lazy-load-parentmap-crash.cpp test fails with:
error: action RunAnalysis not compiled in
--
********************
********************
Failed Tests (1):
Clang :: Modules/specializations-lazy-load-parentmap-crash.cpp
Split out the part of the test that requires the static analyzer so that
it does not run when the static analyzer is unavailable.
Commit: 44500ae265cb537905e53b02d8c1e6ef7154a3bd
https://github.com/llvm/llvm-project/commit/44500ae265cb537905e53b02d8c1e6ef7154a3bd
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR] Use getDefiningOp<OpTy>() instead of dyn_cast<OpTy>(getDefiningOp()) (NFC) (#151217)
This applies similar changes to llvm/llvm-project#150428
Commit: af0be76a35a4edefcad778bd329fc44174c0e108
https://github.com/llvm/llvm-project/commit/af0be76a35a4edefcad778bd329fc44174c0e108
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Replace reverse RPOT with PO traversal (NFC) (#151757)
Commit: 69aa6a0bdd5adb2d48d3cfbea1a50135d68e0453
https://github.com/llvm/llvm-project/commit/69aa6a0bdd5adb2d48d3cfbea1a50135d68e0453
Author: Javed Absar <javed.absar at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Quant/IR/QuantTypes.h
M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
Log Message:
-----------
[mlir][quant] Fix quantization example. (#151518)
Fix and improve code example
quic_mabsar at quicinc.com
Commit: eefc3d275f1e089cb400e697659c55d3ae05006d
https://github.com/llvm/llvm-project/commit/eefc3d275f1e089cb400e697659c55d3ae05006d
Author: Iris Shi <0.0 at owo.li>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateVariadic.cpp
A clang/test/FixIt/fixit-c++17.cpp
Log Message:
-----------
[clang][diagnostics] Fix fix-it hint parenthesis placement for fold expressions (#151790)
- Closes #151787
Insert the right parenthesis one token later to correctly enclose the
expression.
---------
Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>
Commit: 0e40051565db1399b573b4bddc43c806ca86dc8d
https://github.com/llvm/llvm-project/commit/0e40051565db1399b573b4bddc43c806ca86dc8d
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy] Skip declarations in system headers in RenamerClangTidyC… (#151772)
…heck
One typically only wants to perform renaming operations in user code,
not in system headers (which are out of the user's control). Let's skip
those altogether.
This leads to performance improvements in clang-tidy. As a benchmark, I
run all checks on a .cpp file that #includes all C++ standard headers.
On trunk:
```
Suppressed 213362 warnings (213362 in non-user code).
real 0m14.422s
user 0m14.236s
sys 0m0.184s
```
On this patch:
```
Suppressed 75411 warnings (75411 in non-user code).
real 0m12.472s
user 0m12.334s
sys 0m0.136s
```
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: 41803a24140c3c53bbc82c7b61c7b196cf9d113a
https://github.com/llvm/llvm-project/commit/41803a24140c3c53bbc82c7b61c7b196cf9d113a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpState.cpp
Log Message:
-----------
[clang][bytecode] Replace MoveFn With DtorFn + memcpy (#151717)
First, the old MoveFn was rather inefficient, since the dead data cannot
ever be accessed anyway.
Second, there was a problem where the only reason a block still had a
pointer to it (and thus was made into a DeadBlock instead of simply
being deallocated) as that a nested field in the block pointed to the
block itself.
Fix this by calling the dtor function unconditionally. If the block
*still* has pointers after that, we really need to create a DeadBlock
for it.
Commit: 834621564fffb792008a6177ecade1c685519820
https://github.com/llvm/llvm-project/commit/834621564fffb792008a6177ecade1c685519820
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
Log Message:
-----------
[clang][bytecode] Don't call ctor of primitive array elements (#151725)
We don't do that for single primitive variables, so avoid it for
primitive array elements as well.
Commit: acc8b977d96745843a421e3b45da01343a3b5a2a
https://github.com/llvm/llvm-project/commit/acc8b977d96745843a421e3b45da01343a3b5a2a
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
A mlir/test/Transforms/test-legalizer-full-rollback.mlir
M mlir/test/Transforms/test-legalizer-full.mlir
A mlir/test/Transforms/test-legalizer-rollback.mlir
M mlir/test/Transforms/test-legalizer.mlir
Log Message:
-----------
[mlir][Transforms][NFC] Move rollback tests to separate file (#151809)
Move dialect conversion tests that require a rollback to a separate
file. This is in preparation of the One-Shot Dialect Conversion
refactoring, which does no longer support rollbacks.
Also add a few more `CHECK:`.
Commit: 16a0892a9db1825ffa5e42b801e13215418d93b9
https://github.com/llvm/llvm-project/commit/16a0892a9db1825ffa5e42b801e13215418d93b9
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M mlir/test/Transforms/test-legalizer-full-rollback.mlir
Log Message:
-----------
[mlir][Transforms][NFC] Add missing FileCheck (#151817)
This should have been part of #151809.
Commit: acdc01b0392343daa7b91a34ba5d9c45372ed1bf
https://github.com/llvm/llvm-project/commit/acdc01b0392343daa7b91a34ba5d9c45372ed1bf
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
Log Message:
-----------
[Offload][UnitTests] Fix incorrect CUDA path variable in CMake helper (#151820)
This PR fixes a minor bug in the `add_offload_test_device_code` CMake
helper function in `offload/unittests/CMakeLists.txt`.
The function was discovering the local CUDA Toolkit path and storing it
in the `cuda_path` variable but was then using the incorrect `CUDA_ROOT`
variable in the `add_custom_command` call for the NVPTX target.
This change corrects the command to use the intended `cuda_path`
variable.
Commit: a1dfcc6e8154bb8c188062f0a50436a27b54f763
https://github.com/llvm/llvm-project/commit/a1dfcc6e8154bb8c188062f0a50436a27b54f763
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/hlsl.hlsl
Log Message:
-----------
[clang][bytecode] Fix D3DCOLORtoUBYTE4 hlsl test (#151819)
HLSL is using CK_FloatingToIntegral casts to cast to vectors, which we
don't support (neither does the current interpreter). Also fix a crash
when trying to promote the HLSL bool, which can't be promoted it seems.
Commit: 0bdb4a36465407a529405cc7b84c2d5acb6528c2
https://github.com/llvm/llvm-project/commit/0bdb4a36465407a529405cc7b84c2d5acb6528c2
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb][DWARFIndex][NFC] Change GetNamespace/GetGlobalVariables APIs to use IterationAction (#151668)
Continuation from https://github.com/llvm/llvm-project/pull/151489
Commit: fc712aa9a6e843baa658aed4cb6d1cd5249d7b46
https://github.com/llvm/llvm-project/commit/fc712aa9a6e843baa658aed4cb6d1cd5249d7b46
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][NFC] Remove leftover comment (#151822)
>From d8ca85a184c0fb511fe6483c4c24e48b5b1eb07a
Commit: 7e9927127f47c9576f273329a7f7dcc718ad622b
https://github.com/llvm/llvm-project/commit/7e9927127f47c9576f273329a7f7dcc718ad622b
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/test/CIR/CodeGen/bitfields.c
Log Message:
-----------
[CIR] Fix outdated bitfield iteration logic in accumulateFields (#151741)
This PR fixes the outdated logic for accumulating bitfields in
`accumulateFields`. The old approach remained after the algorithm was
updated. A non-bitfield member would act as a barrier, causing
`accumulateBitFields` to receive an incomplete range of fields. As a
result, it failed to accumulate them properly when clipping was
necessary.
For reference, in ClangIR we already handle this correctly:
[https://github.com/llvm/clangir/blob/b647f4b97b1f936fd7700ec0fd0d896a12fe581b/clang/lib/CIR/CodeGen/CIRRecordLayoutBuilder.cpp#L711-L714](https://github.com/llvm/clangir/blob/b647f4b97b1f936fd7700ec0fd0d896a12fe581b/clang/lib/CIR/CodeGen/CIRRecordLayoutBuilder.cpp#L711-L714)
Commit: b04968c4cd01758a728d46670a763b06ddf75e3b
https://github.com/llvm/llvm-project/commit/b04968c4cd01758a728d46670a763b06ddf75e3b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
Log Message:
-----------
[ExecutionEngine] Remove an unnecessary cast (NFC) (#151798)
value() already returns uint64_t.
Commit: 8bc2c7ceb3bb5cf0aff34269e4a0d1574f9a69a9
https://github.com/llvm/llvm-project/commit/8bc2c7ceb3bb5cf0aff34269e4a0d1574f9a69a9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/tools/llvm-objdump/COFFDump.cpp
Log Message:
-----------
[llvm-objdump] Remove an unnecessary cast (NFC) (#151799)
Size is already of uint32_t.
Commit: 1b0285671e33e7ef3d2d7a9029373acd8273a55a
https://github.com/llvm/llvm-project/commit/1b0285671e33e7ef3d2d7a9029373acd8273a55a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/AST/MicrosoftMangle.cpp
Log Message:
-----------
[AST] Use llvm::iterator_range::empty (NFC) (#151800)
With empty, we don't have to repeat the whole expression.
Commit: 02b89b8f47eecbae7ce16273966499cbf9ab0a1c
https://github.com/llvm/llvm-project/commit/02b89b8f47eecbae7ce16273966499cbf9ab0a1c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
Log Message:
-----------
[clang-tidy] Use llvm::none_of (NFC) (#151801)
We can pass a range to llvm::none_if.
Commit: d72907624544714ea53698da2f678e40947ee8d9
https://github.com/llvm/llvm-project/commit/d72907624544714ea53698da2f678e40947ee8d9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[clang] Proofread LanguageExtensions.rst (#151802)
Commit: 969b246c0218a05a0ed0e237f4f92d28554b88c2
https://github.com/llvm/llvm-project/commit/969b246c0218a05a0ed0e237f4f92d28554b88c2
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
Log Message:
-----------
[RISCV] Refactor X60 scheduling model helper classes. NFC. (#151572)
This patch improves the helper classes in the SpacemiT-X60 vector
scheduling model and will be used in follow-up PRs:
There are now two functions to map LMUL to values:
* ConstValueUntilLMULThenDoubleBase: returns BaseValue for LMUL values
before startLMUL, Value for startLMUL, then doubles Value for each
subsequent LMUL. Useful for cases where fractional LMULs have constant
cycles, and integer LMULs double as they increase.
* GetLMULValue: takes an ordered list of LMUL cycles and LMUL and
returns the corresponding cycle. Useful for cases we can't easily cover
with ConstValueUntilLMULThenDoubleBase.
This PR also adds some useful, simplified versions of
ConstValueUntilLMULThenDoubleBase, e.g., ConstValueUntilLMULThenDouble
(when BaseValue == Value), or ConstOneUntilMF4ThenDouble (when cycles
start to double after MF2).
Commit: c304a2bb0c83ce34c7a63d9812888fc89c3facb5
https://github.com/llvm/llvm-project/commit/c304a2bb0c83ce34c7a63d9812888fc89c3facb5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
Log Message:
-----------
[clang][bytecode][NFC] Code size is always aligned (#151824)
We don't need to align Code.size(), since we always resize it to aligned
values, so Code.size() is always aligned.
Commit: 08f50e96657bcc4ee9186b54184c5e82c42b910e
https://github.com/llvm/llvm-project/commit/08f50e96657bcc4ee9186b54184c5e82c42b910e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
Log Message:
-----------
[VPlan] Use vector tripcount if computable when simplifying conds. (#151034)
Update isConditionTrueViaVFAndUF to use the vector trip count if
computable. This is the case when it has been materialized to a
constant. Otherwise fall back to the trip count.
PR: https://github.com/llvm/llvm-project/pull/151034
Commit: 300e41d72fc4f04b3cd6e65bd56a01643bf7f060
https://github.com/llvm/llvm-project/commit/300e41d72fc4f04b3cd6e65bd56a01643bf7f060
Author: Adam Nemet <anemet at apple.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
Log Message:
-----------
[CG] Add VTs for v[567]i1 and v[567]f16 (#151763)
We already had corresponding f32 and i32 vector types for these sizes.
Also add VTs v[567]i8 and v[567]i16: these are needed by the Hexagon
backend which for each i1 vector types want to query information about
the corresponding i8 and i16 types in
HexagonTargetLowering::getPreferredHvxVectorAction.
Commit: d3589edafca1f893188540c8e85a1fa1a4dd22c1
https://github.com/llvm/llvm-project/commit/d3589edafca1f893188540c8e85a1fa1a4dd22c1
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
M llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/DirectX/MCTargetDesc/DirectXMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
Log Message:
-----------
MCAsmBackend::applyFixup: Change `Data` to indicate the relocated location
`Data` now references the first byte of the fixup offset within the current fragment.
MCAssembler::layout asserts that the fixup offset is within either the
fixed-size content or the optional variable-size tail, as this is the
most the generic code can validate without knowing the target-specific
fixup size.
Many backends applyFixup assert
```
assert(Offset + Size <= F.getSize() && "Invalid fixup offset!");
```
This refactoring allows a subsequent change to move the fixed-size
content outside of MCSection::ContentStorage, fixing the
-fsanitize=pointer-overflow issue of #150846
Pull Request: https://github.com/llvm/llvm-project/pull/151724
Commit: a3808d9a67649a091f459c66db787d78ef6778df
https://github.com/llvm/llvm-project/commit/a3808d9a67649a091f459c66db787d78ef6778df
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
Log Message:
-----------
MC: Remove unused MCEncodedFragment
Commit: 8e9e38acc8ff4c3bcae74e85a65e499947264782
https://github.com/llvm/llvm-project/commit/8e9e38acc8ff4c3bcae74e85a65e499947264782
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cmp.ll
Log Message:
-----------
[X86] Try to shrink i64 compares if the input has enough sign bits (#149719)
If there are enough sign bits in a 64 bit value, we can just compare the bottom 32 bits.
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 9d7a23304497742612af7b33b94b99a7c9d06701
https://github.com/llvm/llvm-project/commit/9d7a23304497742612af7b33b94b99a7c9d06701
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
Log Message:
-----------
Revert "[RISCV] Refactor X60 scheduling model helper classes. NFC. (#151572)"
This reverts commit 969b246c0218a05a0ed0e237f4f92d28554b88c2.
The commit caused ubsan failure:
```
/home/ray/llvm/llvm/lib/TableGen/Record.cpp:1567:41: runtime error: shift exponent 18446744073709551612 is too large for 64-bit type 'uint64_t' (aka 'unsigned long')
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/ray/llvm/llvm/lib/TableGen/Record.cpp:1567:41
```
Commit: f1aa6050bd90f8ec4273da55d362e23905ad3a81
https://github.com/llvm/llvm-project/commit/f1aa6050bd90f8ec4273da55d362e23905ad3a81
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
A llvm/test/MC/ELF/many-instructions.s
Log Message:
-----------
MCFragment: Use trailing data for fixed-size part
Reapply after #151724 switched to `char *Data`, fixing a
-fsanitize=pointer-overflow issue in MCAssembler::layout.
---
The fixed-size content of the MCFragment object is now stored as
trailing data, replacing ContentStart/ContentEnd with ContentSize. The
available space for trailing data is tracked using `FragSpace`. If the
available space is insufficient, a new block is allocated within the
bump allocator `MCObjectStreamer::FragStorage`.
FragList::Tail cannot be reused when switching sections or subsections,
as it is not associated with the fragment space tracked by `FragSpace`.
Instead, allocate a new fragment, which becomes less expensive after #150574.
Data can only be appended to the tail fragment of a subsection, not to
fragments in the middle. Post-assembler-layout adjustments (such as
.llvm_addrsig and .llvm.call-graph-profile) have been updated to use the
variable-size part instead.
Pull Request: https://github.com/llvm/llvm-project/pull/150846
Commit: dfbf13cded64983e0a7512bcdcab577732671ec6
https://github.com/llvm/llvm-project/commit/dfbf13cded64983e0a7512bcdcab577732671ec6
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll
M llvm/test/lit.cfg.py
Log Message:
-----------
[LLVM] adjust lit.cfg.py for Cygwin (#151416)
Cygwin is like Windows in that it uses COFF, and doesn't emit
.debug_frame on 64-bit architectures.
However, if -elf is appended to the target triple on Cygwin MCJIT remote
tests fail due to `__register_frame` not being defined. Only one test
fails without -elf that succeeds with it, so mark just that test as
XFAIL on Cygwin.
Commit: 7598c25b5a2a4e81a302cc775a7882c793cfe6fb
https://github.com/llvm/llvm-project/commit/7598c25b5a2a4e81a302cc775a7882c793cfe6fb
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scale.pk.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] v_cvt_scale_pk16 gfx1250 instructions (#151804)
Commit: f952a84f2f913c6f93a85af07e86b1a87778d349
https://github.com/llvm/llvm-project/commit/f952a84f2f913c6f93a85af07e86b1a87778d349
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[TargetLowering] Use getShiftAmountConstant in buildSDIVPow2WithCMov.
Commit: a585d5758847dd7e4cd7d8137bea6c1577c53009
https://github.com/llvm/llvm-project/commit/a585d5758847dd7e4cd7d8137bea6c1577c53009
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/test/CodeGen/RISCV/rvv/vsha2cl.ll
Log Message:
-----------
[RISCV] vsha2cl intrinsics should select vsha2cl instructions.
Fixes #151814.
Commit: c7500a2ec3baae1f0d7de0de94407d4bdb2e5d4d
https://github.com/llvm/llvm-project/commit/c7500a2ec3baae1f0d7de0de94407d4bdb2e5d4d
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
Log Message:
-----------
RISCVAsmBackend: Simplify relaxDwarfLineAddr and remove getRelocPairForSize
Instead of creating two separate fixups, create a single one. Leverage
RISCVAsmBackend::addReloc to generate ADD/SUB relocation pairs.
In a future change MCFragment::setVarFixup may be restricted to a single
fixup.
Commit: 39c30665e99145e07b0170b552f18371a67b2e03
https://github.com/llvm/llvm-project/commit/39c30665e99145e07b0170b552f18371a67b2e03
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/single-scalar-cast-minbw.ll
Log Message:
-----------
[VPlan] Update type of cloned instruction in scalarizeInstruction.
The operands of the replicate recipe may have been narrowed, resulting
in a narrower result type. Update the type of the cloned instruction to
the correct type.
Fixes https://github.com/llvm/llvm-project/issues/151392.
Commit: d696f8104e422f807d64b4d5d24c6e7bc22d429f
https://github.com/llvm/llvm-project/commit/d696f8104e422f807d64b4d5d24c6e7bc22d429f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
[clang-format][NFC] Maximize usage of isOneOf() in TokenAnnotator (#151658)
Also make a StringRef literal `static constexpr`.
Commit: c330585bc78ec356a9d050832565999abb8ad1d4
https://github.com/llvm/llvm-project/commit/c330585bc78ec356a9d050832565999abb8ad1d4
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
Log Message:
-----------
LoongArchAsmBackend: Simplify relaxDwarfLineAddr and remove getRelocPairForSize
Instead of creating two separate fixups, create a single one. Leverage
LoongArchAsmBackend::addReloc to generate ADD/SUB relocation pairs.
In a future change MCFragment::setVarFixup may be restricted to a single
fixup.
Similar to c7500a2ec3baae1f0d7de0de94407d4bdb2e5d4d
Commit: bc463c059ccc5652c0c63e86f82d38d94efe1dbd
https://github.com/llvm/llvm-project/commit/bc463c059ccc5652c0c63e86f82d38d94efe1dbd
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk16.gfx1250.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] v_cvt_scalef32_pk16_* gfx1250 instructions (#151807)
Commit: 281df9e64720c3ab1c5e03d05087d3fab752d459
https://github.com/llvm/llvm-project/commit/281df9e64720c3ab1c5e03d05087d3fab752d459
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
Log Message:
-----------
RISCVAsmBackend::relaxDwarflineAddr: Try special opcode
LoongArch #77728 did better than RISCV.
If the label difference can be resolved (there is no linker-relaxable
fragment in between), we should use the default handling, which utilizes
a shorter special opcode.
Commit: bb3cd6221b207e13a430d8cd438e1d4212b80aa4
https://github.com/llvm/llvm-project/commit/bb3cd6221b207e13a430d8cd438e1d4212b80aa4
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/atanhf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atanhf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atanhf16.cpp
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/explogxf.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor atanhf16 implementation to header-only in src/__support/math folder. (#151779)
Part of #147386
in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: b7b501e54c1e711fb838a2e881ec1e6d99ce2e38
https://github.com/llvm/llvm-project/commit/b7b501e54c1e711fb838a2e881ec1e6d99ce2e38
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/test/Analysis/undef-call.c
M clang/test/CodeGen/thinlto_backend.ll
M clang/test/CodeGenCXX/module-intializer-pmf.cpp
M clang/test/CodeGenCXX/profile-remap.cpp
M clang/test/Driver/HLSL/metal-converter.hlsl
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/check-time-trace-ParseDeclarationOrFunctionDefinition.cpp
M clang/test/Driver/cl-showfilenames.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/mingw-sysroot.cpp
M clang/test/Modules/implicit-module-header-maps.cpp
M clang/test/Preprocessor/lang-std.cpp
Log Message:
-----------
Reapply "[clang] Remove %T from tests (#151614)"
This reverts commit 4c80193a58a5c24e2bbebe291feb406191c4e2ab.
This relands the commit. The issues have theoretically been fixed.
Commit: 5f8338749aa2fab742960b013809e1e0a8fbcfdd
https://github.com/llvm/llvm-project/commit/5f8338749aa2fab742960b013809e1e0a8fbcfdd
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M libc/src/__support/math/atanhf16.h
Log Message:
-----------
[libc] fix build errors caused by atanhf16. (#151838)
Commit: 21f1f9558df3830ffa637def364e3c0cb0dbb3c0
https://github.com/llvm/llvm-project/commit/21f1f9558df3830ffa637def364e3c0cb0dbb3c0
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-ir2vec.rst
M llvm/test/tools/llvm-ir2vec/embeddings.ll
M llvm/test/tools/llvm-ir2vec/entities.ll
M llvm/test/tools/llvm-ir2vec/error-handling.ll
M llvm/test/tools/llvm-ir2vec/triplets.ll
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
M llvm/utils/mlgo-utils/IR2Vec/generateTriplets.py
Log Message:
-----------
[IR2Vec][llvm-ir2vec] Changing clEnumValN to cl::SubCommand (#151384)
Refactor llvm-ir2vec to use subcommands instead of a mode flag for better CLI usability.
- Converted the `--mode` flag to three distinct subcommands: `triplets`, `entities`, and `embeddings`
- Updated documentation, tests, and python script
Commit: faa931b717c02d57f0814caa9133219040e6a85b
https://github.com/llvm/llvm-project/commit/faa931b717c02d57f0814caa9133219040e6a85b
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCSection.cpp
Log Message:
-----------
MCFragment: Store the number of variable-size tail fixups as uint8_t
Decrease sizeof(MCFragment) by 8 on 64-bit machines.
Commit: d18511e10a0d737c13a7a017ef3d0655911fc22d
https://github.com/llvm/llvm-project/commit/d18511e10a0d737c13a7a017ef3d0655911fc22d
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] v_cvt_scalef32_sr_pk16_* gfx1250 instructions (#151810)
Commit: 849009c6350476d7a9968ea300e2805f1384f8cc
https://github.com/llvm/llvm-project/commit/849009c6350476d7a9968ea300e2805f1384f8cc
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] Add missing v_permlane_up_b32 test. NFC. (#151811)
Commit: 7ebbbd885f759ef5b7ae50a1b07f810296c4967f
https://github.com/llvm/llvm-project/commit/7ebbbd885f759ef5b7ae50a1b07f810296c4967f
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
M llvm/test/CodeGen/AMDGPU/load-local-i16.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
A llvm/test/CodeGen/RISCV/rvv/fp4-bitcast.ll
Log Message:
-----------
[DAG] Always use stack to promote bitcast when the source is vector (#151065)
The optimization introduced by #125637 tried to avoid using stacks to
promote bitcast with vector result type. However, it wouldn't be correct
if the input type is vector. This patch limits that optimizations to
only scalar to vector bitcasts.
Commit: 779868de6975f6fd0ea17bb9a8e929037d3752d7
https://github.com/llvm/llvm-project/commit/779868de6975f6fd0ea17bb9a8e929037d3752d7
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M lldb/test/API/functionalities/tail_call_frames/cross_dso/TestCrossDSOTailCalls.py
M lldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py
Log Message:
-----------
[lldb][test] Skip tail_call_frames tests on older Clang versions
These have been un-XFAILed in
`ebe6eba62580592af7065a36b22d929c15291e9a`, but require following Clang
fix: https://github.com/llvm/llvm-project/pull/150022. So skip older
compilers.
Commit: cd19fbad093f2834bfafa6ee1535a48c8d453077
https://github.com/llvm/llvm-project/commit/cd19fbad093f2834bfafa6ee1535a48c8d453077
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/include/math.yaml
Log Message:
-----------
[libc] Enable float math functions on the GPU (#151841)
This patch adds the `tanpif` math functions to the GPU build. It also
adds the `cospif` and `sinpif` math functions to the `math.h` header.
Commit: 7de0da40c0938e1ea7c11a672ae5a329dcf92def
https://github.com/llvm/llvm-project/commit/7de0da40c0938e1ea7c11a672ae5a329dcf92def
Author: timon-ul <timon.ulrich at advantest.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
Log Message:
-----------
[clangd] Support invoking call hierarchy on enum constants (#147042)
Fixes https://github.com/clangd/clangd/issues/2203
Commit: 1da76b42ae437235a6be2c75d91b8d4e04a6d1da
https://github.com/llvm/llvm-project/commit/1da76b42ae437235a6be2c75d91b8d4e04a6d1da
Author: Jouni <dz4tune at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
Log Message:
-----------
[clangd][NFC] Make some local variables HeaderSourceSwitch.cpp const and constexpr (#143193)
Commit: 1c1432f5d2001885d9f816ef03d5164bab7c55d5
https://github.com/llvm/llvm-project/commit/1c1432f5d2001885d9f816ef03d5164bab7c55d5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Remove duplicate vsha2ch/vsha2cl/vsha2ms i32 patterns. NFC (#151835)
We had separate i32 patterns for Zvknha and Zvknhb. Use an Or predicate
to combine them.
Commit: 8259be65c7d60d6ccba4ee168f275076061029e2
https://github.com/llvm/llvm-project/commit/8259be65c7d60d6ccba4ee168f275076061029e2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.cpp
Log Message:
-----------
[clang][bytecode] Remove unused includes (#151848)
UnsignedOrNone.h from PrimType.h and ASTLambda.h from Function.h.
Commit: c76a9afe248ac88a19a1c0a2ed456c86c7c55ad3
https://github.com/llvm/llvm-project/commit/c76a9afe248ac88a19a1c0a2ed456c86c7c55ad3
Author: Mythreya Kuricheti <git at mythreya.dev>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/unittests/Tooling/HeaderIncludesTest.cpp
Log Message:
-----------
[clang][Tooling] Choose header insertion location in global module fragment (#151624)
Ensures that headers are inserted after `module;` declaration by
updating minimum offset.
Commit: 49b5a1fa71d5af2b463c327e17017c754eb50801
https://github.com/llvm/llvm-project/commit/49b5a1fa71d5af2b463c327e17017c754eb50801
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fmuladd.f32.ll
Log Message:
-----------
[AMDGPU] fmuladd.f32.ll - clean up prefixes and regenerate checks (#151832)
Automate the fmuladd.f32.ll test checks as manually fixing changes while
working on the topological dag patches was doing my head in
Commit: f72b3ec85267af38d55cd80060415079780406a4
https://github.com/llvm/llvm-project/commit/f72b3ec85267af38d55cd80060415079780406a4
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/infrastructure/run-clang-tidy-enable-check-profile.cpp
Log Message:
-----------
[clang-tidy] Add 'enable-check-profiling' with aggregated results to 'run-clang-tidy' (#151011)
Add new option `enable-check-profiling` to `run-clang-tidy` for seamless
integration of `clang-tidy`'s `enable-check-profiling` option.
`run-clang-tidy` will post aggregated results report in the same style
as `clang-tidy`.
This PR will help users to benchmark their `clang-tidy` runs easily.
Also, `clang-tidy` developers could build benchmark infrastructure in
the future.
Commit: d9971be83e5d23631b04b3ce40bfb2be01b6085e
https://github.com/llvm/llvm-project/commit/d9971be83e5d23631b04b3ce40bfb2be01b6085e
Author: David Green <david.green at arm.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/load-cmp.ll
Log Message:
-----------
[InstCombine] Make foldCmpLoadFromIndexedGlobal more resilient to non-array geps. (#150639)
My understanding is that gep [n x i8] and gep i8 can be treated
equivalently - the array type conveys no extra information and could be
removed. This goes through foldCmpLoadFromIndexedGlobal and tries to
make it work for non-array gep types, so long as the index type still
matches the array being loaded.
Commit: 69bec0afbb8f2aa0021d18ea38768360b16583a9
https://github.com/llvm/llvm-project/commit/69bec0afbb8f2aa0021d18ea38768360b16583a9
Author: Wesley Wiser <wwiser at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
A llvm/test/CodeGen/X86/avx512f-large-stack.ll
M llvm/test/CodeGen/X86/huge-stack.ll
A llvm/test/CodeGen/X86/large-displacements-fastisel.ll
A llvm/test/CodeGen/X86/large-displacements.ll
M llvm/test/CodeGen/X86/merge-huge-sp-updates.ll
M llvm/test/CodeGen/X86/stack-clash-extra-huge.ll
M llvm/test/CodeGen/X86/stack-clash-huge.ll
M llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll
Log Message:
-----------
[X86] Correct 32-bit immediate assertion and fix 64-bit lowering for huge frame offsets (#123872)
The assertion previously did not work correctly because the operand was
being truncated to an `int` prior to comparison.
Change the assertion into a a reported error as suggested in
https://github.com/llvm/llvm-project/pull/101840#issuecomment-2304992425
by @arsenm
Finally, fix the lowering on 64-bit targets so that offsets larger than
32-bit are correctly addressed and add tests for various reported
issues.
Commit: 5325f2b93065ed2981d51a266bea54c0f5ebd632
https://github.com/llvm/llvm-project/commit/5325f2b93065ed2981d51a266bea54c0f5ebd632
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/.clang-tidy
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Enable 'performance-move-const-arg' in '.clang-tidy' config (#148549)
Set `performance-move-const-arg.CheckTriviallyCopyableMove` option to
`false` because "trivially copyable" is too strict and give warning for
e.g. `MixData` class:
https://github.com/llvm/llvm-project/blob/1fbfa333f64bf714efa84db6b1075fc864d53bf8/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp#L389
Here:
https://github.com/llvm/llvm-project/blob/1fbfa333f64bf714efa84db6b1075fc864d53bf8/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp#L504-L505
I find `std::move` here useful.
Commit: c3902e46b748cd808fbffeea25489bb41b15a6b2
https://github.com/llvm/llvm-project/commit/c3902e46b748cd808fbffeea25489bb41b15a6b2
Author: Andrey <andrey.a.davydov at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.cpp
Log Message:
-----------
[clang-tidy] fix `bugprone-narrowing-conversions` false positive for conditional expression (#139474)
Let's consider the following code from the issue #139467:
```c
void test(int cond, char c) {
char ret = cond > 0 ? ':' : c;
}
```
Initializer of `ret` looks the following:
```
-ImplicitCastExpr 'char' <IntegralCast>
`-ConditionalOperator 'int'
|-BinaryOperator 'int' '>'
| |-ImplicitCastExpr 'int' <LValueToRValue>
| | `-DeclRefExpr 'int' lvalue ParmVar 'cond' 'int'
| `-IntegerLiteral 'int' 0
|-CharacterLiteral 'int' 58
`-ImplicitCastExpr 'int' <IntegralCast>
`-ImplicitCastExpr 'char' <LValueToRValue>
`-DeclRefExpr 'char' lvalue ParmVar 'c' 'char'
```
So it could be seen that `RHS` of the conditional operator is
`DeclRefExpr 'c'` which is casted to `int` and then the whole
conditional expression is casted to 'char'. But this last conversion is
not narrowing, because `RHS` was `char` _initially_. We should just
remove the cast from `char` to `int` before the narrowing conversion
check.
Fixes #139467
Commit: b983ce8145622160b65736bbe4b73860d5557b0c
https://github.com/llvm/llvm-project/commit/b983ce8145622160b65736bbe4b73860d5557b0c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
Log Message:
-----------
[VPlan] handleMaxMinNumReductions - fix gcc Wparentheses warning. NFC.
Commit: 2579ffccc7258830dc7b1635c60ad2a24f7060bd
https://github.com/llvm/llvm-project/commit/2579ffccc7258830dc7b1635c60ad2a24f7060bd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp
Log Message:
-----------
[HLSL] MetadataParser::parseRootDescriptors - fix gcc Wparentheses warning. NFC.
Commit: e44a14e9ac4f5bfc6f274a24689377eeba509146
https://github.com/llvm/llvm-project/commit/e44a14e9ac4f5bfc6f274a24689377eeba509146
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
R clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.c
R clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.cpp
Log Message:
-----------
Revert "[clang-tidy] fix `bugprone-narrowing-conversions` false positive for conditional expression" (#151859)
Reverts llvm/llvm-project#139474 due to lit test failures on `arm`
platforms.
Commit: 559d1dff891682ec66d4a987dfa0b9404c7af3e4
https://github.com/llvm/llvm-project/commit/559d1dff891682ec66d4a987dfa0b9404c7af3e4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
Log Message:
-----------
[VPlan] Materialize BackedgeTakenCount using VPInstructions.
Explicitly compute the backedge-taken count using VPInstruction. This is
needed to model the full skeleton in VPlan.
NFC modulo some instruction re-ordering.
Commit: b16fe132c68834a601b29c0eb53c7ec25a3cd627
https://github.com/llvm/llvm-project/commit/b16fe132c68834a601b29c0eb53c7ec25a3cd627
Author: tigbr <gabor.tothvari at ericsson.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/tagged-union-member-count.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/tagged-union-member-count/stdnamespace.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/tagged-union-member-count/system/pthread.h
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.m
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.mm
Log Message:
-----------
[clang-tidy] Fix bugprone-tagged-union-member-count false-positive (#135831)
This patch implements a fix for the false-positive case described in
[issue #134840](https://github.com/llvm/llvm-project/issues/134840) for
the
[bugprone-tagged-union-member-count](https://clang.llvm.org/extra/clang-tidy/checks/bugprone/tagged-union-member-count.html)
clang-tidy check.
The example given in the linked issue was the following:
```C
#include <pthread.h>
typedef enum {
MYENUM_ONE,
MYENUM_TWO,
} myEnumT;
typedef struct {
pthread_mutex_t mtx;
myEnumT my_enum;
} myTypeT;
```
The
[bugprone-tagged-union-member-count](https://clang.llvm.org/extra/clang-tidy/checks/bugprone/tagged-union-member-count.html)
check emits the following a warning for this struct:
```
<source>:8:9: warning: tagged union has more data members (3) than tags (2)! [bugprone-tagged-union-member-count]
8 | typedef struct {
| ^
1 warning generated.
```
The issue is that `pthread_mutex_t` can be a union behind a typedef like
the following:
```C
typedef union
{
struct __pthread_mutex_s __data;
char __size[__SIZEOF_PTHREAD_MUTEX_T];
long int __align;
} pthread_mutex_t;
```
>From the checker's point of view therefore `myTypeT` contains a data
member with an enum type and another data member with a union type and
starts analyzing it like a user-defined tagged union.
The proposed solution is that the types from system headers and the std
namespace are no longer candidates to be the enum part or the union part
of a user-defined tagged union. This filtering for enums and the std
namespace may not be strictly necessary in this example, however I added
it preemptively out of (perhaps unnecessary) caution.
Fixes https://github.com/llvm/llvm-project/issues/134840.
Commit: fca9f70e420899b6a61c6d9b46b3e8479d3a431e
https://github.com/llvm/llvm-project/commit/fca9f70e420899b6a61c6d9b46b3e8479d3a431e
Author: David Green <david.green at arm.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/AArch64/interleave_vec.ll
Log Message:
-----------
[AArch64] Add some simple phase ordering tests for interleaving at various factors. NFC
Commit: 8b7f81f2de1faceaa29b2c148d99b663d23f7110
https://github.com/llvm/llvm-project/commit/8b7f81f2de1faceaa29b2c148d99b663d23f7110
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang/include/clang/Sema/SemaHLSL.h
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp
R clang/test/Interpreter/assigment-with-implicit-ctor.cpp
A clang/test/Interpreter/assignment-with-implicit-ctor.cpp
M clang/test/SemaCXX/warn-self-assign-builtin.cpp
M clang/test/SemaCXX/warn-self-assign-field-builtin.cpp
M clang/test/SemaCXX/warn-self-assign-field-overloaded.cpp
M clang/test/SemaCXX/warn-self-assign-overloaded.cpp
M clang/unittests/Format/FormatTest.cpp
M flang-rt/include/flang-rt/runtime/type-info.h
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
M lldb/unittests/Utility/ScalarTest.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
Log Message:
-----------
[NFC] Fix `assignment` typo. (#151864)
Commit: d0d3f15c383e380dcb5c57c322f34a970dc326df
https://github.com/llvm/llvm-project/commit/d0d3f15c383e380dcb5c57c322f34a970dc326df
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
A llvm/test/CodeGen/Generic/fp128-exp10-libcall.ll
M llvm/test/CodeGen/Generic/fp128-math-libcalls.ll
M llvm/test/CodeGen/X86/exp10-libcall-names.ll
A llvm/test/CodeGen/X86/exp10l-libcall-names.ll
Log Message:
-----------
RuntimeLibcalls: Stop opting out of exp10 (#148604)
Commit: c068f8b408f677d953704e470f243e96cd310af5
https://github.com/llvm/llvm-project/commit/c068f8b408f677d953704e470f243e96cd310af5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
Log Message:
-----------
[Scalar] Remove an unnecessary cast (NFC) (#151849)
LoadType is already of Type *.
Commit: 3549134836a8b162f6ddcba7e203e17ee568b4ef
https://github.com/llvm/llvm-project/commit/3549134836a8b162f6ddcba7e203e17ee568b4ef
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[Vectorize] Remove an unnecessary cast (NFC) (#151850)
getNumElements() already returns unsigned.
Commit: 3412735d290e3b7dd25e77fc6be510e38fc6700a
https://github.com/llvm/llvm-project/commit/3412735d290e3b7dd25e77fc6be510e38fc6700a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm-readobj] Remove an unnecessary cast (NFC) (#151851)
Addr is already of const uint8_t *.
Commit: 32bc2512a3f596ed176b0e8c1a2566e9229db825
https://github.com/llvm/llvm-project/commit/32bc2512a3f596ed176b0e8c1a2566e9229db825
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
Log Message:
-----------
[Sema] Use llvm::iterator_range::empty (NFC) (#151852)
Commit: 90f1e04954daff087166c1072ad908d62e6ac6c9
https://github.com/llvm/llvm-project/commit/90f1e04954daff087166c1072ad908d62e6ac6c9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/test/Modules/implicit-module-header-maps.cpp
Log Message:
-----------
[clang] Try fixing implicit-module-header-maps.cpp
This is still crashing on AIX and Solaris. It looks like maybe issues
due to trying to delete the current working directory. cd to the source
directory beforehand to try and work around that.
Commit: 84fa58c5d8963ecfd33d6fa7edbe59039b99ceb2
https://github.com/llvm/llvm-project/commit/84fa58c5d8963ecfd33d6fa7edbe59039b99ceb2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/docs/ProgrammersManual.rst
Log Message:
-----------
[llvm] Proofread ProgrammersManual.rst (#151853)
Co-authored-by: Tim Gymnich <tim at gymni.ch>
Commit: 408fe1d369df926eecd6c15ce939d38652b4b58d
https://github.com/llvm/llvm-project/commit/408fe1d369df926eecd6c15ce939d38652b4b58d
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
Log Message:
-----------
[NFC][run-clang-tidy] Add minor type hints (#151873)
This script passes
```
python3 -m mypy --strict clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
```
Commit: a048aeb06e5de571eadd646860c320b9a67d1efc
https://github.com/llvm/llvm-project/commit/a048aeb06e5de571eadd646860c320b9a67d1efc
Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/lib/Analysis/ThreadSafety.cpp
M clang/test/SemaCXX/warn-thread-safety-negative.cpp
Log Message:
-----------
Thread safety analysis: Don't warn on acquiring reentrant capability (#150857)
The point of reentrant capabilities is that they can be acquired
multiple times, so they should probably be excluded from requiring a
negative capability on acquisition via -Wthread-safety-negative.
However, we still propagate explicit negative requirements.
Commit: 003f6ada15970608c183563949e73320b0fea36a
https://github.com/llvm/llvm-project/commit/003f6ada15970608c183563949e73320b0fea36a
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/cbrt.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/cbrt.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/cbrt.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor cbrt implementation to header-only in src/__support/math folder. (#151837)
Part of #147386
in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: d7f00a9f9554825d35bd864be1e44e74a133d5b6
https://github.com/llvm/llvm-project/commit/d7f00a9f9554825d35bd864be1e44e74a133d5b6
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M libc/src/__support/math/cbrt.h
Log Message:
-----------
[libc] fix build errors caused by cbrt. (#151879)
Commit: 09a6a255bd2013f41f22c870d3e220df2e49b2fd
https://github.com/llvm/llvm-project/commit/09a6a255bd2013f41f22c870d3e220df2e49b2fd
Author: Ebin-McW <ebin.jose at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/convert_functions.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/nan.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/shuffle.ll
A llvm/test/CodeGen/SPIRV/transcoding/printf.ll
Log Message:
-----------
[SPIRV] Ported tests to transcoding directory from the translator (#151662)
- Checks for printf calls
- Handling of convert_* builtins and fallback
- Generation of nan and shuffle OpExtInst
Commit: f3e7b355c58b3080e23fb8d9a415a15410088cd6
https://github.com/llvm/llvm-project/commit/f3e7b355c58b3080e23fb8d9a415a15410088cd6
Author: Ebin-McW <ebin.jose at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/memcpy.align.ll
Log Message:
-----------
[SPIRV] Test file for memcpy intrinsic (#151657)
Test lowering of llvm.memcpy intrinsics to OpCopyMemorySized with
alignment.
Commit: 95e96b94d75e975470ccb7dfa41df776bb289f8d
https://github.com/llvm/llvm-project/commit/95e96b94d75e975470ccb7dfa41df776bb289f8d
Author: Aadesh Premkumar <aadesh.premkumar at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/entry-point-interfaces.ll
A llvm/test/CodeGen/SPIRV/get_global_size.ll
A llvm/test/CodeGen/SPIRV/layout.ll
Log Message:
-----------
[SPIRV] Addition of entry-point-interfaces.ll, get_global_size.ll, layout.ll test files (#151648)
--Test that verifies correct emission of OpEntryPoint and interface
variables for SPIR-V when using multiple global constants in the kernel
entry point.
--Test that verifies code generation for get_global_size() calls.
--Test that verifies SPIR-V layout and initialization of various global
variables.
Commit: 9591f16a5ada294fa825a2581fed568ee1f24597
https://github.com/llvm/llvm-project/commit/9591f16a5ada294fa825a2581fed568ee1f24597
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCCodeView.h
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
Move FragmentAllocator from MCContext to MCObjectStreamer
In MCContext::reset, delete a stale comment as MCCodeView no longer
owns or deallocates MCFragment.
Commit: 72fbf107555a95c380b32a7df20d88f0a24f868f
https://github.com/llvm/llvm-project/commit/72fbf107555a95c380b32a7df20d88f0a24f868f
Author: Aadesh Premkumar <aadesh.premkumar at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/SpecConstants/spec-constant-length-array.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/bitreverse_small_type.ll
Log Message:
-----------
[SPIRV] Addition of spe-constant-length-array.ll, bit_reverse_small_type.ll test files (#151645)
--Test for support for specialization constant-based variable-length
--Test for ensuring that encoding of variable with undef initializer has
correct
--Test for bitreverse intrinsic with small types
Commit: bc0f696b1fbf85b16bc9493b3e0e7027eb32f638
https://github.com/llvm/llvm-project/commit/bc0f696b1fbf85b16bc9493b3e0e7027eb32f638
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Log Message:
-----------
MCSymbol: Replace isELF with MCContext::isELF
Commit: f9be391dd7cf04d83525cfccc954c80c6f05d15d
https://github.com/llvm/llvm-project/commit/f9be391dd7cf04d83525cfccc954c80c6f05d15d
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety] Handle pruned-edges (null blocks) in dataflow (#150670)
Fix a crash in the lifetime safety dataflow analysis when handling null CFG blocks.
Added a null check for adjacent blocks in the dataflow analysis algorithm to prevent dereferencing null pointers. This occurs when processing CFG blocks with unreachable successors or predecessors.
Original crash: https://compiler-explorer.com/z/qfzfqG5vM
Fixes https://github.com/llvm/llvm-project/issues/150095
Commit: 29d9c4a6fe869a1800bb44f125c09a9442413451
https://github.com/llvm/llvm-project/commit/29d9c4a6fe869a1800bb44f125c09a9442413451
Author: Aadesh Premkumar <aadesh.premkumar at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/tan.ll
A llvm/test/CodeGen/SPIRV/zero-length-array.ll
Log Message:
-----------
[SPIRV] Addition of test files for @llvm.tan and zero_length_array.ll (#142097)
Co-authored-by: Michal Paszkowski <michal at michalpaszkowski.com>
Commit: 3a1cb68fb6419ca1fcf7bf2cf0c6cb87ff71ce37
https://github.com/llvm/llvm-project/commit/3a1cb68fb6419ca1fcf7bf2cf0c6cb87ff71ce37
Author: Ebin-McW <ebin.jose at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/GlobalVarAddrspace.ll
A llvm/test/CodeGen/SPIRV/SamplerArgNonKernel.ll
A llvm/test/CodeGen/SPIRV/align-duplicate.ll
A llvm/test/CodeGen/SPIRV/duplicate-types.ll
Log Message:
-----------
[SPIRV] Porting 4 tests from Translator (#151678)
Tests that checks:
- Duplicate alignment
- Duplicate types
- Non-function storage class for global variable
- Generating image instructions from opencl builtins
---------
Co-authored-by: Michal Paszkowski <michal at michalpaszkowski.com>
Commit: b03d1e1e2e8e4b0b4b9e035b7ad9fb86dccefb93
https://github.com/llvm/llvm-project/commit/b03d1e1e2e8e4b0b4b9e035b7ad9fb86dccefb93
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[NFC][ELF] Add missing blank line between functions
Fixes: b42f96bc057f ("[lld] Add thunks for hexagon (#111217)")
Commit: de15d365743e16848a9d15fc32ae6ab98d399ec2
https://github.com/llvm/llvm-project/commit/de15d365743e16848a9d15fc32ae6ab98d399ec2
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[NFC][ELF][Hexagon] Avoid pointless ArrayRef::drop_front
Fixes: b42f96bc057f ("[lld] Add thunks for hexagon (#111217)")
Commit: 723b40a8d92f76fc913ef21061fc3d74e8c47441
https://github.com/llvm/llvm-project/commit/723b40a8d92f76fc913ef21061fc3d74e8c47441
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF][Hexagon] Fix host endianness assumption
Fixes: b42f96bc057f ("[lld] Add thunks for hexagon (#111217)")
Commit: 1c75c829dc4f47575e1e702009b511f9cd0da2cb
https://github.com/llvm/llvm-project/commit/1c75c829dc4f47575e1e702009b511f9cd0da2cb
Author: VISHAKH PRAKASH <vishakh.prakash at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/fp-to-int-intrinsics.ll
Log Message:
-----------
[SPIRV] support for the intrinsic @llvm.fptosi.sat.* and @llvm.fptoui.sat.* (#129222)
Add support for the intrinsic @llvm.fptosi.sat.* and @llvm.fptoui.sat.*
- add legalizer for G_FPTOSI_SAT and G_FPTOUI_SAT
- add instructionSelector for G_FPTOSI_SAT and G_FPTOUI_SAT
- add function to add saturatedConversion decoration to the intrinsic
---------
Co-authored-by: Dmitry Sidorov <dmitry.sidorov at intel.com>
Co-authored-by: Ebin-McW <ebin.jose at multicorewareinc.com>
Co-authored-by: Michal Paszkowski <michal at michalpaszkowski.com>
Commit: e2d761df321a711234470b7596a47ccd6ffd665d
https://github.com/llvm/llvm-project/commit/e2d761df321a711234470b7596a47ccd6ffd665d
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
Log Message:
-----------
MCSymbolELF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 5570ce5cefdae8f5c16b3733a594bc509ece990b
https://github.com/llvm/llvm-project/commit/5570ce5cefdae8f5c16b3733a594bc509ece990b
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
Log Message:
-----------
MCSymbolELF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: e640ca8b9adc390325e2c0406b0032dd24563c75
https://github.com/llvm/llvm-project/commit/e640ca8b9adc390325e2c0406b0032dd24563c75
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
Log Message:
-----------
MCSymbolELF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: b51ff2705fe15a214ba234dae221c39b105fa57c
https://github.com/llvm/llvm-project/commit/b51ff2705fe15a214ba234dae221c39b105fa57c
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
Log Message:
-----------
MCSymbolELF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 5d5ce06cae12cd129cefd8f2d6ba2b6150fb18fd
https://github.com/llvm/llvm-project/commit/5d5ce06cae12cd129cefd8f2d6ba2b6150fb18fd
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
Log Message:
-----------
MCSymbolELF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 7efb70ff6f4d061652970fdbef208cfbcaf02198
https://github.com/llvm/llvm-project/commit/7efb70ff6f4d061652970fdbef208cfbcaf02198
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/MC/MCSymbolELF.h
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
Log Message:
-----------
MCSymbolELF: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: b2f0ffd659e7eb3d17fedad5de21a122cc58c4ef
https://github.com/llvm/llvm-project/commit/b2f0ffd659e7eb3d17fedad5de21a122cc58c4ef
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/test/CodeGen/AVR/llvm.sincos.ll
M llvm/test/TableGen/RuntimeLibcallEmitter.td
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
Log Message:
-----------
RuntimeLibcalls: Really move default libcall handling to tablegen (#148780)
Hack in the default setting so it's consistently generated like
the other cases. Maintain a list of targets where this applies.
The alternative would require new infrastructure to sort the system
library initialization in some way.
I wanted the unhandled target case to be treated as a fatal
error, but it turns out there's a hack in IRSymtab using
RuntimeLibcalls, which will fail out in many tests that
do not have a triple set. Many of the failures are simply
running llvm-as with no triple, which probably should not
depend on knowing an accurate set of calls.
Commit: 441fff7ebe6bad3502da368236885f76cf9e5f30
https://github.com/llvm/llvm-project/commit/441fff7ebe6bad3502da368236885f76cf9e5f30
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/CodeGen/XCore/llvm.sincos.ll
Log Message:
-----------
XCore: Fix broken check lines in test
Commit: 45a061b8c81837d8283bcf4ad79df7d0f60b19a5
https://github.com/llvm/llvm-project/commit/45a061b8c81837d8283bcf4ad79df7d0f60b19a5
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbolCOFF.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
Log Message:
-----------
MCSymbolCOFF: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 570e09047c23108d5498326cb259e4b79288ddc4
https://github.com/llvm/llvm-project/commit/570e09047c23108d5498326cb259e4b79288ddc4
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbolWasm.h
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCParser/WasmAsmParser.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
Log Message:
-----------
MCSymbolWasm: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 85f00707dd651d6c09c25aab882dc568a1f32f52
https://github.com/llvm/llvm-project/commit/85f00707dd651d6c09c25aab882dc568a1f32f52
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
Log Message:
-----------
MCSymbolMachO: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: d6c2e531518e84d154f1f1dccdf4967dbe26b500
https://github.com/llvm/llvm-project/commit/d6c2e531518e84d154f1f1dccdf4967dbe26b500
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
Log Message:
-----------
MCSymbolXCOFF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: c7bacc9f26dd0b51f666fd49f0b5f1eae38a0cac
https://github.com/llvm/llvm-project/commit/c7bacc9f26dd0b51f666fd49f0b5f1eae38a0cac
Author: Austin <zhenhangwang at huawei.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/Support/BalancedPartitioning.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
Log Message:
-----------
[llvm] using wrapper llvm::sort(nfc) (#151000)
using wrapper llvm::sort(nfc)
Commit: 888d3cde3a1cc742ec5d8483c2f518c9637becbb
https://github.com/llvm/llvm-project/commit/888d3cde3a1cc742ec5d8483c2f518c9637becbb
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/lib/MC/GOFFObjectWriter.cpp
Log Message:
-----------
MCSymbolGOFF: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: b77f51f3f1137e68ed8d5190abdc50b16f48c011
https://github.com/llvm/llvm-project/commit/b77f51f3f1137e68ed8d5190abdc50b16f48c011
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbolXCOFF.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Log Message:
-----------
MCSymbolXOFF: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 9a60841dc446e954cd81d33da96e6566d617a810
https://github.com/llvm/llvm-project/commit/9a60841dc446e954cd81d33da96e6566d617a810
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/ProfileVerify.cpp
A llvm/test/Transforms/PGOProfile/prof-inject-existing.ll
M llvm/test/Transforms/PGOProfile/prof-verify-as-needed.ll
M llvm/test/Transforms/PGOProfile/prof-verify-existing.ll
A llvm/test/Transforms/PGOProfile/prof-verify-known-cold.ll
A llvm/test/Transforms/PGOProfile/prof-verify-no-entrycount.ll
M llvm/test/Transforms/PGOProfile/prof-verify.ll
Log Message:
-----------
[PGO][profcheck] ignore explicitly cold functions (#151778)
There is a case when branch profile metadata is OK to miss, namely, cold functions. The goal of the RFC (see the referenced issue) is to avoid accidental omission (and, at a later date, corruption) of profile metadata. However, asking cold functions to have all their conditional branches marked with "0" probabilities would be overdoing it. We can just ask cold functions to have an explicit 0 entry count.
This patch:
- injects an entry count for functions, unless they have one (synthetic or not)
- if the entry count is 0, doesn't inject, nor does it verify the rest of the metadata
- at verification, if the entry count is missing, it reports an error
Issue #147390
Commit: 2d4ecba957a6cd3b5228e0773ec2d52d8bc5c505
https://github.com/llvm/llvm-project/commit/2d4ecba957a6cd3b5228e0773ec2d52d8bc5c505
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/MC/MCSymbolMachO.h
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
Log Message:
-----------
MCSymbolMachO: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 5b528a1041fb6b64e5722f1bc600eb0617118a3e
https://github.com/llvm/llvm-project/commit/5b528a1041fb6b64e5722f1bc600eb0617118a3e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Remove darwin override of half convert libcalls (#148782)
These are already the default calls set for these conversions, so
they should not require explicit setting. The non-default cases are
currently overridden in ARMISelLowering. Just delete this until
the list of calls and lowering decisions are separated.
This was added back in 6402ad27c01c9503a12d41d7e40646cf0d1f919f. It
appears to not be relevant for AArch64, where calls appear to never
be used for these. It also appears to not be relevant for x86, where
the default calls seem to always end up used anyway.
Commit: d1ee636b98aae1029575af05c3dadca25620188a
https://github.com/llvm/llvm-project/commit/d1ee636b98aae1029575af05c3dadca25620188a
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/MC/MCSymbolCOFF.h
M llvm/include/llvm/MC/MCSymbolELF.h
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/include/llvm/MC/MCSymbolMachO.h
M llvm/include/llvm/MC/MCSymbolWasm.h
M llvm/include/llvm/MC/MCSymbolXCOFF.h
M llvm/lib/MC/MCContext.cpp
Log Message:
-----------
MCSymbol: Remove Kind
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to discourage dynamic dispatching on the type.
Commit: 8b03b3bd4df62af2de659434495419be2a2f4a45
https://github.com/llvm/llvm-project/commit/8b03b3bd4df62af2de659434495419be2a2f4a45
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Log Message:
-----------
MIPS: Avoid MCSymbol::isUnset
The unset state will be merged into the undefined state,
so isUnset should be avoided.
The code used by register equating uses the inaccurate condition.
```
.set r1, $4
```
For now just use isUndefined. GNU Assembler has a warning:
```
Warning: register value used as expression
```
Commit: 781e5f0b5dc78305e5726d2118c1304f0229f36b
https://github.com/llvm/llvm-project/commit/781e5f0b5dc78305e5726d2118c1304f0229f36b
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
Log Message:
-----------
PowerPC: Avoid MCSymbol::isUnset
"unset" is not a meaningful separae state and it will be merged into
"undefined".
https://reviews.llvm.org/D72570 ported a GAS hack that moves the label
when a prefixed instruction on the same source line needs automatic
alignment. However, we can used isDefined instead of isUnset.
Commit: 5478da99a169f5f65a2096cd1af86bd98c0aa50b
https://github.com/llvm/llvm-project/commit/5478da99a169f5f65a2096cd1af86bd98c0aa50b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Move __stack_chk_fail config to tablegen (#148789)
Commit: 57b0843f68f5f349c73d1bf54e321a1a6d1800bf
https://github.com/llvm/llvm-project/commit/57b0843f68f5f349c73d1bf54e321a1a6d1800bf
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/lib/MC/MCParser/AsmParser.cpp
Log Message:
-----------
MCSymbol: Remove isUnset
The isUnset state lacks significance and should be treated as equivalent
to an undefined symbol.
Equated and common symbols seem to have subtle semantic distinctions in
GAS, justifying the use of distinct `SymContents*` values.
TODO: Ensure common symbols have a fragment, so that `isDefined()`
returns true, rejecting `.comm c, 4, 4; .set c, 4`
Commit: 144cd87088dc82263b25e816c77fc03f29fd1288
https://github.com/llvm/llvm-project/commit/144cd87088dc82263b25e816c77fc03f29fd1288
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Remove target check for sjlj config (#148792)
I'm assuming this was the set of targets that were relevant
for sjlj handling. Just take the raw exception setting instead,
and assume it makes sense for the target.
Commit: a2fef664c29a53bfa8a66927fcf8b2e5c9da4876
https://github.com/llvm/llvm-project/commit/a2fef664c29a53bfa8a66927fcf8b2e5c9da4876
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
R llvm/test/MC/ELF/many-instructions.s
Log Message:
-----------
Revert "MCFragment: Use trailing data for fixed-size part"
This reverts commit f1aa6050bd90f8ec4273da55d362e23905ad3a81 (reland of #150846),
fixing conflicts.
It caused https://github.com/ClangBuiltLinux/linux/issues/2116 ,
which surfaced after a subsequent commit faa931b717c02d57f0814caa9133219040e6a85b decreased sizeof(MCFragment).
```
% /tmp/Debug/bin/clang "-cc1as" "-triple" "aarch64" "-filetype" "obj" "-main-file-name" "a.s" "-o" "a.o" "a.s"
clang: /home/ray/llvm/llvm/lib/MC/MCAssembler.cpp:615: void llvm::MCAssembler::writeSectionData(raw_ostream &, const MCSection *) const: Assertion `getContext().hadError() || OS.tell() - Start == getSectionAddressSize(*Sec)' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /tmp/Debug/bin/clang -cc1as -triple aarch64 -filetype obj -main-file-name a.s -o a.o a.s
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 libLLVMSupport.so.22.0git 0x00007cf91eb753cd llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 61
fish: Job 1, '/tmp/Debug/bin/clang "-cc1as" "…' terminated by signal SIGABRT (Abort)
```
The test is sensitive to precise fragment offsets. Using llvm-mc
-filetype=obj -triple=aarch64 a.s does not replicate the issue. However,
clang -cc1as includes an unnecessary `initSection` (adding an extra
FT_Align), which causes the problem.
Commit: 342f212d47ed90edcb8236125979941869fc6d42
https://github.com/llvm/llvm-project/commit/342f212d47ed90edcb8236125979941869fc6d42
Author: David Green <david.green at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-ext.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-vext.ll
M llvm/test/CodeGen/AArch64/arm64-vext_reverse.ll
M llvm/test/CodeGen/AArch64/extend_inreg_of_concat_subvectors.ll
Log Message:
-----------
[AArch64] Regnerate and update a number of tests. NFC
extend_inreg_of_concat_subvectors.ll was using -mattr=+global-isel, which is
now replaced by -global-isel
Commit: 28ed57eda80dc5e3b7dd01d15100c126fa4e50f6
https://github.com/llvm/llvm-project/commit/28ed57eda80dc5e3b7dd01d15100c126fa4e50f6
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/Ownership.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaInternal.h
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/CodeGenCXX/mangle-concept.cpp
M clang/test/Parser/cxx-template-template-recovery.cpp
M clang/test/Parser/cxx2a-concept-declaration.cpp
A clang/test/Parser/cxx2c-template-template-param.cpp
A clang/test/SemaCXX/cxx2c-template-template-param.cpp
M clang/utils/TableGen/ClangBuiltinTemplatesEmitter.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[Clang] Initial support for P2841 (Variable template and concept template parameters) (#150823)
This is a first pass at implementing
[P2841R7](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p2841r7.pdf).
The implementation is far from complete; however, I'm aiming to do that
in chunks, to make our lives easier.
In particular, this does not implement
- Subsumption
- Mangling
- Satisfaction checking is minimal as we should focus on #141776 first
(note that I'm currently very stuck)
FTM, release notes, status page, etc, will be updated once the feature
is more mature. Given the state of the feature, it is not yet allowed in
older language modes.
Of note:
- Mismatches between template template arguments and template template
parameters are a bit wonky. This is addressed by #130603
- We use `UnresolvedLookupExpr` to model template-id. While this is
pre-existing, I have been wondering if we want to introduce a different
OverloadExpr subclass for that. I did not make the change in this patch.
Commit: 549990124d1f71b1cdd0f14228a22738113b2f84
https://github.com/llvm/llvm-project/commit/549990124d1f71b1cdd0f14228a22738113b2f84
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-operands-alloca.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
Log Message:
-----------
[llvm-reduce] Do not replace lifetime pointer arg with zero/one/poison (#151697)
The lifetime argument is now required to be an alloca, so we should not
try to replace it with a constant.
We also shouldn't try to change the size argument to zero/one, similar
to how we avoid zero-size allocas.
Commit: c9684e58923babef7b994846b2208a05f3e3b31b
https://github.com/llvm/llvm-project/commit/c9684e58923babef7b994846b2208a05f3e3b31b
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
A llvm/test/CodeGen/RISCV/xqcilsm-memset.ll
Log Message:
-----------
[RISCV] Implement EmitTargetCodeForMemset for Xqcilsm (#151555)
This patch adds support for converting memset calls to one or more
`QC_SETWMI` instructions when beneficial. We only handle aligned memset
calls for now.
We limit a `QC_SETWMI` to 16 words or less to improve interruptibility.
So for `1-16` words we use a single `QC_SETWMI`:
`QC_SETWMI reg1, N, 0(reg2)`
For `17-32 `words we use two `QC_SETWMI's` with the first as 16 words
and the second for the remainder:
```
QC_SETWMI reg1, 16, 0(reg2)
QC_SETWMI reg1, N, 64(reg2)
```
For `33-48` words, we would like to use `(16, 16, n)`, but that means
the last QC_SETWMI needs an offset of `128` which the instruction
doesn't support. So in this case we use a length of `15` for the second
instruction and we do the rest with the third instruction.
This means the maximum number of words handled is `47` (for now):
```
QC_SETWMI R2, R0, 16, 0
QC_SETWMI R2, R0, 15, 64
QC_SETWMI R2, R0, N, 124
```
For `48` words or more, call the target independent memset.
Commit: df71243fa885cd3db701dc35a0c8d157adaf93b3
https://github.com/llvm/llvm-project/commit/df71243fa885cd3db701dc35a0c8d157adaf93b3
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/test/MC/ELF/mc-dump.s
Log Message:
-----------
MC: Evaluate .org during fragment relaxation
Similar to 742ecfc13e8aa34cfff2900e31838f657fcafe30 for MCFillFragment,
ensure `.org` directives with expressions are re-evaluated during
fragment relaxation, as their sizes may change. Continue iteration to
prevent stale, incorrect sizes. While I knew MCOrgFragment likely needed
to be re-evaluated at all, I did not have a motivation to add it;-)
This fixes the root cause of
https://github.com/ClangBuiltLinux/linux/issues/2116
(writeSectionData assertion failure when building the Linux kernel for arm64)
The issue cannot be reliably replicated. The specific test case would
not replicate if any of the following condition was not satisfied:
* .org was not re-evaluated. Fixed by this commit.
* clang -cc1as has a redundant `initSections` call, leading to a
redundant initial FT_Align fragment. llvm-mc -filetype=obj, lacking
the redundant `initSections`, doesn't replicate.
* faa931b717c02d57f0814caa9133219040e6a85b decreased sizeof(MCFragment).
* f1aa6050bd90f8ec4273da55d362e23905ad3a81 added more fragments
Commit: d95dadff8f094e793b79eec57737ec397fad7724
https://github.com/llvm/llvm-project/commit/d95dadff8f094e793b79eec57737ec397fad7724
Author: nerix <nerixdev at outlook.de>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Symbol/Type.cpp
A lldb/test/Shell/SymbolFile/NativePDB/namespace-access.test
Log Message:
-----------
[LLDB][NativePDB] Allow type lookup in namespaces (#149876)
Previously, `type lookup` for types in namespaces didn't work with the
native PDB plugin, because `FindTypes` would only look for types whose
base name was equal to their full name. PDB/CodeView does not store the
base names in the TPI stream, but the types have their full name (e.g.
`std::thread` instead of `thread`). So `findRecordsByName` would only
return types in the top level namespace.
This PR changes the lookup to go through all types and check their base
name. As that could be a bit expensive, the names are first cached
(similar to the function lookup in the DIA PDB plugin). Potential types
are checked with `TypeQuery::ContextMatches`.
To be able to handle anonymous namespaces, I changed
`TypeQuery::ContextMatches`. The [`TypeQuery`
constructor](https://github.com/llvm/llvm-project/blob/9ad7edef4276207ca4cefa6b39d11145f4145a72/lldb/source/Symbol/Type.cpp#L76-L79)
inserts all name components as `CompilerContextKind::AnyDeclContext`. To
skip over anonymous namespaces, `ContextMatches` checked if a component
was empty and exactly of kind `Namespace`. For our query, the last check
was always false, so we never skipped anonymous namespaces. DWARF
doesn't have this problem, as it [constructs the context
outside](https://github.com/llvm/llvm-project/blob/abe93d9d7e891a2a6596ddb0c6324280137c89dc/lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp#L154-L160)
and has proper information about namespaces. I'm not fully sure if my
change is correct and that it doesn't break other users of `TypeQuery`.
This enables `type lookup <type>` to work on types in namespaces.
However, expressions don't work with this yet, because `FindNamespace`
is unimplemented for native PDB.
Commit: 86727fe9a13daf313429c04fe602f45dbf35036c
https://github.com/llvm/llvm-project/commit/86727fe9a13daf313429c04fe602f45dbf35036c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/Analysis/StackLifetime.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
A llvm/test/CodeGen/AArch64/lifetime-poison.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime.ll
M llvm/test/Instrumentation/HWAddressSanitizer/stack-safety-analysis.ll
R llvm/test/Transforms/InstCombine/pr150338.ll
A llvm/test/Transforms/InstCombine/unreachable-alloca-lifetime-markers.ll
Log Message:
-----------
[IR] Allow poison argument to lifetime markers (#151148)
This slightly relaxes the invariant established in #149310, by also
allowing the lifetime argument to be poison. This is to support the
typical pattern of RAUWing with poison when removing an instruction.
It's worth noting that this does not require any conservative
assumptions, lifetimes with poison arguments can simply be skipped.
Fixes https://github.com/llvm/llvm-project/issues/151119.
Commit: 0cfe9f7287f7c65d3539d39762815ed7497e06ac
https://github.com/llvm/llvm-project/commit/0cfe9f7287f7c65d3539d39762815ed7497e06ac
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Frontend/FrontendAction.cpp
A clang/test/Frontend/dump-minimization-hints-cpp20-modules.cpp
Log Message:
-----------
[Clang] Handle C++20 export declarations in -dump-minimization-hints (#151666)
Thanks to Justin Stitt for bringing this up, providing test cases and a
direction for the fix!
Commit: 1862e3c56ce1eb3762b4ccd6e9e222f3022c9c7c
https://github.com/llvm/llvm-project/commit/1862e3c56ce1eb3762b4ccd6e9e222f3022c9c7c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Move __stack_smash_handler config to tablegen (#150870)
Commit: d64371b8197fab17f12a5faeb1c6951054aca0ba
https://github.com/llvm/llvm-project/commit/d64371b8197fab17f12a5faeb1c6951054aca0ba
Author: Nathan Gauër <brioche at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/CodeGen/SPIRV/lit.local.cfg
R llvm/test/Other/spirv-sim/branch.spv
R llvm/test/Other/spirv-sim/call.spv
R llvm/test/Other/spirv-sim/constant.spv
R llvm/test/Other/spirv-sim/lit.local.cfg
R llvm/test/Other/spirv-sim/loop.spv
R llvm/test/Other/spirv-sim/simple-bad-result.spv
R llvm/test/Other/spirv-sim/simple.spv
R llvm/test/Other/spirv-sim/simulator-args.spv
R llvm/test/Other/spirv-sim/switch.spv
R llvm/test/Other/spirv-sim/wave-get-lane-index.spv
R llvm/test/Other/spirv-sim/wave-read-lane-first.spv
R llvm/utils/spirv-sim/instructions.py
R llvm/utils/spirv-sim/spirv-sim.py
Log Message:
-----------
[tools] Cleanup spirv-sim (#151705)
spirv-sim was supposed to be used to test cross-lane interactions. This
utility was in the end never used for testing, and as we move to proper
end-to-end testing through the llvm/offload-test-suite project, this
becomes obsolete.
Cleaning this up.
Commit: 8a55d46ebc07b276e207d4db2220a115a1810db3
https://github.com/llvm/llvm-project/commit/8a55d46ebc07b276e207d4db2220a115a1810db3
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
Log Message:
-----------
[LV] Add missing CHECK lines for a test from UTC (#151871)
Commit: c467946c3a7bf6c52aef0bdf5e51c5608a664ebf
https://github.com/llvm/llvm-project/commit/c467946c3a7bf6c52aef0bdf5e51c5608a664ebf
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/IR/Instruction.cpp
Log Message:
-----------
[IR] Improve code in isIdenticalToWhenDefined (NFC) (#151881)
Prefer llvm::equal() over std::equal().
Commit: d6dc4336bf2490395039821c84856266d89792c4
https://github.com/llvm/llvm-project/commit/d6dc4336bf2490395039821c84856266d89792c4
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/test/Dialect/Linalg/detensorize_0d.mlir
Log Message:
-----------
[mlir][linalg][NFC] Remove references to IREE (#151825)
Commit: 961a4aabf89481950de5f4704aaaa2f2595484f8
https://github.com/llvm/llvm-project/commit/961a4aabf89481950de5f4704aaaa2f2595484f8
Author: jyli0116 <yu.li at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
Log Message:
-----------
[GlobalISel] Add constant matcher for APInt (#151357)
Changed m_SpecificICst, m_SpecificICstSplat and m_SpecificICstorSplat to
match against APInt as well.
Commit: e136fb04f2b9a4c42a43c86f141eaf253c998a52
https://github.com/llvm/llvm-project/commit/e136fb04f2b9a4c42a43c86f141eaf253c998a52
Author: David Green <david.green at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-fpext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
Log Message:
-----------
[AArch64] Add sve bf16 fpext and fpround costs. (#150485)
This prevents them from generating Invalid costs, as generating the
instructions seems to work fine with and without +bf16. The costs are
mostly taken from the number of instructions (minus ptrue and constants).
Commit: 1454db130a7e14de4295217f9ff80e5f149564c4
https://github.com/llvm/llvm-project/commit/1454db130a7e14de4295217f9ff80e5f149564c4
Author: Gergely Futo <gergely.futo at hightec-rt.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Sema/SemaRISCV.cpp
A clang/test/Sema/riscv-interrupt-attr-rnmi.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/test/CodeGen/RISCV/rnmi-interrupt-attr-error.ll
A llvm/test/CodeGen/RISCV/rnmi-interrupt-attr.ll
Log Message:
-----------
[RISCV] Support resumable non-maskable interrupt handlers (#148134)
The `rnmi` interrupt attribute value has been added for the `Smrnmi`
extension.
---------
Co-authored-by: Sam Elliott <sam at lenary.co.uk>
Commit: 19803d824971826fb6961059cce160da2094ab6b
https://github.com/llvm/llvm-project/commit/19803d824971826fb6961059cce160da2094ab6b
Author: Piotr Sobczak <piotr.sobczak at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaAMDGPU.cpp
Log Message:
-----------
[AMDGPU] Fix nested cases (#151918)
The Incorrect nesting was added in #151616 in what looks like a merge
error.
Commit: 96c8b9e508f72304cbd958be18fdd7b7240f7e63
https://github.com/llvm/llvm-project/commit/96c8b9e508f72304cbd958be18fdd7b7240f7e63
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
Log Message:
-----------
[mlir][memref][spirv] Add SPIR-V Image Lowering (#150978)
Adds an initial conversion in the Memref -> SPIR-V lowering for images.
Any memref in the "Image" storage-class/address-space will be considered
for lowering to the `!spirv.image` type during Memref to SPIR-V
conversion. Initially only the reading of sampled images are support and
images are read via the `OpImageFetch` instruction. Future work should
expand the conversion patterns to target non-sampled images and add
support for image write operations.
Images are supported for fp32, fp16, int32, uint32, int16 and uint16
types and lit tests have been added to verify this is the case along
with negative testing to check the cases where images aren't supported.
---------
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: 30728eb26bff55af00375b7a835c519cfdf316a4
https://github.com/llvm/llvm-project/commit/30728eb26bff55af00375b7a835c519cfdf316a4
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
M llvm/test/Transforms/InstCombine/bitcast-known-bits.ll
M llvm/test/Transforms/InstSimplify/shift-knownbits.ll
Log Message:
-----------
[Reland][ValueTracking] Improve Bitcast handling to match SDAG (#145223)
Fixes #125228
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: f1ca88cebf84365368be06db89f1ab55f47f903b
https://github.com/llvm/llvm-project/commit/f1ca88cebf84365368be06db89f1ab55f47f903b
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
Log Message:
-----------
[mlir][tosa] Use `typeConverter->convertType<T>` (#150578)
Since `resultTy` might be nullptr, we should use `dyn_cast` instead of
`cast`. Additionally, `typeConverter->convertType<T>` is more
appropriate in this context.
Commit: 147bce78588b53db661888257e8bb915f1de98d9
https://github.com/llvm/llvm-project/commit/147bce78588b53db661888257e8bb915f1de98d9
Author: frayien <garbani.adrien at yahoo.fr>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
Log Message:
-----------
[clangd] textDocument/documentLink to support include statements with macro argument (#137550)
See issue https://github.com/clangd/clangd/issues/2375
The clangd textDocument/documentLink request does not support include
statements with macro argument and fails by returning an invalid range.
This PR adds support for macro argument by detecting what form of
include statement is currently being processed and returning a range
accordingly
First time contributing to LLVM, so if you have advice, questions or if
I messed up procedure please tell me !
---------
Co-authored-by: Adrien Garbani <garbani.adrien at frayien.fr>
Commit: 440a4de55265c67cf41a77e40f96d7c18ed7590a
https://github.com/llvm/llvm-project/commit/440a4de55265c67cf41a77e40f96d7c18ed7590a
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Utility/XcodeSDK.cpp
Log Message:
-----------
[lldb][darwin] force BuiltinHeadersInSystemModules to be always false (#151535)
This is a re-landing of
https://github.com/llvm/llvm-project/pull/144913, which was reverted
because of tests failing on Darwin.
The bots were failing because the x64 bots run the macOS 14.0 SDKs
whereas we assumed all the bots were running the macOS 15.0+ SDKs.
To address this, we deactivated the failing tests on SDKs that are older
than 15.0 in https://github.com/llvm/llvm-project/pull/147768.
Now that this is merged, we can re-land
https://github.com/llvm/llvm-project/pull/144913.
Commit: 1feed444aa065ff94ce63250a00de188001617be
https://github.com/llvm/llvm-project/commit/1feed444aa065ff94ce63250a00de188001617be
Author: Leon Clark <PeddleSpam at users.noreply.github.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/test/CodeGenOpenCL/preserve_vec3.cl
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/vec-load-combine.ll
M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/load-widening.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
A llvm/test/Transforms/VectorCombine/load-shufflevector.ll
Log Message:
-----------
[VectorCombine] Shrink loads used in shufflevector rebroadcasts (#128938)
Attempt to shrink the size of vector loads where only some of the incoming lanes are used for rebroadcasts in shufflevector instructions.
---------
Co-authored-by: Leon Clark <leoclark at amd.com>
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 4b5b36e5c4b887a86fc7164d6899caaa2e2f5aed
https://github.com/llvm/llvm-project/commit/4b5b36e5c4b887a86fc7164d6899caaa2e2f5aed
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/test/Transforms/GVN/lifetime-simple.ll
Log Message:
-----------
[GVN] Avoid creating lifetime of non-alloca
There is a larger problem here in that we should not be performing
arbitrary pointer replacements for assumes. This is handled for
branches, but assume goes through a different code path.
Fixes https://github.com/llvm/llvm-project/issues/151785.
Commit: 76e38ca981a2c04879af911e8eb0065ed913f6ef
https://github.com/llvm/llvm-project/commit/76e38ca981a2c04879af911e8eb0065ed913f6ef
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/cxx11.cpp
Log Message:
-----------
[clang][bytecode] Try to load primitive values directly (#151833)
Instead of doing a GetPtrLocal + Load or GetPtrGlobal + Load pair, try
to load the value directly.
Commit: 0824811b0beddae1f6fd25f7acdd17a3f2db07ff
https://github.com/llvm/llvm-project/commit/0824811b0beddae1f6fd25f7acdd17a3f2db07ff
Author: Chris Jackson <chris.jackson at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
Log Message:
-----------
[AMDGPU] Remove dead code in VOP1 tablegen (NFC) (#151932)
Remove dead class in VOP1Instructions.td.
Commit: 66a8341f6d89d562faad667986af8fa584ad7426
https://github.com/llvm/llvm-project/commit/66a8341f6d89d562faad667986af8fa584ad7426
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/vect.stats.ll
Log Message:
-----------
[VPlan] Skip disconnected exit blocks in hasEarlyExit. (#151718)
Currently hasEarlyExit returns true, if there are multiple exit blocks.
ExitBlocks contains the wrapped original IR exit blocks. Without
checking the predecessors we incorrectly return true for loops with
multiple countable exits, that have been vectorized by requiring a
scalar epilogue. In that case, the exit blocks will get disconnected.
Fix this by filtering out disconnected exit blocks.
Currently this should only impact the 'early-exit vectorized' statistic.
PR: https://github.com/llvm/llvm-project/pull/151718
Commit: d07abde4b8a0354796838b38498037d39276edea
https://github.com/llvm/llvm-project/commit/d07abde4b8a0354796838b38498037d39276edea
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 185a23e865c31145588276e7e0db2460e01eb703
Commit: 8cc4c6d78f08ca38b5051a09a71ec14ae8931cda
https://github.com/llvm/llvm-project/commit/8cc4c6d78f08ca38b5051a09a71ec14ae8931cda
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/test/Lower/OpenMP/Todo/wsloop-reduction-non-intrinsic.f90
R flang/test/Lower/OpenMP/wsloop-reduction-non-intrinsic.f90
Log Message:
-----------
[flang][Lower] Make reduction processing failure a hard error (#150233)
See #150178
This may regress some test cases which only ever passed by accident.
I've tested SPEC2017 and a sample of applications to check that this
doesn't break anything too obvious. Presumably this was not a widely
used feature or we would have noticed the bug sooner.
I'm unsure whether this should be backported to LLVM 21 or not: I think
it is much better to refuse to compile than to silently produce the
wrong result, but there is a chance this could regress something which
previously worked by accident. Opinions welcome.
Commit: a24fae3aefd14cfff4bd911101cd0a1fb4dfdafe
https://github.com/llvm/llvm-project/commit/a24fae3aefd14cfff4bd911101cd0a1fb4dfdafe
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/build-vector-packed-partial-undef.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fmaximum.ll
M llvm/test/CodeGen/AMDGPU/fminimum.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_ldexp.f16.ll
Log Message:
-----------
[AMDGPU][True16][GlobalISel] Fix v2*16 build_vector patterns (#151496)
- Pattern with IMPLICIT_DEF failed to generate an entry in MatchTable and
did not report an error, just silently failed. This is fixed by casting
IMPLICIT_DEF to appropriate type. This also fixes selecting
"build_vector s16, undef" for GlobalISel with True16.
- Add pattern for "build_vector undef, s16" that will work for GlobalISel.
True16 GlobalISel has a G_TRUNC that it needs to deal with.
- Use REG_SEQUENCE for Real16 patterns instead of V_LSHLREV_B32_e64 to
generate more optimal code.
Commit: 19b4258d659114abd9b15a0ad16f470afea8785a
https://github.com/llvm/llvm-project/commit/19b4258d659114abd9b15a0ad16f470afea8785a
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
[Docs] Some updates to the Clang user's manual (#151702)
* Fills out the terminology section
* Removes the basic usage section (we should bring it back someday
though!)
* Updates the list of supported language versions
* Adds information about what versions of Clang are officially supported
* Moves some extensions into the intentionally unsupported extensions
section.
There are likely far more updates that could be done, but this seemed
worth posting just to get things moving.
Commit: 95191d54603e6bcd6b924c99755b3a9f3bb1c345
https://github.com/llvm/llvm-project/commit/95191d54603e6bcd6b924c99755b3a9f3bb1c345
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-gep.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-switch.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-gep-flags.ll
M llvm/test/CodeGen/AArch64/GlobalISel/translate-gep.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
Log Message:
-----------
[GISel] Set more MIFlags when translating GEPs (#151708)
The IRTranslator sets the flags now more consistently with
`SelectionDAGBuilder::visitGetElementPtr()`. This affects `nuw` and `nusw`, as
well as the recently introduced `inbounds` MIFlag (see PR #150900).
This PR also adds more tests to `AArch64/GlobalISel/irtranslator-gep-flags.ll`
to cover all points in `IRTranslator::translateGetElementPtr` that set flags.
For SWDEV-516125.
Commit: f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d
https://github.com/llvm/llvm-project/commit/f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
M offload/unittests/Conformance/device_code/CMakeLists.txt
R offload/unittests/Conformance/device_code/LLVMLibm.c
A offload/unittests/Conformance/device_code/LLVMLibm.cpp
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
R offload/unittests/OffloadAPI/device_code/bar.c
A offload/unittests/OffloadAPI/device_code/bar.cpp
R offload/unittests/OffloadAPI/device_code/foo.c
A offload/unittests/OffloadAPI/device_code/foo.cpp
R offload/unittests/OffloadAPI/device_code/global.c
A offload/unittests/OffloadAPI/device_code/global.cpp
R offload/unittests/OffloadAPI/device_code/global_ctor.c
A offload/unittests/OffloadAPI/device_code/global_ctor.cpp
R offload/unittests/OffloadAPI/device_code/global_dtor.c
A offload/unittests/OffloadAPI/device_code/global_dtor.cpp
R offload/unittests/OffloadAPI/device_code/localmem.c
A offload/unittests/OffloadAPI/device_code/localmem.cpp
R offload/unittests/OffloadAPI/device_code/localmem_reduction.c
A offload/unittests/OffloadAPI/device_code/localmem_reduction.cpp
R offload/unittests/OffloadAPI/device_code/localmem_static.c
A offload/unittests/OffloadAPI/device_code/localmem_static.cpp
R offload/unittests/OffloadAPI/device_code/noargs.c
A offload/unittests/OffloadAPI/device_code/noargs.cpp
R offload/unittests/OffloadAPI/device_code/sequence.c
A offload/unittests/OffloadAPI/device_code/sequence.cpp
Log Message:
-----------
[Offload][UnitTests] Build device code as C++ (#151714)
This commit refactors the `add_offload_test_device_code` CMake function
to compile device code using the C++ compiler (`CMAKE_CXX_COMPILER`)
instead of the C compiler.
This change enables the use of C++ features, such as templates, within
device-side test kernels. This will allow for more advanced and reusable
kernel wrappers, reducing boilerplate code in the conformance test
suite.
As part of this change:
- All `.c` files for device code in `unittests/` have been renamed to
`.cpp`.
- Kernel definitions are now wrapped in `extern "C"` to ensure C linkage
and prevent name mangling.
This change affects the `OffloadAPI` and `Conformance` test suites.
cc @callumfare @RossBrunton @jhuber6
Commit: ed5bd23867eacaa3789060f9250ba6fcece2a3de
https://github.com/llvm/llvm-project/commit/ed5bd23867eacaa3789060f9250ba6fcece2a3de
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/implicit-def-subreg-to-reg-regression.ll
M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_darwin.ll
R llvm/test/CodeGen/AArch64/register-coalesce-implicit-def-subreg-to-reg.mir
M llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir
M llvm/test/CodeGen/PowerPC/aix-vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
M llvm/test/CodeGen/PowerPC/combine-fneg.ll
M llvm/test/CodeGen/PowerPC/fp-strict-round.ll
M llvm/test/CodeGen/PowerPC/frem.ll
M llvm/test/CodeGen/PowerPC/froundeven-legalization.ll
M llvm/test/CodeGen/PowerPC/handle-f16-storage-type.ll
M llvm/test/CodeGen/PowerPC/ldexp.ll
M llvm/test/CodeGen/PowerPC/llvm.modf.ll
M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
R llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
R llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
R llvm/test/CodeGen/X86/pr76416.ll
M llvm/test/CodeGen/X86/subreg-fail.mir
R llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir
Log Message:
-----------
Revert "Reland "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG" (#134408)"
This reverts commit bae8f1336db6a7f3288a7dcf253f2d484743b257.
Some issues were found:
* https://github.com/llvm/llvm-project/issues/151768
* https://github.com/llvm/llvm-project/issues/151592
* https://github.com/llvm/llvm-project/pull/134408#issuecomment-3145468321
* https://github.com/llvm/llvm-project/issues/151888#issuecomment-3149286820
I'll revert this for the time being while I investigate.
Commit: e833bb0991dd20655dae1c3812bd84f0fb36ea25
https://github.com/llvm/llvm-project/commit/e833bb0991dd20655dae1c3812bd84f0fb36ea25
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[Local] Do not pass Root to replaceDominatedUsesWith (NFC)
Capture it in the lambdas instead.
Commit: edae78d2aa5bcbee36084907684c7f1c6497f628
https://github.com/llvm/llvm-project/commit/edae78d2aa5bcbee36084907684c7f1c6497f628
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[mlir][OpenMP][NFC] Fix gcc 14 warning (#151941)
GCC couldn't tell that the enum is checked exhaustively and so was
warning about there being no return on this path from the function.
Commit: da11c1d59433a2813ca0333f81d4faca443a8a77
https://github.com/llvm/llvm-project/commit/da11c1d59433a2813ca0333f81d4faca443a8a77
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/Transforms/GVN/assume-equal.ll
Log Message:
-----------
[GVN] Generate test checks (NFC)
Commit: ca513ee1ec635cc5579f6d65983676c1bb417508
https://github.com/llvm/llvm-project/commit/ca513ee1ec635cc5579f6d65983676c1bb417508
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
Log Message:
-----------
[flang][OpenMP] Remove unused class OmpMemoryOrderClause, NFC (#151759)
Commit: b30d5315b7ed6d9e2f5aab7140896d16ed020a40
https://github.com/llvm/llvm-project/commit/b30d5315b7ed6d9e2f5aab7140896d16ed020a40
Author: David Green <david.green at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/fcmp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cmpsel.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fcmp.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/Transforms/SLPVectorizer/scalarazied-result.ll
Log Message:
-----------
[AArch64] Add better fcmp costs for expanded predicates (#147940)
Certain fcmp predicates need to be expanded into multiple operations and
or'd together. This adds some more accurate cost modelling for them
based on the predicate. Unsupported operations are given the cost of a
libcall and the latency is set to 2 as that seemed to be fairly common
between different CPUs.
Commit: fb4a8f67b9f4b898b95dda7ba184f3f256876031
https://github.com/llvm/llvm-project/commit/fb4a8f67b9f4b898b95dda7ba184f3f256876031
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/compare-signs.ll
Log Message:
-----------
[LLVM][InstCombine] foldICmpEquality: Compare APInt values rather than addresses. (#151726)
Commit: 3a20c005f6fce92600ca1167255e2a7ef7a0e0d0
https://github.com/llvm/llvm-project/commit/3a20c005f6fce92600ca1167255e2a7ef7a0e0d0
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
Log Message:
-----------
Reland "[mlir][spirv] Fix UpdateVCEPass to deduce the correct set of capabilities" (#151502)
This reland PR #151108
The original PR made sanitizer builds to fail. The issue are now
resolved in this new patch.
Original commit message:
> When deducing capabilities implied capabilities are not considered,
which causes generation of incorrect SPIR-V modules. This commit fixes
that by pulling in the capability set all the implied ones.
---------
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: a3d0c541eb6a443ef4cf6c84facb4d5c35009bea
https://github.com/llvm/llvm-project/commit/a3d0c541eb6a443ef4cf6c84facb4d5c35009bea
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
A clang/docs/analyzer/checkers/storetoimmutable_example.cpp
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
A clang/lib/StaticAnalyzer/Checkers/StoreToImmutableChecker.cpp
A clang/test/Analysis/store-to-immutable-basic.c
A clang/test/Analysis/store-to-immutable-basic.cpp
A clang/test/Analysis/store-to-immutable-lambda-init.cpp
Log Message:
-----------
[clang][analyzer] Add StoreToImmutable checker (#150417)
This adds alpha.core.StoreToImmutable, a new alpha checker that detects
writes
to immutable memory regions, implementing part of SEI CERT Rule ENV30-C.
The
original proposal only handled global const variables, but this
implementation
extends it to also detect writes to:
- Local const variables
- String literals
- Const parameters and struct members
- Const arrays and pointers to const data
This checker is the continuation of the work started by zukatsinadze.
Discussion: https://reviews.llvm.org/D124244
Commit: 04f98889ae497d895be7c478415e0e9a8c6d330b
https://github.com/llvm/llvm-project/commit/04f98889ae497d895be7c478415e0e9a8c6d330b
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/test/Instrumentation/NumericalStabilitySanitizer/basic.ll
Log Message:
-----------
[LLVM][NumericalStabilitySanitizer] Add support for vector ConstantFPs. (#151739)
Commit: 1406058cbacc8720042eed15a087f8ff1b5c5e1c
https://github.com/llvm/llvm-project/commit/1406058cbacc8720042eed15a087f8ff1b5c5e1c
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
Log Message:
-----------
[LLVM][InstCombine] Extend masked_gather's demanded elt analysis. (#151732)
Add support for other Constant types for the mask operand.
Commit: 80dae158318a42f6217a38b1f8ec9299c7390234
https://github.com/llvm/llvm-project/commit/80dae158318a42f6217a38b1f8ec9299c7390234
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/CodeGenCXX/debug-info-class.cpp
M clang/test/CodeGenCXX/vtable-debug-info-inheritance-simple.cpp
M clang/test/Modules/ExtDebugInfo.cpp
Log Message:
-----------
[clang][DebugInfo] Disable VTable debug info (#130255) on COFF platforms (#151684)
On COFF platform, d1b0cbff806b50d399826e79b9a53e4726c21302 generates a
debug info linked with VTable regardless definition is present or not.
If that VTable ends up implicitly dllimported from another DLL, ld.bfd
produces a runtime pseudo relocation for it (LLD doesn't, since
d17db6066d2524856fab493dd894f8396e896bc7). If the debug section is
stripped, the runtime pseudo relocation points to memory space outside
of the module, causing an access violation.
At this moment, we simply disable VTable debug info on COFF platform to
avoid this problem.
Commit: 4655907099e3b2277d82a307b494adc14463f8e0
https://github.com/llvm/llvm-project/commit/4655907099e3b2277d82a307b494adc14463f8e0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-selects.ll
Log Message:
-----------
[VectorCombine][X86] Fix typo in src_v8tov8_i16 shuffle(select(),select()) test
Shuffle was (free) identity, messing up the fold's cost benefit test
Commit: f382b7f25c3035dc55c01c7e3f1e13d42fa6519d
https://github.com/llvm/llvm-project/commit/f382b7f25c3035dc55c01c7e3f1e13d42fa6519d
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[Bazel][lldb] Add PluginProcessWasm target.
Commit: 7cd1ce3aa006424d20e95a2a4fe7df7113527976
https://github.com/llvm/llvm-project/commit/7cd1ce3aa006424d20e95a2a4fe7df7113527976
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/vector-like-instr-does-not-dominate.ll
Log Message:
-----------
[SLP]Check vector-like instruction for dominance in copyables
Need to check if the vector-like instruction is dominated by main
operation in the copyables to prevent broken def-use chain
Fixes #151456
Commit: 12b9c0da04a0b34cb12000bccf5b90e1f98d23d6
https://github.com/llvm/llvm-project/commit/12b9c0da04a0b34cb12000bccf5b90e1f98d23d6
Author: Michael Marjieh <99331190+mmarjieh at users.noreply.github.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.h
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.td
M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
A mlir/lib/Dialect/SCF/Transforms/ParallelForToNestedFors.cpp
A mlir/test/Dialect/SCF/parallel-to-nested-fors.mlir
A mlir/test/Dialect/SCF/transform-op-parallel-to-nested-fors.mlir
Log Message:
-----------
[mlir][scf] Implement Conversion from scf.parallel to Nested scf.for (#147692)
Add a utility function/transform operation to convert `scf.parallel`
loops to nested `scf.for` loops.
Commit: 872da999bec33adf768d8601c3218c4780558589
https://github.com/llvm/llvm-project/commit/872da999bec33adf768d8601c3218c4780558589
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[gn build] Port a3d0c541eb6a
Commit: cd8f348c69345755f559049f415ce8b6c0d6edc1
https://github.com/llvm/llvm-project/commit/cd8f348c69345755f559049f415ce8b6c0d6edc1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/AST/Mangle.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/unittests/AST/DeclTest.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[clang][Attr] Remove 'literal label' form of AsmLabelAttr (#151858)
This was added purely for the needs of LLDB. However, starting with
https://github.com/llvm/llvm-project/pull/151355 and
https://github.com/llvm/llvm-project/pull/148877 we no longer create
literal AsmLabels in LLDB either. So this is unused and we can get rid
of it.
In the near future LLDB will want to add special support for mangling
`AsmLabel`s (specifically
https://github.com/llvm/llvm-project/pull/149827).
Commit: 1c0ac80d4a9ef6c21914f2317003979952c2a2c3
https://github.com/llvm/llvm-project/commit/1c0ac80d4a9ef6c21914f2317003979952c2a2c3
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
A llvm/test/CodeGen/AArch64/combine-storetomstore.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
A llvm/test/CodeGen/RISCV/combine-storetomstore.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
A llvm/test/CodeGen/X86/combine-storetomstore.ll
M llvm/test/CodeGen/X86/pr30284.ll
Log Message:
-----------
[DAG] Combine `store + vselect` to `masked_store` (#145176)
Add a new combine to replace
```
(store ch (vselect cond truevec (load ch ptr offset)) ptr offset)
```
to
```
(mstore ch truevec ptr offset cond)
```
This saves a blend operation on targets that support conditional stores.
Commit: 9bb31e8f88ab49c3f983067540e553dd13fd3b42
https://github.com/llvm/llvm-project/commit/9bb31e8f88ab49c3f983067540e553dd13fd3b42
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/include/flang/Lower/ConvertType.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
A flang/test/Lower/derived-type-private.f90
Log Message:
-----------
[Flang] Fix crash when a derived type with private attribute is specified in extends (#151051)
While lowering to HLFIR, when a parent type is private, its name is
mangled, so we need to get it from the parent symbol.
Fixes #120922
Commit: 2e404d1f800c804b5088ad1f54f24738efbdf9cd
https://github.com/llvm/llvm-project/commit/2e404d1f800c804b5088ad1f54f24738efbdf9cd
Author: Matt <msta at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclID.h
M clang/lib/Sema/Sema.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/pr151277.cpp
Log Message:
-----------
clang: Make the type_info builtin declaration a singleton (#151277)
This fixes an ambiguous type type_info when you try and reference the
`type_info` type while using clang modulemaps with `-fms-compatibility`
enabled
Fixes #38400
Commit: 4431331cb6b0a3327adbd49b49792f693f868866
https://github.com/llvm/llvm-project/commit/4431331cb6b0a3327adbd49b49792f693f868866
Author: Will Froom <willfroom at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/test/CAPI/pass.c
Log Message:
-----------
[MLIR] Add test to check that we don't reinit after running pass again (#151963)
Following on from #150948
Commit: 88c6448fa265e5f50d92251202ab57458ca23064
https://github.com/llvm/llvm-project/commit/88c6448fa265e5f50d92251202ab57458ca23064
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/test/CodeGenOpenCL/preserve_vec3.cl
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/vec-load-combine.ll
M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/load-widening.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
R llvm/test/Transforms/VectorCombine/load-shufflevector.ll
Log Message:
-----------
Revert "[VectorCombine] Shrink loads used in shufflevector rebroadcasts" (#151960)
Reverts llvm/llvm-project#128938 while a crash regression is investigated
Commit: c6fd3d32c37f599c69da16f5ff026b925b510f94
https://github.com/llvm/llvm-project/commit/c6fd3d32c37f599c69da16f5ff026b925b510f94
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/RISCV/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/RISCV/switch_to_lookup_table-rv64.ll
M llvm/test/Transforms/SimplifyCFG/X86/disable-lookup-table.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-bitcast.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-gep.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-globals.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/rangereduce.ll
M llvm/test/Transforms/SimplifyCFG/switch_mask.ll
Log Message:
-----------
[SimplifyCfg] Add nneg to zext for switch to table conversion (#147180)
Commit: d03692a00ee2404aa5c98a5f6c447f66d77a4663
https://github.com/llvm/llvm-project/commit/d03692a00ee2404aa5c98a5f6c447f66d77a4663
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M offload/liboffload/API/Device.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
Log Message:
-----------
[Offload] Rework `MAX_WORK_GROUP_SIZE` (#151926)
`MAX_WORK_GROUP_SIZE` now represents the maximum total number of work
groups the device can allocate, rather than the maximum per dimension.
`MAX_WORK_GROUP_SIZE_PER_DIMENSION` has been added, which has the old
behaviour.
Commit: ba10c1d46a221f8cf7be565cc75074ec822d5c70
https://github.com/llvm/llvm-project/commit/ba10c1d46a221f8cf7be565cc75074ec822d5c70
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][NFC] Code Cleanup of inferred noreturn attributes in explicit specializations. (#151815)
Addressing
https://github.com/llvm/llvm-project/pull/150003#discussion_r2249169463
Commit: 25c02fbc42d06534444f2b724012126cfe7d618e
https://github.com/llvm/llvm-project/commit/25c02fbc42d06534444f2b724012126cfe7d618e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/tools/offload-arch/AMDGPUArchByHIP.cpp
M clang/tools/offload-arch/NVPTXArch.cpp
Log Message:
-----------
[Clang] Hide `offload-arch` initialization errors behind verbose flag (#151964)
Summary:
This tool tries to print the offloading architectures. If the user
doesn't have the HIP libraries or the CUDA libraries it will print and
error.
This isn't super helpful since we're just querying things. So, for
example, if we're on an AMD machine with no CUDA you'll get the AMD GPUs
and then an error message saying that CUDA wasn't found. This silences
the error just on failing to find the library unless verbose is on.
Commit: 5c2054a4ea2e5dbbf2a7734246123ea3a4ce623c
https://github.com/llvm/llvm-project/commit/5c2054a4ea2e5dbbf2a7734246123ea3a4ce623c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] getMinMaxOpcodeForFP - split if-else chain. NFC. (#151938)
(style) All cases return so split the chain
Commit: 6de745b5473f4ae206110c497f28f040ea317d31
https://github.com/llvm/llvm-project/commit/6de745b5473f4ae206110c497f28f040ea317d31
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
R llvm/test/CodeGen/X86/avx512f-large-stack.ll
M llvm/test/CodeGen/X86/huge-stack.ll
R llvm/test/CodeGen/X86/large-displacements-fastisel.ll
R llvm/test/CodeGen/X86/large-displacements.ll
M llvm/test/CodeGen/X86/merge-huge-sp-updates.ll
M llvm/test/CodeGen/X86/stack-clash-extra-huge.ll
M llvm/test/CodeGen/X86/stack-clash-huge.ll
M llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll
Log Message:
-----------
Revert "[X86] Correct 32-bit immediate assertion and fix 64-bit lowering for huge frame offsets" (#151975)
Reverts llvm/llvm-project#123872 - this is breaking on EXPENSIVE_CHECKS builds
Co-authored-by: Abhishek Kaushik <abhishek.kaushik at intel.com>
Commit: df7473673214b063f7ca5d726263c5089f193ffd
https://github.com/llvm/llvm-project/commit/df7473673214b063f7ca5d726263c5089f193ffd
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A clang/test/Driver/Inputs/libclc/libclc.bc
A clang/test/Driver/Inputs/libclc/subdir/libclc.bc
A clang/test/Driver/opencl-libclc.cl
M libclc/CMakeLists.txt
Log Message:
-----------
[clang] Add the ability to link libclc OpenCL libraries (#146503)
This commit adds driver support for linking libclc OpenCL libraries. It
takes the form of a new optional flag: --libclc-lib=namespec. Nothing is
linked unless this flag is specified.
Not all libclc targets have corresponding clang targets. For this reason
it is desirable for users to be able to specify a libclc library name.
We support this by taking both a library name (without the .bc suffix)
or a filename. Both of these are searched for in the clang resource
directory. Filenames are
also checked themselves so that absolute paths can be provided. The
syntax for specifying filenames (as opposed to library names) uses a
leading colon (:), inspired by the -l option.
To accommodate this option, libclc libraries are now placed into clang's
resource directory in an in-tree configuration. The libraries are all
placed in <resource-dir>/lib/libclc and
are not grouped under host-specific directories as some other runtime
libraries are; it is not expected that OpenCL libraries will differ
depending on the host toolchain.
Currently only the AMDGPU toolchain supports this option as a proof of
concept. Other targets such as NVPTX or SPIR/SPIR-V could support it
too. We could optionally let target toolchains search for libclc
libraries themselves, possibly when passed an empty --libclc-lib.
Commit: 6f74a44b63f3f5de6c741077e11558eb16fc3459
https://github.com/llvm/llvm-project/commit/6f74a44b63f3f5de6c741077e11558eb16fc3459
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Use range-based for loops in DenseMap.h (NFC) (#151900)
This patch introduces helper function buckets() to convert several
loops to range-based for loops.
Commit: 76abef60b0d7adb9996220894e4390a93cf9bc1c
https://github.com/llvm/llvm-project/commit/76abef60b0d7adb9996220894e4390a93cf9bc1c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/TargetInstrInfo.cpp
Log Message:
-----------
[CodeGen] Remove an unnecessary cast (NFC) (#151901)
getOpcode() already returns unsigned.
Commit: 9559de180336ec542bc9c49da9f2800fa3ea5004
https://github.com/llvm/llvm-project/commit/9559de180336ec542bc9c49da9f2800fa3ea5004
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
Log Message:
-----------
[Target] Remove unnecessary casts (NFC) (#151902)
getImm() already returns int64_t.
Commit: c5c2570d09de1a78f45a3a03a3167c35b05eae6e
https://github.com/llvm/llvm-project/commit/c5c2570d09de1a78f45a3a03a3167c35b05eae6e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/include/lldb/Core/Opcode.h
Log Message:
-----------
[lldb] Include bit.h instead of SwapByteOrder.h (NFC) (#151903)
We use llvm::byteswap from bit.h, but we don't use any feature from
SwapByteOrder.h.
Commit: 39ca925ffefe2f8307e6ead1f7ffd99c58528d0f
https://github.com/llvm/llvm-project/commit/39ca925ffefe2f8307e6ead1f7ffd99c58528d0f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/QualTypeNames.cpp
Log Message:
-----------
[AST] Use llvm::iterator_range::empty (NFC) (#151904)
Commit: 35dd88918fccfafe60124d4046eb766299015f31
https://github.com/llvm/llvm-project/commit/35dd88918fccfafe60124d4046eb766299015f31
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/SandboxIR/Value.cpp
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm] Use llvm::iterator_range::empty (NFC) (#151905)
Commit: 0398ad41bdf1ce5f74c80a74494bfe733fe3e214
https://github.com/llvm/llvm-project/commit/0398ad41bdf1ce5f74c80a74494bfe733fe3e214
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/docs/Coroutines.rst
Log Message:
-----------
[llvm] Proofread Coroutines.rst (#151906)
Commit: 32efbb707ecaa4d55ad322c2b85393603e440541
https://github.com/llvm/llvm-project/commit/32efbb707ecaa4d55ad322c2b85393603e440541
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/tools/opt/optdriver.cpp
Log Message:
-----------
[nfc][profcheck] fix cl::desc typo (#151979)
The pass is `prof-verify`, not `prof-check`. (Meanwhile, `profcheck` is an informal handle we could use for the whole feature in the [RFC](https://discourse.llvm.org/t/rfc-profile-information-propagation-unittesting/73595))
Commit: 38bfe9ae56e5bd35d68a178e99453fc0a1fbefda
https://github.com/llvm/llvm-project/commit/38bfe9ae56e5bd35d68a178e99453fc0a1fbefda
Author: woruyu <99597449+woruyu at users.noreply.github.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AArch64/vselect-ext.ll
M llvm/test/CodeGen/X86/avg-mask.ll
M llvm/test/CodeGen/X86/avx512-ext.ll
M llvm/test/CodeGen/X86/pr78897.ll
M llvm/test/CodeGen/X86/sqrt-fastmath.ll
M llvm/test/CodeGen/X86/ushl_sat_vec.ll
M llvm/test/CodeGen/X86/var-permute-128.ll
M llvm/test/CodeGen/X86/vector-bo-select.ll
Log Message:
-----------
[DAG] combineVSelectWithAllOnesOrZeros - missing freeze (#150388)
This PR resolves https://github.com/llvm/llvm-project/issues/150069
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 6df66a0683fee8ed35bb2aa85fff458add434c5f
https://github.com/llvm/llvm-project/commit/6df66a0683fee8ed35bb2aa85fff458add434c5f
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/Instrumentation/TypeSanitizer/alloca.ll
Log Message:
-----------
[TypeSanitizer] Add test with lifetime intrinsics (NFC)
Commit: 105963ad5e6b05214318874aef93d02e10ce6c43
https://github.com/llvm/llvm-project/commit/105963ad5e6b05214318874aef93d02e10ce6c43
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Function.h
Log Message:
-----------
[clang][bytecode] Use SmallVector for Function::Code (#151821)
This way we can use resize_for_overwrite, which is slightly more
efficient:
https://llvm-compile-time-tracker.com/compare.php?from=7bdab76350970a3ac471da6a30035dd5b7ef14f3&to=b55bd2c74f230e2150e54b0523db6a8426eab54d&stat=instructions:u
Commit: b18377ccad8dd330622b012df0ec73fc5bf768a4
https://github.com/llvm/llvm-project/commit/b18377ccad8dd330622b012df0ec73fc5bf768a4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/Analysis/GlobalsModRef/memset-escape.ll
Log Message:
-----------
[GlobalsModRef] Generate test checks (NFC)
Commit: 2b20cf7291c139f32b55a31397d7de1dfa323f3f
https://github.com/llvm/llvm-project/commit/2b20cf7291c139f32b55a31397d7de1dfa323f3f
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/si-fold-reg-sequence.mir
Log Message:
-----------
[AMDGPU] Fold into uses of splat REG_SEQUENCEs through COPYs. (#145691)
Commit: f72c8dce1586d27e4723259166a21f01499dda60
https://github.com/llvm/llvm-project/commit/f72c8dce1586d27e4723259166a21f01499dda60
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] canCreateUndefOrPoisonForTargetNode - RISCVISD::SELECT_CC is only for integer comparisons - which can't create poison (#151943)
The result type is irrelevant - its the comparison type that matters
Commit: 3ee8d047109ea4bb479095f4b153c2120a8d726c
https://github.com/llvm/llvm-project/commit/3ee8d047109ea4bb479095f4b153c2120a8d726c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/main-alternate-interechanged-detect.ll
Log Message:
-----------
[SLP] Fix a check for main/alternate interchanged instruction
If the instruction is checked for matching the main instruction, need to
check if the opcode of the main instruction is compatible with the
operands of the instruction. If they are not, need to check the
alternate instruction and its operands for compatibility and return
alternate instruction as a match.
Fixes #151699
Commit: cd834449a6d551cace6afad798ffad318f4ff325
https://github.com/llvm/llvm-project/commit/cd834449a6d551cace6afad798ffad318f4ff325
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
Log Message:
-----------
[vscode-lldb] Fix format (#151829)
Generated by running the formatter:
```
royshi-mac-home ~/public_llvm/llvm-project/lldb/tools/lldb-dap % yarn format
yarn run v1.22.22
warning package.json: License should be a valid SPDX license expression
warning lldb-dap at 0.2.15: The engine "vscode" appears to be invalid.
$ npx prettier './src-ts/' --write
src-ts/debug-adapter-factory.ts 65ms
src-ts/debug-configuration-provider.ts 17ms (unchanged)
src-ts/debug-session-tracker.ts 11ms (unchanged)
src-ts/disposable-context.ts 2ms (unchanged)
src-ts/extension.ts 3ms (unchanged)
src-ts/lldb-dap-server.ts 7ms
src-ts/ui/error-with-notification.ts 4ms (unchanged)
src-ts/ui/modules-data-provider.ts 5ms (unchanged)
src-ts/ui/show-error-message.ts 6ms (unchanged)
src-ts/uri-launch-handler.ts 5ms (unchanged)
✨ Done in 0.99s.
```
Commit: 7fb620a5cc02a511a019d6918b0993b4cbdea825
https://github.com/llvm/llvm-project/commit/7fb620a5cc02a511a019d6918b0993b4cbdea825
Author: qxy11 <qxy11 at meta.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Core/ModuleList.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
Log Message:
-----------
Fix a deadlock in ModuleList when starting a standalone lldb client/server (#148774)
Summary:
There was a deadlock was introduced by [PR
#146441](https://github.com/llvm/llvm-project/pull/146441) which changed
`CurrentThreadIsPrivateStateThread()` to
`CurrentThreadPosesAsPrivateStateThread()`. This change caused the
execution path in
[`ExecutionContextRef::SetTargetPtr()`](https://github.com/llvm/llvm-project/blob/10b5558b61baab59c7d3dff37ffdf0861c0cc67a/lldb/source/Target/ExecutionContext.cpp#L513)
to now enter a code block that was previously skipped, triggering
[`GetSelectedFrame()`](https://github.com/llvm/llvm-project/blob/10b5558b61baab59c7d3dff37ffdf0861c0cc67a/lldb/source/Target/ExecutionContext.cpp#L522)
which leads to a deadlock.
Thread 1 gets m_modules_mutex in
[`ModuleList::AppendImpl`](https://github.com/llvm/llvm-project/blob/96148f92146e5211685246722664e51ec730e7ba/lldb/source/Core/ModuleList.cpp#L218),
Thread 3 gets m_language_runtimes_mutex in
[`GetLanguageRuntime`](https://github.com/llvm/llvm-project/blob/96148f92146e5211685246722664e51ec730e7ba/lldb/source/Target/Process.cpp#L1501),
but then Thread 1 waits for m_language_runtimes_mutex in
[`GetLanguageRuntime`](https://github.com/llvm/llvm-project/blob/96148f92146e5211685246722664e51ec730e7ba/lldb/source/Target/Process.cpp#L1501)
while Thread 3 waits for m_modules_mutex in
[`ScanForGNUstepObjCLibraryCandidate`](https://github.com/llvm/llvm-project/blob/96148f92146e5211685246722664e51ec730e7ba/lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/GNUstepObjCRuntime.cpp#L57).
This fixes the deadlock by adding a scoped block around the mutex lock
before the call to the notifier, and moved the notifier call outside of
the mutex-guarded section. The notifier call
[`NotifyModuleAdded`](https://github.com/llvm/llvm-project/blob/96148f92146e5211685246722664e51ec730e7ba/lldb/source/Target/Target.cpp#L1810)
should be thread-safe, since the module should be added to the
`ModuleList` before the mutex is released, and the notifier doesn't
modify the module list further, and the call is operates on local state
and the `Target` instance.
### Deadlocked Thread backtraces:
```
* thread #3, name = 'dbg.evt-handler', stop reason = signal SIGSTOP
* frame #0: 0x00007f2f1e2973dc libc.so.6`futex_wait(private=0, expected=2, futex_word=0x0000563786bd5f40) at futex-internal.h:146:13
/*... a bunch of mutex related bt ... */
liblldb.so.21.0git`std::lock_guard<std::recursive_mutex>::lock_guard(this=0x00007f2f0f1927b0, __m=0x0000563786bd5f40) at std_mutex.h:229:19
frame #8: 0x00007f2f27946eb7 liblldb.so.21.0git`ScanForGNUstepObjCLibraryCandidate(modules=0x0000563786bd5f28, TT=0x0000563786bd5eb8) at GNUstepObjCRuntime.cpp:60:41
frame #9: 0x00007f2f27946c80 liblldb.so.21.0git`lldb_private::GNUstepObjCRuntime::CreateInstance(process=0x0000563785e1d360, language=eLanguageTypeObjC) at GNUstepObjCRuntime.cpp:87:8
frame #10: 0x00007f2f2746fca5 liblldb.so.21.0git`lldb_private::LanguageRuntime::FindPlugin(process=0x0000563785e1d360, language=eLanguageTypeObjC) at LanguageRuntime.cpp:210:36
frame #11: 0x00007f2f2742c9e3 liblldb.so.21.0git`lldb_private::Process::GetLanguageRuntime(this=0x0000563785e1d360, language=eLanguageTypeObjC) at Process.cpp:1516:9
...
frame #21: 0x00007f2f2750b5cc liblldb.so.21.0git`lldb_private::Thread::GetSelectedFrame(this=0x0000563785e064d0, select_most_relevant=DoNoSelectMostRelevantFrame) at Thread.cpp:274:48
frame #22: 0x00007f2f273f9957 liblldb.so.21.0git`lldb_private::ExecutionContextRef::SetTargetPtr(this=0x00007f2f0f193778, target=0x0000563786bd5be0, adopt_selected=true) at ExecutionContext.cpp:525:32
frame #23: 0x00007f2f273f9714 liblldb.so.21.0git`lldb_private::ExecutionContextRef::ExecutionContextRef(this=0x00007f2f0f193778, target=0x0000563786bd5be0, adopt_selected=true) at ExecutionContext.cpp:413:3
frame #24: 0x00007f2f270e80af liblldb.so.21.0git`lldb_private::Debugger::GetSelectedExecutionContext(this=0x0000563785d83bc0) at Debugger.cpp:1225:23
frame #25: 0x00007f2f271bb7fd liblldb.so.21.0git`lldb_private::Statusline::Redraw(this=0x0000563785d83f30, update=true) at Statusline.cpp:136:41
...
* thread #1, name = 'lldb', stop reason = signal SIGSTOP
* frame #0: 0x00007f2f1e2973dc libc.so.6`futex_wait(private=0, expected=2, futex_word=0x0000563785e1dd98) at futex-internal.h:146:13
/*... a bunch of mutex related bt ... */
liblldb.so.21.0git`std::lock_guard<std::recursive_mutex>::lock_guard(this=0x00007ffe62be0488, __m=0x0000563785e1dd98) at std_mutex.h:229:19
frame #8: 0x00007f2f2742c8d1 liblldb.so.21.0git`lldb_private::Process::GetLanguageRuntime(this=0x0000563785e1d360, language=eLanguageTypeC_plus_plus) at Process.cpp:1510:41
frame #9: 0x00007f2f2743c46f liblldb.so.21.0git`lldb_private::Process::ModulesDidLoad(this=0x0000563785e1d360, module_list=0x00007ffe62be06a0) at Process.cpp:6082:36
...
frame #13: 0x00007f2f2715cf03 liblldb.so.21.0git`lldb_private::ModuleList::AppendImpl(this=0x0000563786bd5f28, module_sp=ptr = 0x563785cec560, use_notifier=true) at ModuleList.cpp:246:19
frame #14: 0x00007f2f2715cf4c liblldb.so.21.0git`lldb_private::ModuleList::Append(this=0x0000563786bd5f28, module_sp=ptr = 0x563785cec560, notify=true) at ModuleList.cpp:251:3
...
frame #19: 0x00007f2f274349b3 liblldb.so.21.0git`lldb_private::Process::ConnectRemote(this=0x0000563785e1d360, remote_url=(Data = "connect://localhost:1234", Length = 24)) at Process.cpp:3250:9
frame #20: 0x00007f2f27411e0e liblldb.so.21.0git`lldb_private::Platform::DoConnectProcess(this=0x0000563785c59990, connect_url=(Data = "connect://localhost:1234", Length = 24), plugin_name=(Data = "gdb-remote", Length = 10), debugger=0x0000563785d83bc0, stream=0x00007ffe62be3128, target=0x0000563786bd5be0, error=0x00007ffe62be1ca0) at Platform.cpp:1926:23
```
## Test Plan:
Built a hello world a.out
Run server in one terminal:
```
~/llvm/build/Debug/bin/lldb-server g :1234 a.out
```
Run client in another terminal
```
~/llvm/build/Debug/bin/lldb -o "gdb-remote 1234" -o "b hello.cc:3"
```
Before:
Client hangs indefinitely
```
~/llvm/build/Debug/bin/lldb -o "gdb-remote 1234" -o "b main"
(lldb) gdb-remote 1234
^C^C
```
After:
```
~/llvm/build/Debug/bin/lldb -o "gdb-remote 1234" -o "b hello.cc:3"
(lldb) gdb-remote 1234
Process 837068 stopped
* thread #1, name = 'a.out', stop reason = signal SIGSTOP
frame #0: 0x00007ffff7fe4a60
ld-linux-x86-64.so.2`_start:
-> 0x7ffff7fe4a60 <+0>: movq %rsp, %rdi
0x7ffff7fe4a63 <+3>: callq 0x7ffff7fe5780 ; _dl_start at rtld.c:522:1
ld-linux-x86-64.so.2`_dl_start_user:
0x7ffff7fe4a68 <+0>: movq %rax, %r12
0x7ffff7fe4a6b <+3>: movl 0x18067(%rip), %eax ; _dl_skip_args
(lldb) b hello.cc:3
Breakpoint 1: where = a.out`main + 15 at hello.cc:4:13, address = 0x00005555555551bf
(lldb) c
Process 837068 resuming
Process 837068 stopped
* thread #1, name = 'a.out', stop reason = breakpoint 1.1
frame #0: 0x00005555555551bf a.out`main at hello.cc:4:13
1 #include <iostream>
2
3 int main() {
-> 4 std::cout << "Hello World" << std::endl;
5 return 0;
6 }
```
Commit: 2cf276d48a3f2726dcbd786ff030e6ce3d5dffb4
https://github.com/llvm/llvm-project/commit/2cf276d48a3f2726dcbd786ff030e6ce3d5dffb4
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/test/Target/SPIRV/module.mlir
Log Message:
-----------
[mlir][spirv] Support SPIR-V 1.6 in deserializer (#151958)
After skimming through the changes in the spec, there does not seem to
be anything that will cause issues. A new roundtrip test has been added
and validate with `spirv-val` just in case.
Commit: 2fe96439fb81d85ea78a6311b1d9e6ed9b85bcfa
https://github.com/llvm/llvm-project/commit/2fe96439fb81d85ea78a6311b1d9e6ed9b85bcfa
Author: Chris B <chris.bieneman at me.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm-c/Object.h
M llvm/include/llvm/Object/Binary.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/lib/Object/Binary.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/Object.cpp
M llvm/lib/Object/ObjectFile.cpp
M llvm/lib/Object/SymbolicFile.cpp
A llvm/test/tools/llvm-objdump/DXContainer/part-headers.yaml
M llvm/tools/llvm-objdump/CMakeLists.txt
A llvm/tools/llvm-objdump/DXContainerDump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.h
Log Message:
-----------
[DirectX] Add ObjectFile boilerplate for objdump (#151434)
This change adds boilerplate code to implement the object::ObjectFile
interface for the DXContainer object file and an empty implementation of
the objdump Dumper object.
Adding an ObjectFile implementation for DXContainer is a bit odd because
the DXContainer format doesn't have a symbol table, so there isn't a
reasonable implementation for the SymbolicFile interfaces. That said, it
does have sections, and it will be useful for objdump to be able to
inspect some of the structured data stored in some of the special named
sections.
At this point in the implementation it can't do much other than dump the
part names, offsets, and sizes. Dumping detailed structured section
contents to be extended in subsequent PRs.
Fixes #151433
Commit: a3a8e1c064d15ce560840279b77e5a421103a58d
https://github.com/llvm/llvm-project/commit/a3a8e1c064d15ce560840279b77e5a421103a58d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/RISCV/and-negpow2-cmp.ll
Log Message:
-----------
[TargetLowering][RISCV] Use sra for (X & -256) == 256 -> (X >> 8) == 1 if it yields a better icmp constant. (#151762)
If using srl does not produce a legal constant for the RHS of the
final compare, try to use sra instead.
Because the AND constant is negative, the sign bits participate in the
compare. Using an arithmetic shift right duplicates that bit.
Commit: 8d9afb8d955553bcc6aecba930fe94264b3ceebc
https://github.com/llvm/llvm-project/commit/8d9afb8d955553bcc6aecba930fe94264b3ceebc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
Log Message:
-----------
[lldb][DWARFIndex] Adapt DWARFIndex ObjC APIs to IterationAction (#151839)
Continuation of https://github.com/llvm/llvm-project/pull/151489
Commit: 0ee1811624383b4601c969d72e851377f868120f
https://github.com/llvm/llvm-project/commit/0ee1811624383b4601c969d72e851377f868120f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Eliminate InitializePythonRAII::InitializeThreadsPrivate (NFC) (#151780)
The behavior of thread initialization changed in Python 3.7. The minimum
supported Python version is now 3.8. That means that
`PyEval_ThreadsInitialized` always returns true and `PyEval_InitThreads`
is never called.
The helper function existed to coordinate initializing the threads and
acquiring the GIL, which is no longer necessary. With that, there's no
point in having the helper at all. This PR eliminates the function and
inlines to GIL acquisition into the caller.
Commit: b738f630f73975bc591a82fdcb4858ae5da67477
https://github.com/llvm/llvm-project/commit/b738f630f73975bc591a82fdcb4858ae5da67477
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/Bitset.h
Log Message:
-----------
ADT: Expose typedef for Bitset's storage type (#151986)
Allows subclasses to directly initialize the underlying storage.
This will enable tablegen to emit a smaller initializer list to
initialize constant bitsets. For runtime libcalls we need to
initialize many hundreds of bits in many different sets so this
shrinks the generated output to a more manageable size.
Extracted from #151948
Commit: e8fc808bf8e78a3c80d1f8e293a92677b92366dd
https://github.com/llvm/llvm-project/commit/e8fc808bf8e78a3c80d1f8e293a92677b92366dd
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
A llvm/test/MC/ELF/many-instructions.s
Log Message:
-----------
Reapply "MCFragment: Use trailing data for fixed-size part" (#150846)
The fixed-size content of the MCFragment object is now stored as
trailing data, replacing ContentStart/ContentEnd with ContentSize. The
available space for trailing data is tracked using `FragSpace`. If the
available space is insufficient, a new block is allocated within the
bump allocator `MCObjectStreamer::FragStorage`.
FragList::Tail cannot be reused when switching sections or subsections,
as it is not associated with the fragment space tracked by `FragSpace`.
Instead, allocate a new fragment, which becomes less expensive after #150574.
Data can only be appended to the tail fragment of a subsection, not to
fragments in the middle. Post-assembler-layout adjustments (such as
.llvm_addrsig and .llvm.call-graph-profile) have been updated to use the
variable-size part instead.
---
This reverts commit a2fef664c29a53bfa8a66927fcf8b2e5c9da4876,
which reverted the innocent f1aa6050bd90f8ec4273da55d362e23905ad3a81 .
Commit df71243fa885cd3db701dc35a0c8d157adaf93b3, the MCOrgFragment fix,
has fixed the root cause of https://github.com/ClangBuiltLinux/linux/issues/2116
Commit: a461e2b16056a0ad0e09e7866ed70edb97763b03
https://github.com/llvm/llvm-project/commit/a461e2b16056a0ad0e09e7866ed70edb97763b03
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/test/CodeGen/RISCV/note-gnu-property-zicfiss.ll
Log Message:
-----------
[RISCV] Improvements to .note.gnu.property section. (#151436)
Put the emitValueToAlignment at the beginning instead of in the middle.
Emit the descsz directly instead of using the difference of 2 labels.
Remove the section alignment. emitValueToAlignment will increase the
section alignment if necessary.
Commit: 0f08dc84405796c25c070ef57258309f66017984
https://github.com/llvm/llvm-project/commit/0f08dc84405796c25c070ef57258309f66017984
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Use fully qualified name instead of namespace (NFC)
In #151761, both Alex and Pavel prefer to use a fully qualified name
instead of opening a namespace. This PR addresses that post-commit
feedback.
Commit: afbabb1d9f7899c82f7e28e7c17d27b06c14a646
https://github.com/llvm/llvm-project/commit/afbabb1d9f7899c82f7e28e7c17d27b06c14a646
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-objdump/BUILD.gn
Log Message:
-----------
[gn build] Port 2fe96439fb81
Commit: 5a80274cae3c5d19cf5058550139cb857513ae02
https://github.com/llvm/llvm-project/commit/5a80274cae3c5d19cf5058550139cb857513ae02
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
Log Message:
-----------
[RISCV] Reuse lowerToScalableOp for more nodes. NFC (#151911)
A lot of fixed-length custom lowerings just involve inserting the
operands into a scalable container and extracting the result out, and
lowerToScalableOp already does this.
We just need to teach it to handle operands with different element types
(but same vector element count), and we can reuse it for
vselect/zext/sext/setcc/fcopysign.
Commit: 8f77fa7026de9f544778063fd9fe900d0804b863
https://github.com/llvm/llvm-project/commit/8f77fa7026de9f544778063fd9fe900d0804b863
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Simplify Python Locker log messages (NFC)
Eliminate the `log` variable by inlining the GetLog call and use
"locked" and "unlocked" directly, as requested by Ismail in #151780.
Commit: a0db29d64788c44230b0808317d5841c5558bec6
https://github.com/llvm/llvm-project/commit/a0db29d64788c44230b0808317d5841c5558bec6
Author: satyanarayana reddy janga <satyajanga at fb.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Expression/DWARFExpression.cpp
M lldb/unittests/Expression/DWARFExpressionTest.cpp
Log Message:
-----------
[lldb] Zero extend APInt when piece size is bigger than the bitwidth (#150149)
### Summary
We have internally seen cases like this
`DW_OP_lit0, DW_OP_stack_value, DW_OP_piece 0x28`
where we have longer op pieces than what Scalar supports (32, 64 or 128
bits). In these cases LLDB is currently hitting the assertion
`assert(ap_int.getBitWidth() >= bit_size);`
We are extending the generated APInt to the piece size by filling zeros.
### Test plan
Added a unit to cover this case.
### Reviewers
@clayborg , @jeffreytan81 , @Jlalond
Commit: 7b208e04b2e7c4a10eebf026996d8116eac5f603
https://github.com/llvm/llvm-project/commit/7b208e04b2e7c4a10eebf026996d8116eac5f603
Author: nerix <nerixdev at outlook.de>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
A lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDBProperties.td
A lldb/test/Shell/SymbolFile/PDB/native-setting.cpp
Log Message:
-----------
[LLDB] Add setting for native PDB reader (#151490)
Initially suggested in
https://github.com/llvm/llvm-project/pull/149305#issuecomment-3113413702
- this PR adds the setting `plugin.symbol-file.pdb.use-native-reader`.
It doesn't remove support for `LLDB_USE_NATIVE_PDB_READER` to allow some
backwards compatibility. This was the suggested way to use the native
reader - changing that would mean users who set this, now use the DIA
reader. The setting has priority over the environment variable, though.
If the default gets flipped on Windows, the environment variable could
probably be removed as well.
This would make it possible to test both native PDB and DIA PDB in the
API tests (see linked PR).
Commit: 80bd72b9b0d5d1f8fd54a4ee6f8af80734912d5d
https://github.com/llvm/llvm-project/commit/80bd72b9b0d5d1f8fd54a4ee6f8af80734912d5d
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/include/lldb/Target/ExecutionContext.h
M lldb/source/Target/ExecutionContext.cpp
Log Message:
-----------
[lldb][nfc] Use delegating ctor for ExecutionContext (#151987)
The ctor that takes a reference to ExecutionContextRef can be
implemented in terms of the ctor that takes a pointer to that object,
removing code duplication.
Commit: 849daa4aa05f2b3ac114762c73b9cb48d132a060
https://github.com/llvm/llvm-project/commit/849daa4aa05f2b3ac114762c73b9cb48d132a060
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/include/lldb/API/SBThread.h
M lldb/source/API/SBThread.cpp
Log Message:
-----------
[lldb][NFC] Move SBThread::ResumeNewPlan out of the header (#151988)
This *private* method is only defined as a member class of SBThread so
that it may be declared a `friend` of SBError and access a private
constructor of SBError that takes a `Status`, which is an `lldb_private`
object. In other words, the method does not use anything about the class
is belongs to, so it has no business being a member method.
A subsequent patch will need to add a new argument to this class, a
`Process::StopLocker`, which is also another `lldb_private` object. This
is another strong suggestion that this method does not belong on the
header file of a public API, even if at the private visibility level. We
can't forward declare nested types like `Process:StopLocker`, so this
problem is not easily solvable.
This commit moves the method out of the header and into an anon
namespace of the cpp file. It is also made to return a Status instead,
and the private `SBError` constructor is accessed by the SBThread
methods that call it.
Commit: cb50d78a0063244434d883d89ddda7f74abbffc9
https://github.com/llvm/llvm-project/commit/cb50d78a0063244434d883d89ddda7f74abbffc9
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaStmt.cpp
M clang/test/Sema/for.c
Log Message:
-----------
[C] static_assert in a for loop is not an extension (#151955)
The original wording can be squinted at to pretend this was always
allowed. GCC squints at it that way, so we're doing the same and no
longer issuing an extension diagnostic for use of static_assert in the
condition-1 of a for loop in C.
Fixes #149633
Commit: 37b6fbc95b7dd623c8cfff04af1f1b787cf3d4cd
https://github.com/llvm/llvm-project/commit/37b6fbc95b7dd623c8cfff04af1f1b787cf3d4cd
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDebugNamesIndexTest.cpp
Log Message:
-----------
[lldb][DWARFIndex] Adapt DWARFIndex GetTypes APIs to IterationAction (#151992)
Continuation of https://github.com/llvm/llvm-project/pull/151489
Commit: 70af09e3a19c7465a6b263385ffcbbaa3a1a51e4
https://github.com/llvm/llvm-project/commit/70af09e3a19c7465a6b263385ffcbbaa3a1a51e4
Author: Michael Halkenhäuser <MichaelGerald.Halkenhauser at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
R llvm/test/Transforms/SLPVectorizer/X86/main-alternate-interechanged-detect.ll
Log Message:
-----------
Revert "[SLP] Fix a check for main/alternate interchanged instruction" (#151997)
This reverts commit 3ee8d047109ea4bb479095f4b153c2120a8d726c.
Revert reason: FAILED build for openmp-offload-amdgpu-runtime-2
https://lab.llvm.org/buildbot/#/builders/10/builds/10827
Commit: 9d151897ba4a12fb8a85c545b7033efe328fe7d4
https://github.com/llvm/llvm-project/commit/9d151897ba4a12fb8a85c545b7033efe328fe7d4
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/pr36983-multiple-lcssa.ll
R llvm/test/Transforms/LoopVectorize/pr36983.ll
Log Message:
-----------
[LV] Improve a test, regen with UTC (#151947)
Commit: ad623a813e6d9ffdef62270656245b35ffceda37
https://github.com/llvm/llvm-project/commit/ad623a813e6d9ffdef62270656245b35ffceda37
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Eliminate PyGILState_Check (NFC) (#152006)
Eliminate calls to PyGILState_Check, which is not part of the Python
Limited C API. In the Locker, we can use PyGILState_Ensure directly. We
could do something similar to replace the assert, but I don't think it's
worth it. We don't assert that we hold the GIL anywhere else.
Commit: 147cfc89f05e8953fa8eaff7448353c817b17cc9
https://github.com/llvm/llvm-project/commit/147cfc89f05e8953fa8eaff7448353c817b17cc9
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.h
Log Message:
-----------
[lldb][DWARFIndex] Adapt DWARFIndex DIERefCallback to IterationAction (#152001)
Continuation of https://github.com/llvm/llvm-project/pull/151489
Commit: 66eadbb235320b476214c810f5bbdc0daa44d2d7
https://github.com/llvm/llvm-project/commit/66eadbb235320b476214c810f5bbdc0daa44d2d7
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
A clang/test/CIR/CodeGenOpenACC/compute-private-clause-templates.cpp
M clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC][CIR] Implement 'init' lowering for private clause vars (#151781)
Previously, #151360 implemented 'private' clause lowering, but didn't
properly initialize the variables. This patch adds that behavior to make
sure we correctly get the constructor or other init called.
Commit: e27831ff9b4aa31b7dd9b1caca2c4a6585573608
https://github.com/llvm/llvm-project/commit/e27831ff9b4aa31b7dd9b1caca2c4a6585573608
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/main-alternate-interechanged-detect.ll
Log Message:
-----------
[SLP] Fix a check for main/alternate interchanged instruction
If the instruction is checked for matching the main instruction, need to
check if the opcode of the main instruction is compatible with the
operands of the instruction. If they are not, need to check the
alternate instruction and its operands for compatibility and return
alternate instruction as a match.
Fixes #151699
Fixed check for non-supported binary operations.
Commit: 215e6beae023341a8a17af1bd537472d16097e30
https://github.com/llvm/llvm-project/commit/215e6beae023341a8a17af1bd537472d16097e30
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use MapVector for ScalarCostsTy for deterministic iter order (NFC)
We iterate over the scalar costs of instruction when printing costs, and
currently the iteration order is not deterministic. Currently no tests
check the output with multiple instructions in the map, but those will
come soon.
Commit: dd0737bd99e691b038e463171fbfefe8e53b018d
https://github.com/llvm/llvm-project/commit/dd0737bd99e691b038e463171fbfefe8e53b018d
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
Log Message:
-----------
[AMDGPU] gfx1250 v_wmma_ld_scale instructions (#152010)
Commit: 4e0b68cef0bdf0d806cd778fbf0b7ddd80b44b4d
https://github.com/llvm/llvm-project/commit/4e0b68cef0bdf0d806cd778fbf0b7ddd80b44b4d
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
Log Message:
-----------
[OpenACC] Implement warning restrictions for 'firstprivate'
'firstprivate' can't be generated unless we have a copy constructor, so
this patch implements the restriction as a warning, and prevents the
item from being added to the AST.
Commit: a27d34b3f22b1134b2d47590c25b7f81eb7710b2
https://github.com/llvm/llvm-project/commit/a27d34b3f22b1134b2d47590c25b7f81eb7710b2
Author: Alex Langford <alangford at apple.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
M lldb/test/API/lang/c/tls_globals/main.c
Log Message:
-----------
[lldb] Fix TLS support on Darwin platforms (#151601)
When I wrote this previously, I was unaware that the TLS function
already adds the offset. The test was working previously because the
offset was 0 in this case (only 1 thread-local variable). I added
another thread-local variable to the test to make sure the offset is
indeed handled correctly.
rdar://156547548
Commit: 5514e5ed8cadbcd9876bf87634eaf1eabd737eb9
https://github.com/llvm/llvm-project/commit/5514e5ed8cadbcd9876bf87634eaf1eabd737eb9
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
A mlir/test/Target/SPIRV/arm-tensor-constant.mlir
M mlir/test/Target/SPIRV/constant.mlir
A mlir/test/Target/SPIRV/replicated-composites-constant.mlir
Log Message:
-----------
[mlir][spirv] Fix constant.mlir test (#152015)
Fix forward a few issues instead of reverting recent PRs....
1. Remove split so that the output is properly serialized. This got
added in #145687.
2. Add missing extensions and capabilities so that the spirv-val passes
(tensors_arm, linkage).
3. Disable spirv-val test for arm tensor constants. These fail to
verify. Added in #151485.
Issue: #152012
Commit: 1e815ced81da6b66e1d331414fed2c3b53babecc
https://github.com/llvm/llvm-project/commit/1e815ced81da6b66e1d331414fed2c3b53babecc
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[AMDGPU] Use SDNodeXForm to select a few VOP3P modifiers, NFC (#151907)
It is not necessary to use ComplexPattern to select VOP3PModsNeg, VOP3PModsNegs
and VOP3PModsNegAbs. We can use SDNodeXForm instead.
Commit: 0433e1e15fa3a9ef8485aaba2b96203f2e3d3e6a
https://github.com/llvm/llvm-project/commit/0433e1e15fa3a9ef8485aaba2b96203f2e3d3e6a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Add VPlan::getTrue/getFalse convenience helpers (NFC).
Makes it slightly more convenient to create true/false constants.
Commit: a911eee3bc4923fcfa579c9f0b2c08eddff673eb
https://github.com/llvm/llvm-project/commit/a911eee3bc4923fcfa579c9f0b2c08eddff673eb
Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Analysis/ThreadSafety.cpp
Log Message:
-----------
Thread safety analysis: Allocate FactEntrys with BumpPtrAllocator (#149660)
The FactManager managing the FactEntrys stays alive for the analysis of
a single function. We are already using that by allocating TIL
S-expressions via BumpPtrAllocator. We can do the same with FactEntrys.
If we allocate the facts in an arena, we won't get destructor calls for
them, and they better be trivially destructible. This required replacing
the SmallVector member of ScopedLockableFactEntry with TrailingObjects.
FactEntrys are now passed around by plain pointer. However, to hide the
allocation of TrailingObjects from users, we introduce `create` methods,
and this allows us to make the constructors private.
Commit: d27656925817cfc30607c3ab0e6a563637b71798
https://github.com/llvm/llvm-project/commit/d27656925817cfc30607c3ab0e6a563637b71798
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
Log Message:
-----------
[lldb][DWARFIndex] Adapt DebugNamesDWARFIndex::ProcessEntry to IterationAction (#152025)
Continuation of https://github.com/llvm/llvm-project/pull/151489
Commit: b757bc8b13b1088e2f2b1b98aa33ebb16334b59d
https://github.com/llvm/llvm-project/commit/b757bc8b13b1088e2f2b1b98aa33ebb16334b59d
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/test/sanitizer_common/CMakeLists.txt
Log Message:
-----------
[compiler-rt][test] Apply CFLAGS from sanitizer_common to all tests (#120798)
Sanitizer-specific tests don't use the sanitizer_common flags, but the
issues they address probably also apply to the individual sanitizers.
This was observed in #119071: moving a test from sanitizer_common to
msan broke it in builds with CMAKE_SYSROOT set, because the --sysroot
argument was no longer applied to the test.
Commit: 58aeb7952f30b7fea28d74d3a8d4b0112cc553ee
https://github.com/llvm/llvm-project/commit/58aeb7952f30b7fea28d74d3a8d4b0112cc553ee
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Port 7b208e04b2e7c4a10eebf026996d8116eac5f603 (#152033)
Commit: 37fe9f6382da02a9f46dbf67aeaae4d1c3e0d2d7
https://github.com/llvm/llvm-project/commit/37fe9f6382da02a9f46dbf67aeaae4d1c3e0d2d7
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx1250.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
Log Message:
-----------
[AMDGPU] Add gfx1250 v_wmma_scale[16]_f32_16x16x128_f8f6f4 MC support (#152014)
This adds new VOP3PX2e encoding
Commit: 6e94dc39623882fa594811d5beb18cda5ac3e414
https://github.com/llvm/llvm-project/commit/6e94dc39623882fa594811d5beb18cda5ac3e414
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/Maintainers.md
Log Message:
-----------
[MLIR] Add tensor compiler dialect maintainers (#150945)
As per https://discourse.llvm.org/t/mlir-project-maintainers/87189
@llvm/mlir-area-team
@jpienaar
@banach-space
Commit: 518703806286c98bac7b84156738839f8bd55bef
https://github.com/llvm/llvm-project/commit/518703806286c98bac7b84156738839f8bd55bef
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
M llvm/lib/Target/M68k/M68kInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/XCore/XCoreInstrInfo.cpp
Log Message:
-----------
[X86][ARM][RISCV][XCore][M68K] Invert the low bit to get the inverse predicate (NFC) (#151748)
All these platforms defined their predicate in such a way to allow bit
twiddling to get inverse predicates
Commit: 771d9ab7017369093e98d8a82010a7a7f4d32226
https://github.com/llvm/llvm-project/commit/771d9ab7017369093e98d8a82010a7a7f4d32226
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/SubTest.h
Log Message:
-----------
[libc][math] Fix subtraction of infinity in fputil::add_or_sub (#152017)
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: 7223f67ffc37fe479c399f87d8bec606496e50fe
https://github.com/llvm/llvm-project/commit/7223f67ffc37fe479c399f87d8bec606496e50fe
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
M lld/test/COFF/import_weak_alias.test
Log Message:
-----------
[LLD][COFF] Don't resolve weak aliases when performing local import (#152000)
Fixes crashes reported in #151255.
The alias may have already been stored for later resolution, which can
lead to treating a resolved alias as if it were still undefined.
Instead, use the alias target directly for the import.
Also extended the test to make reproducing the problem more likely, and
added an assert that catches the issue.
Commit: 318d639ea142c5b9544d9602683c9a3d802aa7f2
https://github.com/llvm/llvm-project/commit/318d639ea142c5b9544d9602683c9a3d802aa7f2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
Log Message:
-----------
[libc] Update clang to v22 in the fullbuild tests (#152039)
The apt repository has been updated so installing version 22 actually
works now.
Fixes #151215.
Commit: f58bc72759e2e6e11d7e50ef3370a5a7d345e651
https://github.com/llvm/llvm-project/commit/f58bc72759e2e6e11d7e50ef3370a5a7d345e651
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
M llvm/lib/Target/M68k/M68kInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/XCore/XCoreInstrInfo.cpp
Log Message:
-----------
Revert "[X86][ARM][RISCV][XCore][M68K] Invert the low bit to get the inverse predicate (NFC) (#151748)"
This reverts commit 518703806286c98bac7b84156738839f8bd55bef.
Failing M68k build bot.
Commit: 9f7f3d65483769cba287242120362f8e21407e8d
https://github.com/llvm/llvm-project/commit/9f7f3d65483769cba287242120362f8e21407e8d
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
Log Message:
-----------
[CIR] Implemented get/set for volatile bitfields (#151875)
This PR adds support for loading and storing volatile bit-field members
according to the AAPCS specification.
> A volatile bit-field must always be accessed using an access width
appropriate to the type of its container, except when any of the
following are true:
>
> * The bit-field container overlaps with a zero-length bit-field.
> * The bit-field container overlaps with a non-bit-field member.
For example, if a bit-field is declared as `int`, the load/store must
use a 32-bit access, even if the field itself is only 3 bits wide.
Commit: a708b4bf21d7c2298224cdacf7d424abc3c8fed4
https://github.com/llvm/llvm-project/commit/a708b4bf21d7c2298224cdacf7d424abc3c8fed4
Author: Thurston Dang <thurston at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
Log Message:
-----------
[sanitizer] Print diagnostic if ptrace syscall fails (#151406)
StopTheWorld() clones a child process (with shared virtual address space
and shared TLS) that calls ptrace before releasing a mutex; the parent
process yields until the mutex is unlocked. If seccomp kills the child
process, the parent process will silently hang. The parent process
cannot use waitpid to detect that the child process has been killed,
because the processes share errno.
This patch forks the process one-time to test whether ptrace is allowed.
If it fails, it prints an informational message (though it does not
abort the sanitizer).
Fixes https://github.com/llvm/llvm-project/issues/150380 and
https://github.com/google/sanitizers/issues/777
Commit: abc394c6576eba790fd5eed02da19527981618bc
https://github.com/llvm/llvm-project/commit/abc394c6576eba790fd5eed02da19527981618bc
Author: Thurston Dang <thurston at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
Log Message:
-----------
[sanitizer] Fix-forward "[sanitizer] Print diagnostic if ptrace syscall fails #151406"
Use internal__exit instead of _exit
Buildbot: https://lab.llvm.org/buildbot/#/builders/174/builds/22276
Commit: 05b52ef909475f4048e5b8cd86b3671772506682
https://github.com/llvm/llvm-project/commit/05b52ef909475f4048e5b8cd86b3671772506682
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
Log Message:
-----------
[flang][cuda][NFC] Update to the new create APIs (#152050)
Some operation creations were updated in flang directory but not all.
Migrate the CUF ops to the new create APIs introduce in #147168
Commit: 717e753d1ef6d371d09f957f23df5c7a0e05a197
https://github.com/llvm/llvm-project/commit/717e753d1ef6d371d09f957f23df5c7a0e05a197
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/IR/Mangler.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
A llvm/test/CodeGen/AArch64/arm64ec-empty-name.ll
Log Message:
-----------
[win][arm64ec] Handle empty function names (#151609)
While testing Arm64EC, I observed that LLVM crashes when an empty
function name is used. My original fix in #151409 was to raise an error,
but this change now handles the empty name via
`Mangler::getNameWithPrefix` (which assigns a name to the function).
To get this working, I had to create the `Mangler` in
`TargetLoweringObjectFile` early so it would be available to Arm64EC's
lowering. There's no reason why `Mangler` is only created when
`Initialize` is called (or re-created if it exists), and so I moved
creation to the constructor and switched the raw pointer for a
`unique_ptr` to avoid the explicit `delete` in the destructor.
Commit: 314e82514d979338d17baddf180ab1dbfef9c864
https://github.com/llvm/llvm-project/commit/314e82514d979338d17baddf180ab1dbfef9c864
Author: Nico Weber <thakis at chromium.org>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/SymbolFile/PDB/BUILD.gn
Log Message:
-----------
[gn] port 7b208e04b2e7
Commit: 951f40ac388fc389b958af027df96356a4c51e33
https://github.com/llvm/llvm-project/commit/951f40ac388fc389b958af027df96356a4c51e33
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/unittests/Optimizer/Builder/Runtime/AllocatableTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/AssignTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/CharacterTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/CommandTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/DerivedTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/RaggedTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/ReductionTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/TransformationalTest.cpp
M flang/unittests/Optimizer/FortranVariableTest.cpp
Log Message:
-----------
[flang][NFC] Update flang/unittests to the new create APIs (#152056)
While I was updating the creation of CUF operation in #152050, I noticed
some other places in flang that were not updated. This patch updates the
FIR operation creations in `flang/unittests`
Commit: 9b195dc3ef66de2c1ff0048822b24a322ec3c52a
https://github.com/llvm/llvm-project/commit/9b195dc3ef66de2c1ff0048822b24a322ec3c52a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Lower/CUDA/cuda-allocatable.cuf
Log Message:
-----------
[flang][cuda] Generate cuf.allocate for descriptor with CUDA components (#152041)
The descriptor for derived-type with CUDA components are allocated in
managed memory. The lowering was calling the standard runtime on
allocate statement where it should be a `cuf.allocate` operation.
Commit: 875a3debde1cecf04604024548e981f0e5d47bf0
https://github.com/llvm/llvm-project/commit/875a3debde1cecf04604024548e981f0e5d47bf0
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Log Message:
-----------
[RISCV][EVL] Drop EVLIndVarSimplifyPass from the pipeline (#151483)
With the VPlan-based canonical induction variable replacement landed in
#147222, it appears to cover the functionality previously provided by
the EVLIndVarSimplify pass introduced in #131005.
This patch suggests removing EVLIndVarSimplify from the RISC-V pipeline
as a follow-up step. Feedback is very welcome!
Commit: 04691aae0dd783162919c85aef5b8b143c0ca411
https://github.com/llvm/llvm-project/commit/04691aae0dd783162919c85aef5b8b143c0ca411
Author: Wenju He <wenju.he at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libclc/opencl/lib/generic/async/async_work_group_strided_copy.inc
Log Message:
-----------
[libclc] Refine id in async_work_group_copy STRIDED_COPY (#151644)
Move id first along 0th dimension to achieve coalesced memory access
when stride is 1.
Commit: 862fb42b065dd01584f219994bc791f9d0a4c9b8
https://github.com/llvm/llvm-project/commit/862fb42b065dd01584f219994bc791f9d0a4c9b8
Author: Maksim Shelegov <maksim.shelegov at intel.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
Log Message:
-----------
[AMDGPU][GlobalISel] Fix G_UNMERGE_VALUES combine (#141812)
Fixes #139791.
When trying to combine two G_UNMERGE_VALUES with a COPY between them,
a crash occurs in tryCombineUnmergeValues() because getDefIndex() tries
to find the index of the original source register in the def found by
getDefIgnoringCopies(). In the case of a COPY in between, this register
is not present in the def, only in the COPY.
Commit: 03e902cc68115e9c5be1a624849e30c5e510c930
https://github.com/llvm/llvm-project/commit/03e902cc68115e9c5be1a624849e30c5e510c930
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512fp16-combine-shuffle-fma.ll
M llvm/test/CodeGen/X86/fmaddsub-combine.ll
M llvm/test/CodeGen/X86/fmsubadd-combine.ll
Log Message:
-----------
[X86] Remove `UnsafeFPMath` uses (#151667)
Remove `UnsafeFPMath` in X86 part, it blocks some bugfixes related to
clang and the ultimate goal is to remove `resetTargetOptions` method in
`TargetMachine`, see FIXME in `resetTargetOptions`.
See also
https://discourse.llvm.org/t/rfc-honor-pragmas-with-ffp-contract-fast
https://discourse.llvm.org/t/allowfpopfusion-vs-sdnodeflags-hasallowcontract
Commit: 3b23fdb35def583ae5db58576a7fcb312315879e
https://github.com/llvm/llvm-project/commit/3b23fdb35def583ae5db58576a7fcb312315879e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Factory.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertProcedureDesignator.cpp
M flang/lib/Lower/CustomIntrinsicCall.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
Log Message:
-----------
[flang][NFC] Update more FIR op creation to the new APIs (#152060)
Commit: 8761b6cf8f989c9f0a29f241e50756929e7190b7
https://github.com/llvm/llvm-project/commit/8761b6cf8f989c9f0a29f241e50756929e7190b7
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
Log Message:
-----------
[VPlan] Use VPTypeAnalysis to get the step type of widen pointer induction (#147925)
This patch uses VPTypeAnalysis to determine its type since the induction
step is not always a live-in value in the VPlan and may be defined by a
recipe.
Commit: e848959cb5d01eef57e379f70b9b43ae7a4bc5aa
https://github.com/llvm/llvm-project/commit/e848959cb5d01eef57e379f70b9b43ae7a4bc5aa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
Log Message:
-----------
ARM: Remove CPU from computeTargetABI (#151983)
The target CPU is a subtarget / function level concept, which
should not influence the module level ABI decisions. No tests fail
so it appears nothing is relying on this.
Commit: c5986765dc708d682deb2cdf62f5e16df737179b
https://github.com/llvm/llvm-project/commit/c5986765dc708d682deb2cdf62f5e16df737179b
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
Fix missing clang changes for #151983 (#152066)
That change was missing the API update in clang.
Commit: a153e83e41a31d36589ed252083b4ce5ed52ea60
https://github.com/llvm/llvm-project/commit/a153e83e41a31d36589ed252083b4ce5ed52ea60
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
M llvm/test/Transforms/InstCombine/AMDGPU/wmma-f8f6f4.ll
Log Message:
-----------
[AMDGPU] gfx1250 v_wmma_scale[16]_f32_16x16x128_f8f6f4 codegen (#152036)
Commit: 0206c0f8eadc2e797c3b21e971a275c0e47d3ad2
https://github.com/llvm/llvm-project/commit/0206c0f8eadc2e797c3b21e971a275c0e47d3ad2
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[AMDGPU] Add fixed size to wmma instructions with scale (#152043)
Commit: d02714c85a5e4794b9c77d7b2aae979633fe2566
https://github.com/llvm/llvm-project/commit/d02714c85a5e4794b9c77d7b2aae979633fe2566
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/test/AST/ByteCode/cxx11.cpp
Log Message:
-----------
[clang][bytecode] Return success for pointers to locals (#151980)
They aren't valid, but we leave them successful here and
CheckLValueConstantExpression will diagnose them later.
Commit: 203b35d214252349d58abba558ed086e281bd208
https://github.com/llvm/llvm-project/commit/203b35d214252349d58abba558ed086e281bd208
Author: Iris Shi <0.0 at owo.li>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
Log Message:
-----------
[NFC] Precommit test for "[RISCV] Create disjoint or in RISCVGatherScatterLowering" (#152068)
#151981
Commit: 5678aefc4578ffcbef1eb26b79ecf92ad2069aeb
https://github.com/llvm/llvm-project/commit/5678aefc4578ffcbef1eb26b79ecf92ad2069aeb
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/combine-min-max.ll
Log Message:
-----------
[NVPTX] Add support for integer min/max ReLU idiom (#151727)
Commit: 8eab158396d8c627849cc3d5e818725e22434c9c
https://github.com/llvm/llvm-project/commit/8eab158396d8c627849cc3d5e818725e22434c9c
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/IntegrationTest/test.cpp
Log Message:
-----------
[libc] make integration test malloc work properly when threaded (#151622)
Make the simple bump allocation backed by atomic operations.
Commit: 12568b6a4f735948316b9eceba0f6b48c21a0dc8
https://github.com/llvm/llvm-project/commit/12568b6a4f735948316b9eceba0f6b48c21a0dc8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SystemZ/llvm.sincos.f16.ll
A llvm/test/CodeGen/SystemZ/llvm.sincos.ll
Log Message:
-----------
SystemZ: Add sincos intrinsic test (#147473)
The ZOS run line is mostly broken. update_test_checks seems
to not work on it and I have no idea what I'm looking at here.
It's not obvious to me what the calls are. I added some checks
for the references to the libcalls printed at the end of the module,
but didn't check anything in the function body. half also just
asserts somewhere.
Commit: 0885740465951c3e4498eb63b2277427ec8f277f
https://github.com/llvm/llvm-project/commit/0885740465951c3e4498eb63b2277427ec8f277f
Author: Iris Shi <0.0 at owo.li>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
Log Message:
-----------
[RISCV] Create disjoint or in RISCVGatherScatterLowering (#151981)
We can create disjoint or in IRBuilder since #146350.
---------
Co-authored-by: Min-Yih Hsu <min.hsu at sifive.com>
Commit: e4d3dc6359f568a9b0ac2e1010bbc7d13f4982b6
https://github.com/llvm/llvm-project/commit/e4d3dc6359f568a9b0ac2e1010bbc7d13f4982b6
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
Log Message:
-----------
[flang][NFC] Update HLFIR ops creation to the new APIs (#152075)
See #147168
Commit: df3f6297354b3ea5fa53cc6a9d5464b54aae6f15
https://github.com/llvm/llvm-project/commit/df3f6297354b3ea5fa53cc6a9d5464b54aae6f15
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/InterpShared.cpp
M clang/test/AST/ByteCode/nullable.cpp
Log Message:
-----------
[clang][bytecode][NFC] Only collect non-null args if we have to (#152074)
Only do this if the function really has a NonNullArg.
Commit: 1eaf736384e6d1de1f9c23c8f60d872499b7cc97
https://github.com/llvm/llvm-project/commit/1eaf736384e6d1de1f9c23c8f60d872499b7cc97
Author: Boyana Norris <brnorris03 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/lib/IR/MLIRContext.cpp
M mlir/test/IR/test-clone.mlir
Log Message:
-----------
[mlir] Clone attrs of unregistered dialect ops (#151847)
`Operation::clone` does not clone the properties of unregistered ops.
This patch modifies the property initialization for unregistered ops to
initialize properties as attributes.
fixes #151640
---------
Signed-off-by: Boyana Norris <brnorris03 at gmail.com>
Commit: 95d9e8af64bc8e3f257553e2da01388bb72823fe
https://github.com/llvm/llvm-project/commit/95d9e8af64bc8e3f257553e2da01388bb72823fe
Author: Philip Lassen <plassen at groq.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlowFramework.h
Log Message:
-----------
[NFC][mlir] Update DataFlowFramework.h to be compatible with clang c++23 (#152040)
This change makes `DataFlowFramework.h` compatible with `clang++` and
`--std=c++23`.
Previously clang was checking the templated `DataFlowSolver::eraseState`
body before being instantiated. This resulted in issues with incomplete
types, and happened at least with `clang++-19`.
This is fixed by moving the definition of `DataFlowSolver::eraseState`
after the `AnalysisState`'s full class declaration.
For full context:
-
https://discourse.llvm.org/t/what-is-the-status-of-c-23-support-in-mlir/87674/12
Commit: 8f7dfc689c4750bfffc0c57f2f8f5b69383f747b
https://github.com/llvm/llvm-project/commit/8f7dfc689c4750bfffc0c57f2f8f5b69383f747b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/cxx2a.cpp
Log Message:
-----------
[clang][bytecode] Call CheckLocalLoad in GetLocal (#152090)
I forgot to call this here as well. It was only used in the EvalEmitter
implementation of the function. Also fix a problem where we didn't
diagnose out-of-lifetime reads here.
Commit: e044cc50eec8b2875b047c242f7afa4bc47046fe
https://github.com/llvm/llvm-project/commit/e044cc50eec8b2875b047c242f7afa4bc47046fe
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/test/Transforms/GVN/condprop.ll
Log Message:
-----------
[GVN] Handle not in equality propagation (#151942)
Look through `not` when propagating equalities in GVN. Usually these
will be canonicalized away, but they may be retained due to multi-use or
involvement in logical expressions.
Fixes https://github.com/llvm/llvm-project/issues/143529.
Commit: fcae1ba7757a9c7b4e65ff068e0cb854a9fa2edd
https://github.com/llvm/llvm-project/commit/fcae1ba7757a9c7b4e65ff068e0cb854a9fa2edd
Author: David Green <david.green at arm.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/Analysis/CostModel/ARM/active_lane_mask.ll
M llvm/test/Analysis/CostModel/ARM/cast.ll
M llvm/test/Analysis/CostModel/ARM/cast_ldst.ll
Log Message:
-----------
[ARM] Use -cost-kind=all for cast and active_lane_mask tests. NFC
Commit: fb632ed2377d280b581b8d4653b855e60d611f77
https://github.com/llvm/llvm-project/commit/fb632ed2377d280b581b8d4653b855e60d611f77
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/test/Transforms/GVN/assume-equal.ll
M llvm/test/Transforms/GVN/lifetime-simple.ll
Log Message:
-----------
[GVN] Handle provenance when propagating assume equality (#151953)
If we have a known `p == p2` equality, we cannot replace `p2` with `p`
unless they are known to have the same provenance. GVN handles this when
propagating equalities from conditions, but not for assumes, as these go
through a different code path for uses in the same block.
Call canReplacePointersInUseIfEqual() before performing the replacement.
This is subject to the usual approximations (e.g. that we always allow
replacement with a dereferenceable constant and null).
This restriction does not appear to have any impact in practice.
Commit: ba099c516daf4c5e77e3342803b1d91c9a0f9399
https://github.com/llvm/llvm-project/commit/ba099c516daf4c5e77e3342803b1d91c9a0f9399
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/StackLifetime.h
M llvm/lib/Analysis/StackLifetime.cpp
M llvm/test/Analysis/StackSafetyAnalysis/lifetime.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime-uar-uas.ll
Log Message:
-----------
[StackLifetime] Remove handling for lifetime size mismatch (#151965)
Split out from #150248:
Since #150944 the size passed to lifetime.start/end is considered
meaningless. The lifetime always applies to the whole alloca.
Accordingly remove handling for size mismatch in the StackLifetime
analysis.
Commit: 6393a9edde6da41d0e927b34a6c9ba965289c6da
https://github.com/llvm/llvm-project/commit/6393a9edde6da41d0e927b34a6c9ba965289c6da
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/IntegrationTest/test.cpp
Log Message:
-----------
Revert "[libc] make integration test malloc work properly when threaded" (#152096)
Reverts llvm/llvm-project#151622
This broke our libc on GPU bot:
https://lab.llvm.org/buildbot/#/builders/10/builds/10864
Commit: c233deb794b71260f012ac339574d51908b4fe26
https://github.com/llvm/llvm-project/commit/c233deb794b71260f012ac339574d51908b4fe26
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M bolt/test/link_fdata.py
Log Message:
-----------
[BOLT] Use llvm-nm by default on Windows (#151805)
Use `llvm-nm` by default instead of `nm` in case of Windows host.
Commit: 0cf7377a1e6545821e3525b40a091575a3dfce61
https://github.com/llvm/llvm-project/commit/0cf7377a1e6545821e3525b40a091575a3dfce61
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/compare-pointer-to-member-virtual-function.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-init.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/crtp-constructor-accessibility.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/redundant-branch-condition.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/standalone-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/no-recursion.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/pass-by-value.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/replace-auto-ptr.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/replace-disallow-copy-and-assign-macro.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/type-traits.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-auto.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-trailing-return-type.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/function-cognitive-complexity.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/misleading-indentation.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/qualified-auto.rst
Log Message:
-----------
[clang-tidy][docs][NFC] Make uniform "Limitations" sections across all checks (#151863)
Commit: c5e6938c6710a1c34a32830c743f19a29ffef6e5
https://github.com/llvm/llvm-project/commit/c5e6938c6710a1c34a32830c743f19a29ffef6e5
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-copy-initialization.rst
Log Message:
-----------
[clang-tidy][docs][NFC] Add limitation of variable lifetimes in performance-unnecessary-copy-initialization (#151862)
Addresses https://github.com/llvm/llvm-project/issues/150189.
Commit: 87283db54852a899a52e4e01aa01b471ffa34a1d
https://github.com/llvm/llvm-project/commit/87283db54852a899a52e4e01aa01b471ffa34a1d
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/Headers/arm_acle.h
M clang/test/CodeGen/arm_acle.c
A clang/test/CodeGen/arm_acle_swp.c
Log Message:
-----------
[clang][ARM] Fix build failure in <arm_acle.h> for __swp (#151354)
In commit d5985905ae8e5b2 I introduced a Sema check that prohibits
`__builtin_arm_ldrex` and `__builtin_arm_strex` for data sizes not
supported by the target architecture version. However, `arm_acle.h`
unconditionally uses those builtins with a 32-bit data size. So now
including that header will cause a build failure on Armv6-M, or historic
architectures like Armv5.
To fix it, `arm_acle.h` now queries the compiler-defined
`__ARM_FEATURE_LDREX` macro (also fixed recently in commit
34f59d79209268e so that it matches the target architecture). If 32-bit
LDREX isn't available it will fall back to the older SWP instruction, or
failing that (on Armv6-M), a libcall.
While I was modifying the header anyway, I also renamed the local
variable `v` inside `__swp` so that it starts with `__`, avoiding any
risk of user code having #defined `v`.
Commit: 091c33b1f5d54201f8129b03f8cfc70aa94b053c
https://github.com/llvm/llvm-project/commit/091c33b1f5d54201f8129b03f8cfc70aa94b053c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/include/__fwd/tuple.h
M libcxx/include/__memory/uses_allocator_construction.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/module.modulemap.in
M libcxx/include/tuple
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_element.verify.cpp
Log Message:
-----------
[libc++] Remove SFINAE on __tuple_impl constructors (#151654)
The SFINAE isn't required, since the primary `tuple` class already does
the SFINAE checks. This removes a bit of code that was only used for
these constraints.
This also moves the `tuple_element` specialization for `tuple` to
`__fwd/tuple.h` to avoid a dependency on `__tuple/sfinae_helpers.h`
(which should be moved in a follow-up).
Commit: 1cac2be874c5f1b1b70bdaea8891f5e5b76a84e2
https://github.com/llvm/llvm-project/commit/1cac2be874c5f1b1b70bdaea8891f5e5b76a84e2
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/__tree
M libcxx/include/map
M libcxx/include/set
M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
M libcxx/test/benchmarks/containers/associative/map.bench.cpp
M libcxx/test/benchmarks/containers/associative/multimap.bench.cpp
M libcxx/test/benchmarks/containers/associative/multiset.bench.cpp
M libcxx/test/benchmarks/containers/associative/set.bench.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
Log Message:
-----------
[libc++] Optimize copy construction and assignment of __tree (#151304)
```
----------------------------------------------------------------------------------------------------------
Benchmark old new
----------------------------------------------------------------------------------------------------------
std::map<int, int>::ctor(const&)/0 15.5 ns 14.9 ns
std::map<int, int>::ctor(const&)/32 474 ns 321 ns
std::map<int, int>::ctor(const&)/1024 24591 ns 11101 ns
std::map<int, int>::ctor(const&)/8192 236153 ns 98868 ns
std::map<std::string, int>::ctor(const&)/0 15.2 ns 14.9 ns
std::map<std::string, int>::ctor(const&)/32 2673 ns 2340 ns
std::map<std::string, int>::ctor(const&)/1024 115354 ns 86088 ns
std::map<std::string, int>::ctor(const&)/8192 1298510 ns 626876 ns
std::map<int, int>::operator=(const&) (into cleared Container)/0 16.5 ns 16.1 ns
std::map<int, int>::operator=(const&) (into cleared Container)/32 548 ns 323 ns
std::map<int, int>::operator=(const&) (into cleared Container)/1024 28418 ns 11026 ns
std::map<int, int>::operator=(const&) (into cleared Container)/8192 281827 ns 97113 ns
std::map<int, int>::operator=(const&) (into populated Container)/0 2.42 ns 1.85 ns
std::map<int, int>::operator=(const&) (into populated Container)/32 369 ns 73.0 ns
std::map<int, int>::operator=(const&) (into populated Container)/1024 24078 ns 2322 ns
std::map<int, int>::operator=(const&) (into populated Container)/8192 266537 ns 22963 ns
std::map<std::string, int>::operator=(const&) (into cleared Container)/0 16.6 ns 16.2 ns
std::map<std::string, int>::operator=(const&) (into cleared Container)/32 2614 ns 1622 ns
std::map<std::string, int>::operator=(const&) (into cleared Container)/1024 116826 ns 63281 ns
std::map<std::string, int>::operator=(const&) (into cleared Container)/8192 1316655 ns 649177 ns
std::map<std::string, int>::operator=(const&) (into populated Container)/0 2.42 ns 1.89 ns
std::map<std::string, int>::operator=(const&) (into populated Container)/32 1264 ns 581 ns
std::map<std::string, int>::operator=(const&) (into populated Container)/1024 238826 ns 39943 ns
std::map<std::string, int>::operator=(const&) (into populated Container)/8192 2412327 ns 379456 ns
```
Fixes #77658
Fixes #62571
Commit: 43ead215e4e519b99942b1bda9368681a1f13bea
https://github.com/llvm/llvm-project/commit/43ead215e4e519b99942b1bda9368681a1f13bea
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/CodeGen/X86/sibcall.ll
Log Message:
-----------
[X86] Precommit tests for PR146575 (NFC)
Commit: 00a648ab110583ed45cc931a0c1aabf4bfcd17e3
https://github.com/llvm/llvm-project/commit/00a648ab110583ed45cc931a0c1aabf4bfcd17e3
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/test/CodeGen/X86/sibcall.ll
Log Message:
-----------
[X86] Elect to tail call when `sret` ptr is passed to the callee
We may be able to allow the callee to be tail-called when the caller
expects a `sret` pointer argument, as long as this pointer is forwarded
to the callee.
Fixes: https://github.com/llvm/llvm-project/issues/146303.
Commit: 155359c1f2bda7fb8d4e8001157ecea03689df68
https://github.com/llvm/llvm-project/commit/155359c1f2bda7fb8d4e8001157ecea03689df68
Author: Tommy MᶜMichen <tommy at mcmichen.net>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/invariant-group.ll
Log Message:
-----------
[llvm][sroa] Disable support for `invariant.group` (#151743)
Resolves #151574.
> SROA pass does not perform aggregate load/store rewriting on a pointer
whose source is a `launder.invariant.group`.
>
> This causes failed assertion in `AllocaSlices`.
>
> ```
> void (anonymous
namespace)::AllocaSlices::SliceBuilder::visitStoreInst(StoreInst &):
> Assertion `(!SI.isSimple() || ValOp->getType()->isSingleValueType())
&&
> "All simple FCA stores should have been pre-split"' failed.
> ```
Disables support for `{launder,strip}.invariant.group` intrinsics in
SROA.
Updates SROA test for `invariant.group` support.
Commit: 76d98cfcc40e9a351efc52287338f0fd5d4402fb
https://github.com/llvm/llvm-project/commit/76d98cfcc40e9a351efc52287338f0fd5d4402fb
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
Log Message:
-----------
[RISCV][TTI] Enable masked interleave access (#151665)
Now that support for masked loads/stores of interleave groups has
landed, we can enable the loop vectorizer to generate masked interleave
access where applicable.
This improves vectorization in several ways:
* Internal predication support: This enables interleave group
vectorization for loops with internal control flow predication, provided
all members of the group share the same predicate. Gaps in interleave
groups are still not efficiently handled by masking, so masking for gaps
remains disabled for now.
* Tail folding: This allows tail folding of loops with interleave groups
by using masking. Without this, vectorized loops with interleaves would
fall back to using separate gather/scatter accesses, which can be
significantly less efficient.
"[RISCV][TTI] Enable masked interleave access for scalable vector
(#149981)" was reverted by 5294793bdcf6ca142f7a0df897638bd4e85ed1a7 due
to triggering an assertion. The issue has been addressed in the patch
"[LV] Fix gap mask requirement for interleaved access (#151105)". On the
other hand, this patch also enable fixed-length masked interleave access
(#150624) since support for fixed-length has also been landed
992118cb4deab139ae384bb85f03225a9a21b008.
---------
Co-authored-by: Philip Reames <preames at rivosinc.com>
Commit: a53489606a4e704e5a7ac148e950eabfe21397cd
https://github.com/llvm/llvm-project/commit/a53489606a4e704e5a7ac148e950eabfe21397cd
Author: Ferdinand Lemaire <flscminecraft at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/CMakeLists.txt
A mlir/include/mlir/Dialect/WasmSSA/CMakeLists.txt
A mlir/include/mlir/Dialect/WasmSSA/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSA.h
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSABase.td
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAInterfaces.h
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAInterfaces.td
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSATypes.td
M mlir/lib/Dialect/CMakeLists.txt
A mlir/lib/Dialect/WasmSSA/CMakeLists.txt
A mlir/lib/Dialect/WasmSSA/IR/CMakeLists.txt
A mlir/lib/Dialect/WasmSSA/IR/WasmSSADialect.cpp
A mlir/lib/Dialect/WasmSSA/IR/WasmSSAInterfaces.cpp
A mlir/lib/Dialect/WasmSSA/IR/WasmSSAOps.cpp
A mlir/lib/Dialect/WasmSSA/IR/WasmSSATypes.cpp
M mlir/lib/RegisterAllDialects.cpp
A mlir/test/Dialect/WasmSSA/custom_parser/global.mlir
A mlir/test/Dialect/WasmSSA/custom_parser/import.mlir
A mlir/test/Dialect/WasmSSA/custom_parser/local.mlir
A mlir/test/Dialect/WasmSSA/extend-invalid.mlir
A mlir/test/Dialect/WasmSSA/global-invalid.mlir
A mlir/test/Dialect/WasmSSA/locals-invalid.mlir
A mlir/test/Dialect/WasmSSA/reinterpret-invalid.mlir
Log Message:
-----------
[MLIR][Wasm] Introduce the WasmSSA MLIR dialect (#149233)
Introduce the WasmSSA dialect as discussed in
https://discourse.llvm.org/t/rfc-mlir-dialect-for-webassembly/86758 and
during the ODM
https://discourse.llvm.org/t/mlir-open-meeting-webassembly-dialect/86928
This PR only introduces the dialect definition and interfaces, the list
of operators and some operators-related helper functions (related to
parsing or verification) and some tests for those.
Follow-up PRs will bring the binary Webassembly importer and the
lowerings to other dialects along with testing and a driver for
conversion of Webassembly binaries to LLVM IR.
Co-authored-by: Luc Forget <dev at alias.lforget.fr>
Co-authored-by: Ferdinand Lemaire <ferdinand.lemaire at woven-planet.global>
Co-authored-by: Jessica Paquette <jessica.paquette at woven-planet.global>
Co-authored-by: Luc Forget <luc.forget at woven.toyota>
Commit: d561259a083725cb9242f00cb14ae3a0ec1d2c7b
https://github.com/llvm/llvm-project/commit/d561259a083725cb9242f00cb14ae3a0ec1d2c7b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/vselect-ext.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/freeze.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
M llvm/test/CodeGen/AMDGPU/load-local-i16.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sext-in-reg-vector-shuffle.ll
M llvm/test/CodeGen/NVPTX/i1-select.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/iabs.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv32zbs.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/vec3-setcc-crash.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
M llvm/test/CodeGen/VE/Scalar/min.ll
M llvm/test/CodeGen/X86/combine-sdiv.ll
M llvm/test/CodeGen/X86/freeze-binary.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/knownbits-hadd-hsub.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
M llvm/test/CodeGen/X86/midpoint-int.ll
M llvm/test/CodeGen/X86/oddsubvector.ll
M llvm/test/CodeGen/X86/pr38539.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-rotate-128.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
Log Message:
-----------
[DAG] visitFREEZE - replace multiple frozen/unfrozen uses of an SDValue with just the frozen node (#150017)
Similar to InstCombinerImpl::freezeOtherUses, attempt to ensure that we
merge multiple frozen/unfrozen uses of a SDValue. This fixes a number of
hasOneUse() problems when trying to push FREEZE nodes through the DAG.
Remove SimplifyMultipleUseDemandedBits handling of FREEZE nodes as we
now want to keep the common node, and not bypass for some nodes just
because of DemandedElts.
Fixes #149799
Commit: c9dd14d1d4c357ad29e0e5c446f1bb8f596ab9c0
https://github.com/llvm/llvm-project/commit/c9dd14d1d4c357ad29e0e5c446f1bb8f596ab9c0
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/predication_costs.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/load-store-scalarization-cost.ll
Log Message:
-----------
[VPlan] Compute interleave count for VPlan. (#149702)
Move selectInterleaveCount to LoopVectorizationPlanner and retrieve some
information directly from VPlan. Register pressure was already computed
for a VPlan, and with this patch we now also check for reductions
directly on VPlan, as well as checking how many load and store
operations remain in the loop.
This should be mostly NFC, but we may compute slightly different
interleave counts, except for some edge cases, e.g. where dead loads
have been removed. This shouldn't happen in practice, and the patch
doesn't cause changes across a large test corpus on AArch64.
Computing the interleave count based on VPlan allows for making better
decisions in presence of VPlan optimizations, for example when
operations on interleave groups are narrowed.
Note that there are a few test changes for tests that were still
checking the legacy cost-model output when it was computed in
selectInterleaveCount.
PR: https://github.com/llvm/llvm-project/pull/149702
Commit: c1b387e23d2c786fa7dc97d15ab11df0cb5c6877
https://github.com/llvm/llvm-project/commit/c1b387e23d2c786fa7dc97d15ab11df0cb5c6877
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/test/Transforms/DeadStoreElimination/lifetime.ll
M llvm/unittests/Analysis/MemorySSATest.cpp
Log Message:
-----------
[MemoryLocation] Compute lifetime size from alloca size (#151982)
Split out from #150248:
Since #150944 the size passed to lifetime.start/end is considered
meaningless. The lifetime always applies to the whole alloca.
This adjusts MemoryLocation to determine the MemoryLocation size from
the alloca size, instead of using the argument.
Commit: 1392edcc0784071fe1ab02782ac1dbc7ac6a0350
https://github.com/llvm/llvm-project/commit/1392edcc0784071fe1ab02782ac1dbc7ac6a0350
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/div.ll
Log Message:
-----------
ARM: Remove idiv runtime call aliases (#152098)
Really only the i32 variants exist. We don't need synthetic
aliases for illegal types which will be promoted.
Commit: f72b3e1c07914fdea2fd367dada14b63adef731b
https://github.com/llvm/llvm-project/commit/f72b3e1c07914fdea2fd367dada14b63adef731b
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/and_then.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/or_else.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/value.observers.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/and_then.mandates.verify.cpp
M libcxx/test/std/containers/sequences/array/array.creation/to_array.verify.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/conversion.verify.cpp
M libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.verify.cpp
M libcxx/test/std/utilities/function.objects/func.bind_front/bind_front.verify.cpp
Log Message:
-----------
[Clang] Add detailed notes explaining why `is_constructible` evaluates to false (Revert 16d5db7) (#151935)
Adds explanation why `is_constructible` evaluates to false.
This reapplies as-is e476f968bc8e438a0435d10934f148de570db8eb.
This was reverted in 16d5db71b3c38f21aa17783a8758f947dca5883f because of
a test failure in libc++.
The test failure in libc++ is interesting in that, in the absence of
nested diagnostics a bunch of diagnostics are emitted as error instead
of notes, which we cannot silence with `-verify-ignore-unexpected`.
The fix here is to prevent the diagnostics to be emitted in the first
place.
However this is clearly not ideal and we should make sure to deploy a
better solution in the clang 22 time frame, in the lines of
https://discourse.llvm.org/t/rfc-add-a-new-text-diagnostics-format-that-supports-nested-diagnostics/87641/12
Fixes #150601
---------
Co-authored-by: Shamshura Egor <164661612+egorshamshura at users.noreply.github.com>
Commit: fbd18642a9eefc7bb3b7d40eaf8d16ef9d523064
https://github.com/llvm/llvm-project/commit/fbd18642a9eefc7bb3b7d40eaf8d16ef9d523064
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV] Simplify EEW/EMUL check in VLOptimizer. NFC (#152100)
Currently when checking to see if two OperandInfos are compatible, we
check to see if the user operand only uses the first scalar and then do
two different checks depending on that.
However whether the user only uses the first scalar or not is already
encoded in OperandInfo, when EMUL is nullopt.
This removes the redundant check and keeps the logic in the OperandInfo
class to make the call site easier to reason about.
Commit: 94a6cd464e4dd2bf99b85d1e00b6fcfcdf21c6da
https://github.com/llvm/llvm-project/commit/94a6cd464e4dd2bf99b85d1e00b6fcfcdf21c6da
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/X86/pr48340.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
Log Message:
-----------
[VPlan] Expand VPWidenPointerInductionRecipe into separate recipes (#148274)
This is the VPWidenPointerInductionRecipe equivalent of #118638, with
the motivation of allowing us to use the EVL as the induction step.
There is a new VPInstruction added, WidePtrAdd to allow adding the step
vector to the induction phi, since VPInstruction::PtrAdd only handles
scalars or multiple scalar lanes.
Originally this transformation was copied from the original recipe's
execute code, but it's since been simplifed by teaching
`unrollWidenInductionByUF` to unroll the recipe, which brings it inline
with VPWidenIntOrFpInductionRecipe.
Commit: e0df5f8c1abda78eb294b43bb8bf5c91ca3268a8
https://github.com/llvm/llvm-project/commit/e0df5f8c1abda78eb294b43bb8bf5c91ca3268a8
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/test/libcxx/utilities/expected/expected.expected/value.observers.verify.cpp
Log Message:
-----------
[libc++][NFC] Remove comments incorrectly added in #151935.
Commit: b557cd3e8f82a66c4a64e1966389df8277c58c07
https://github.com/llvm/llvm-project/commit/b557cd3e8f82a66c4a64e1966389df8277c58c07
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/test/AST/ByteCode/cxx11.cpp
Log Message:
-----------
[clang][bytecode][NFC] Add a c++11 test case (#152104)
This test case breaks when ignoring trivial CXXConstructExprs of array
types, so make sure we don't do that.
Commit: 4b31b4ebdd923dccc89fbb4904a8378658b466a6
https://github.com/llvm/llvm-project/commit/4b31b4ebdd923dccc89fbb4904a8378658b466a6
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
Log Message:
-----------
[lldb][DWARFIndex][NFC] Remove DWARFIndex::IterationActionAdaptor
Now that all `DWARFIndex` APIs have been converted to use
`IterationAction`, the `IterationActionAdaptor` is unused.
Commit: d1b363e0b0d1cce3aa24d998058144295237fa56
https://github.com/llvm/llvm-project/commit/d1b363e0b0d1cce3aa24d998058144295237fa56
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
Log Message:
-----------
[RISCV] Add Tied operands to insert instructions in Qualcomm uC extension Xqcibm (#151339)
Commit: 3bdfca58a6c04272c70413f07b206f0b95743309
https://github.com/llvm/llvm-project/commit/3bdfca58a6c04272c70413f07b206f0b95743309
Author: A. Jiang <de34 at live.cn>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/include/__math/traits.h
M libcxx/include/math.h
M libcxx/test/libcxx/fuzzing/random.pass.cpp
M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
Log Message:
-----------
[libc++] Workaround for a bug of overloads in MS UCRT's `<math.h>` (#149234)
MS UCRT seems confused on the status of LWG1327, and still provides
pre-LWG1327 overload set the related math functions, which can't handle
integer types as required. It is probably that UCRT won't fixed this in
a near future, per
https://developercommunity.visualstudio.com/t/10294165.
Before C++20, libc++ worked around this bug by relying on
`-fdelayed-template-parsing`. However, this non-conforming option is off
by default since C++20. I think we should use `requires` instead.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 852cc9200f7c7cc76bc61ac2aa42712c94793f0d
https://github.com/llvm/llvm-project/commit/852cc9200f7c7cc76bc61ac2aa42712c94793f0d
Author: nerix <nerixdev at outlook.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/test/Shell/SymbolFile/NativePDB/namespace-access.test
Log Message:
-----------
[LLDB][NativePDB] Implement `FindNamespace` (#151950)
`FindNamespace` was not implemented for `SymbolFileNativePDB`. Without
it, it wasn't possible to lookup items through namespaces when
evaluating expressions.
This is mostly the same as in
[SymbolFilePDB](https://github.com/llvm/llvm-project/blob/f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp#L1664-L1696)
as well as
[PDBAstParser](https://github.com/llvm/llvm-project/blob/f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp#L1126-L1150):
The AST parser/builder saves the created namespaces in a map to lookup
when a namespace is requested.
This is working towards making
[Shell/SymbolFile/PDB/expressions.test](https://github.com/llvm/llvm-project/blob/f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d/lldb/test/Shell/SymbolFile/PDB/expressions.test)
pass with the native PDB plugin.
Commit: d4f51bd53ed583cb4c8b149d5e3d31ac5f64d82a
https://github.com/llvm/llvm-project/commit/d4f51bd53ed583cb4c8b149d5e3d31ac5f64d82a
Author: Bart Chrzaszcz <bartchr at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] Fix bazel after a534896. (#152117)
Needed to define the bazel targets for the new dialect.
Commit: 11eeb4d133aea2c823231bc771bb58de6d8387e3
https://github.com/llvm/llvm-project/commit/11eeb4d133aea2c823231bc771bb58de6d8387e3
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pmulh.ll
Log Message:
-----------
[X86] `combinePMULH` - combine `mulhu` + `srl` (#132548)
Fixes #132166
Commit: 94d374ab6cd559fa96e96bfb805b73a367bfda08
https://github.com/llvm/llvm-project/commit/94d374ab6cd559fa96e96bfb805b73a367bfda08
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
A llvm/test/Transforms/CodeGenPrepare/dont-sink-scalable-vector-compare.ll
Log Message:
-----------
[LLVM][CGP] Allow finer control for sinking compares. (#151366)
Compare sinking is selectable based on the result of
hasMultipleConditionRegisters. This function is too coarse grained by
not taking into account the differences between scalar and vector
compares. This PR extends the interface to take an EVT to allow finer
control.
The new interface is used by AArch64 to disable sinking of scalable
vector compares, but with isProfitableToSinkOperands updated to maintain
the cases that are specifically tested.
Commit: 13600c72ce848894fbd8dd6242e55d0bc29e7adf
https://github.com/llvm/llvm-project/commit/13600c72ce848894fbd8dd6242e55d0bc29e7adf
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/builtin_call.cpp
Log Message:
-----------
[CIR] Add CIRGen for cir.unreachable and cir.trap (#151363)
Commit: 0da6d91ad9dd769b2d9f97d9f9249f5523a11023
https://github.com/llvm/llvm-project/commit/0da6d91ad9dd769b2d9f97d9f9249f5523a11023
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
A llvm/test/CodeGen/AArch64/stacksmash-arm64ec.ll
Log Message:
-----------
RuntimeLibcalls: Fix stacksmash on arm64ec (#152116)
Fix after 5478da9
Commit: be4a739a7fc29df85e0fd3b0f74689c6b0183596
https://github.com/llvm/llvm-project/commit/be4a739a7fc29df85e0fd3b0f74689c6b0183596
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
A llvm/test/Transforms/CodeGenPrepare/AArch64/dont-sink-scalable-vector-compare.ll
R llvm/test/Transforms/CodeGenPrepare/dont-sink-scalable-vector-compare.ll
Log Message:
-----------
[LLVM][CDP] Move AArch64 test into AArch64 directory.
Commit: 940f37aa70bee523aca8f52d1c418d79bc9d99ab
https://github.com/llvm/llvm-project/commit/940f37aa70bee523aca8f52d1c418d79bc9d99ab
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-excluded-container-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
Log Message:
-----------
[clang-tidy] Print type information to performance-unnecessary-* checks (#152101)
Useful when the check warns on template functions to know which type
it's complaining about. Otherwise, since the instantiation stack is not
printed, it's very hard to tell.
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: dc7c3c2b2b1d0dfe20cd2b6783d7ab773054ad3d
https://github.com/llvm/llvm-project/commit/dc7c3c2b2b1d0dfe20cd2b6783d7ab773054ad3d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/State.cpp
M clang/test/AST/ByteCode/lifetimes.cpp
M clang/test/AST/ByteCode/mutable.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p9.cpp
Log Message:
-----------
[clang][bytecode] Disable location tracking for implicit field inits (#150190)
Commit: 52b7b22cfabea0d89f443c0f05fa1073f3ba9c21
https://github.com/llvm/llvm-project/commit/52b7b22cfabea0d89f443c0f05fa1073f3ba9c21
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/src/__support/FPUtil/generic/div.h
M libc/test/src/math/smoke/DivTest.h
Log Message:
-----------
[libc][math] Fix division by infinity in fputil::div (#152092)
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: 9b2b5bf8cd751fabccaca1b8847b4c291aa52081
https://github.com/llvm/llvm-project/commit/9b2b5bf8cd751fabccaca1b8847b4c291aa52081
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M openmp/CMakeLists.txt
Log Message:
-----------
[OpenMP] Fix LLVM_ENABLE_PROJECTS=openmp build (#151117)
Set LLVM_TREE_AVAILABLE when not defined after #149871. In particular,
the LLVM build tree is obviously available with
`add_subdirectory(openmp)` from the LLVM build tree itself. Note that
this build mode is deprecated since #136314.
Commit: 421f15d060ccb90c2bc97935ed2027a60093e5bd
https://github.com/llvm/llvm-project/commit/421f15d060ccb90c2bc97935ed2027a60093e5bd
Author: kkent030315 <hrn832 at protonmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
R llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.exe
A llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.yaml
M llvm/test/tools/llvm-readobj/COFF/exdllcharacteristics.test
Log Message:
-----------
[llvm-readobj][COFF] Improve extended DLL characteristics test (#151978)
Remove the need for the input binary by replacing it with a
yaml2obj-generated file.
Commit: 3cf072d4bfe2d038757ebe6197fdac9c9bd6a7ed
https://github.com/llvm/llvm-project/commit/3cf072d4bfe2d038757ebe6197fdac9c9bd6a7ed
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/CodeGen/NVPTX/combine-min-max.ll
Log Message:
-----------
[NVPTX] Fix ptxas-verify line.
Without specifying -arch=sm_90, we get this error:
ptxas fatal : SM version specified by .target is higher than default SM version assumed
Commit: ab6923b9b7a75de79ee06b400ae73771e130339e
https://github.com/llvm/llvm-project/commit/ab6923b9b7a75de79ee06b400ae73771e130339e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/docs/use/formatting.rst
M lldb/include/lldb/Core/DemangledNameInfo.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/source/Core/DemangledNameInfo.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb] add TemplateRange and NameQualifiersRange to DemangledNameInfo (#150999)
This patch adds 2 new attributes to `DemangledNameInfo`: `TemplateRange`
and `NameQualifiersRange`. It also introduces the
`function.name-qualifiers` entity formatter which allows tracking
qualifiers between the name of a function and its arguments/template.
This will be used downstream in Swift but may have applications in C++:
https://github.com/swiftlang/llvm-project/pull/11068.
Commit: 9f50224b252e1e5b05828fd6d929813e9f40d4f8
https://github.com/llvm/llvm-project/commit/9f50224b252e1e5b05828fd6d929813e9f40d4f8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
Log Message:
-----------
[DAG] Remove Depth=1 hack from isGuaranteedNotToBeUndefOrPoison checks (#152127)
Now that #146490 removed the assertion in visitFreeze to assert that the
node was still isGuaranteedNotToBeUndefOrPoison we no longer need this
reduced depth hack (which had to account for the difference in depth of
freeze(op()) vs op(freeze())
Helps with some of the minor regressions in #150017
Commit: 7587a32d49d2cd8a9a90d98adcd9d557b6f14be4
https://github.com/llvm/llvm-project/commit/7587a32d49d2cd8a9a90d98adcd9d557b6f14be4
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Semantics/unparse-with-symbols.cpp
A flang/test/Parser/OpenMP/critical-unparse-with-symbols.f90
Log Message:
-----------
[flang][OpenMP] Fix crash in unparse-with-symbols for CRITICAL (#151962)
Commit: cda4820270dc9d4e84107152130a54c5ecc4976d
https://github.com/llvm/llvm-project/commit/cda4820270dc9d4e84107152130a54c5ecc4976d
Author: Marcos Maronas <marcos.maronas at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
A llvm/test/CodeGen/SPIRV/array_type.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/cl_khr_extended_bit_ops_spv-friendly_only.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/cl_khr_extended_bit_ops_spv-friendly_only_no_extension.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions_no_extension.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/bitreverse_small_type.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
M llvm/test/CodeGen/SPIRV/memory_model_md.ll
M llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
A llvm/test/CodeGen/SPIRV/pointers/variables-storage-class-private.ll
M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_i32.ll
R llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_v2i16.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_v2i32.ll
M llvm/test/CodeGen/SPIRV/zero-length-array.ll
Log Message:
-----------
[SPIRV] Do not use OpTypeRuntimeArray in Kernel env. (#149522)
Prior to this patch, when `NumElems` was 0, `OpTypeRuntimeArray` was
directly generated, but it requires `Shader` capability, so it can only
be generated if `Shader` env is being used. We have observed a pattern
of using unbound arrays that translate into `[0 x ...]` types in OpenCL,
which implies `Kernel` capability, so `OpTypeRuntimeArray` should not be
used. To prevent this scenario, this patch simplifies GEP instructions
where type is a 0-length array and the first index is also 0. In such
scenario, we effectively drop the 0-length array and the first index.
Additionally, the newly added test prior to this patch was generating a
module with both `Shader` and `Kernel` capabilities at the same time,
but they're incompatible. This patch also fixes that.
Finally, prior to this patch, the newly added test was adding `Shader`
capability to the module even with the command line flag
`--avoid-spirv-capabilities=Shader`. This patch also has a fix for that.
Commit: e005ba3668846a013284b893b8bc246c63fce3ae
https://github.com/llvm/llvm-project/commit/e005ba3668846a013284b893b8bc246c63fce3ae
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/WasmSSA/IR/CMakeLists.txt
Log Message:
-----------
[MLIR] fix the `ninja mlir-doc` build
Commit: fd07d90f9f95190cb3abb901ae3d98eb67b84573
https://github.com/llvm/llvm-project/commit/fd07d90f9f95190cb3abb901ae3d98eb67b84573
Author: Marcos Maronas <marcos.maronas at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
Log Message:
-----------
[SPIRV] Fix buildbot failure after #149522 (#152135)
Commit: ee47427386eb405d347bb2d24c925c3130bdde53
https://github.com/llvm/llvm-project/commit/ee47427386eb405d347bb2d24c925c3130bdde53
Author: KRM7 <Krisztian.Rugasi at hightec-rt.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/test/CodeGen/SystemZ/regcoal-subranges-update-remat.mir
Log Message:
-----------
[RegisterCoalescer] Fix subrange update when rematerialization widens a def (#151974)
Currently, when an instruction rematerialized by the register coalescer
defines more subregs of the destination register
than the original COPY instruction did, we only add dead defs for the
newly defined subregs if they were not defined anywhere
else. For example, consider something like this before
rematerialization:
```
%0:reg64 = CONSTANT 1
%1:reg128.sub_lo64_lo32 = COPY %0.lo32
%1:reg128.sub_lo64_hi32 = ...
...
```
that would look like this after rematerializing `%0`:
```
%0:reg64 = CONSTANT 2
%1:reg128.sub_lo64 = CONSTANT 2
%1:reg128.sub_lo64_hi32 = ...
...
```
A dead def would not be added for `%1.sub_lo64_hi32` at the 2nd
instruction because it's subrange wasn't empty beforehand.
Commit: 34c2ea326c7a8167d54575b794b9cf1ab6e7d2fd
https://github.com/llvm/llvm-project/commit/34c2ea326c7a8167d54575b794b9cf1ab6e7d2fd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
Log Message:
-----------
[libc][Github] Remove ccache variant logic (#152042)
https://github.com/hendrikmuhs/ccache-action/issues/279 has now been
resolved, so we can use sccache for the arm tests too and do not need to
differentiate between platforms.
Commit: cc2a385e65483688d3e4a0091e0767960f9eb8c2
https://github.com/llvm/llvm-project/commit/cc2a385e65483688d3e4a0091e0767960f9eb8c2
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/Todo/defaultmap-clause-firstprivate.f90
M flang/test/Lower/OpenMP/defaultmap.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/target-map-complex.f90
M flang/test/Lower/OpenMP/target.f90
Log Message:
-----------
[Flang][OpenMP] Make implicitly captured scalars fully firstprivatized (#147442)
Currently, we indicate to the runtime that implicit scalar captures are
firstprivate (via map and
capture types), enough for the runtime trace to treat it as such, but we
do not CodeGen the IR
in such a way that we can take full advantage of this aspect of the
OpenMP specification.
This patch seeks to change that by applying the correct symbol flags
(firstprivate/implicit) to the
implicitly captured scalars within target regions, which then triggers
the delayed privitization code
generation for these symbols, bringing the code generation in-line with
the explicit firstpriviate
clause. Currently, similarly to the delayed privitization I have
sheltered this segment of code
behind the EnabledDelayedPrivitization flag, as without it, we'll
trigger an compiler error for
firstprivate not being supported any time we implicitly capture a scalar
and try to firstprivitize
it, in future when this flag is removed it can also be removed here. So,
for now, you need to
enable this via providing the compiler the flag on compilation of any
programs.
Commit: 2444c4a69861c643c6628b736affe5861cc79080
https://github.com/llvm/llvm-project/commit/2444c4a69861c643c6628b736affe5861cc79080
Author: Aaron Danen <aaron.danen at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/docs/ClangRepl.rst
A clang/test/Interpreter/bad_percent_command.cpp
A clang/test/Interpreter/dynamic-library-bad-args.cpp
A clang/test/Interpreter/help.cpp
M clang/tools/clang-repl/ClangRepl.cpp
Log Message:
-----------
[clang-repl] add %help, documentation, and tests for %commands (#150348)
1. Added %commands to documentation
2. Added %help command to clang repl
3. Expanded parsing to throw unique errors in the case of users entering
an invalid %command or using %lib without an argument
4. Added tests to check the behvaior of %help, %lib, and bad %commands
Commit: 47ef3d069bcfb8ec31c06cdd619557c84d1084ad
https://github.com/llvm/llvm-project/commit/47ef3d069bcfb8ec31c06cdd619557c84d1084ad
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
A flang/test/Lower/undef-func-result.f90
Log Message:
-----------
[Flang] Avoid crash when a function return is undefined (#151577)
Properly terminate the StatementContext cleanup when a function return
value is undefined.
Fixes #126452
Commit: b723887224c57ecfd7d8530ad066ee233abf559b
https://github.com/llvm/llvm-project/commit/b723887224c57ecfd7d8530ad066ee233abf559b
Author: John Harrison <harjohn at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/include/lldb/Host/JSONTransport.h
M lldb/source/Host/common/JSONTransport.cpp
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Transport.h
M lldb/unittests/DAP/DAPTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TestBase.h
M lldb/unittests/Host/JSONTransportTest.cpp
M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
Log Message:
-----------
[lldb] Update JSONTransport to use MainLoop for reading. (#148300)
This updates JSONTransport to use a MainLoop for reading messages.
This also allows us to read in larger chunks than we did previously.
With the event driven reading operations we can read in chunks and store
the contents in an internal buffer. Separately we can parse the buffer
and split the contents up into messages.
Our previous version approach would read a byte at a time, which is less
efficient.
Commit: 3f59a22711ff6423ad158e2eec44d2c1f0eaee31
https://github.com/llvm/llvm-project/commit/3f59a22711ff6423ad158e2eec44d2c1f0eaee31
Author: Maksim Sabianin <maksim.sabianin at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
A llvm/include/llvm/Transforms/Utils/SplitModuleByCategory.h
M llvm/lib/Transforms/Utils/CMakeLists.txt
A llvm/lib/Transforms/Utils/SplitModuleByCategory.cpp
A llvm/test/tools/llvm-split/SplitByCategory/amd-kernel-split.ll
A llvm/test/tools/llvm-split/SplitByCategory/complex-indirect-call-chain1.ll
A llvm/test/tools/llvm-split/SplitByCategory/complex-indirect-call-chain2.ll
A llvm/test/tools/llvm-split/SplitByCategory/module-split-func-ptr.ll
A llvm/test/tools/llvm-split/SplitByCategory/one-kernel-per-module.ll
A llvm/test/tools/llvm-split/SplitByCategory/ptx-kernel-split.ll
A llvm/test/tools/llvm-split/SplitByCategory/split-by-source.ll
A llvm/test/tools/llvm-split/SplitByCategory/split-with-kernel-declarations.ll
M llvm/tools/llvm-split/CMakeLists.txt
M llvm/tools/llvm-split/llvm-split.cpp
Log Message:
-----------
[offload][SYCL] Add Module splitting by categories. (#131347)
This patch adds Module splitting by categories. The splitting algorithm
is the necessary step in the SYCL compilation pipeline. Also it could be
reused for other heterogenous targets.
The previous attempt was at #119713. In this patch there is no
dependency in `TransformUtils` on "IPO" and on "Printing Passes". In
this patch a module splitting is self-contained and it doesn't introduce
linking issues.
Commit: 6099d0c1f93f17bcb5f79d33777defccfc46320b
https://github.com/llvm/llvm-project/commit/6099d0c1f93f17bcb5f79d33777defccfc46320b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
[gn build] Port 3f59a22711ff
Commit: 16766b3aef281a24acad08292ffe69554b44805b
https://github.com/llvm/llvm-project/commit/16766b3aef281a24acad08292ffe69554b44805b
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
Log Message:
-----------
Fix ms type_info to be a 'class' type
It was brought up on #151277 that the patch changes type_info from class
to struct. While I couldn't find a way to test/notice this, this patch
changes it to a class.
While I'm here, I am also removing unnecessary/against coding standard
curley brackets.
Commit: be8ef3dfbdd485df16bc9c7eed66f5c3c109d238
https://github.com/llvm/llvm-project/commit/be8ef3dfbdd485df16bc9c7eed66f5c3c109d238
Author: kadir çetinkaya <kadircet at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang-tools-extra/include-cleaner/lib/Record.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
Log Message:
-----------
[include-cleaner] Respect language when tracking IWYU pragmas on stdlib headers (#152142)
In absence we were associating all the IWYU pragmas with C++ versions of stdlib headers, which would result in false negatives when querying them from a C source file.
Commit: 908ef456062bcb5c5e4745f10e161782bd07f342
https://github.com/llvm/llvm-project/commit/908ef456062bcb5c5e4745f10e161782bd07f342
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SplitModuleByCategory.cpp
Log Message:
-----------
[Utils] Fix a warning
This patch fixes:
llvm/lib/Transforms/Utils/SplitModuleByCategory.cpp:321:14: error:
moving a temporary object prevents copy elision
[-Werror,-Wpessimizing-move]
Commit: 3847620ba9a22a13de30bd77d059aae6f484dd94
https://github.com/llvm/llvm-project/commit/3847620ba9a22a13de30bd77d059aae6f484dd94
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Factory.h
M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
M flang/unittests/Optimizer/FortranVariableTest.cpp
Log Message:
-----------
[flang][NFC] Move the rest of ops creation to new APIs (#152079)
Commit: 06458fff874fb272d1d99c26293b9210ae1aad5f
https://github.com/llvm/llvm-project/commit/06458fff874fb272d1d99c26293b9210ae1aad5f
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M llvm/lib/TargetParser/TargetParser.cpp
Log Message:
-----------
[AMDGCNSPIRV][NFC] Add missing target features to AMDGCNSPIRV (#152057)
`gfx1250` bring-up omitted updating the `amdgcnspirv` feature list, this
fixes that oversight.
Commit: ff8b4f8151391f94eac268775382d4b10a17d913
https://github.com/llvm/llvm-project/commit/ff8b4f8151391f94eac268775382d4b10a17d913
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
A clang/test/Sema/amdgcn-va-list-type.c
Log Message:
-----------
[AMDGCNSPIRV][NFC] Match AMDGPU's `__builtin_va_list` type (#152044)
AMDGCN flavoured SPIRV should math AMDGPU TI as much as possible, and
the va_list difference was spurious.
Commit: 1d594fdb8d0d210893ae346bb6869343dd7a1949
https://github.com/llvm/llvm-project/commit/1d594fdb8d0d210893ae346bb6869343dd7a1949
Author: Ritanya-B-Bharadwaj <ritanya.b.bharadwaj at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/metadirective_messages.cpp
Log Message:
-----------
[Clang][OpenMP] Fixing Clang error for metadirective with multiple when clauses and no otherwise (#148583)
Fixing - https://github.com/llvm/llvm-project/issues/147336
Commit: 12ef487ea7cfaefdca5ca0b58e89ea0496ecc154
https://github.com/llvm/llvm-project/commit/12ef487ea7cfaefdca5ca0b58e89ea0496ecc154
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Use a range-based for loop in DenseMap.h (NFC) (#152084)
This patch introduces inlineBuckets to convert a loop into a
range-based for loop.
Commit: 86ab5dc5833b39be97c11e7c509a90fed92525cd
https://github.com/llvm/llvm-project/commit/86ab5dc5833b39be97c11e7c509a90fed92525cd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
Log Message:
-----------
[AsmPrinter] Remove an unnecessary cast (NFC) (#152085)
getValue() already returns uint64_t.
Commit: 94dc3c6c49d94b599619bcc1e1dc0b0f67a5cd48
https://github.com/llvm/llvm-project/commit/94dc3c6c49d94b599619bcc1e1dc0b0f67a5cd48
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
Log Message:
-----------
[GlobalISel] Remove an unnecessary cast (NFC) (#152086)
getImm() already returns int64_t.
Commit: cf18e5e0f84b23f5dc410af5447ca03b62aaa12c
https://github.com/llvm/llvm-project/commit/cf18e5e0f84b23f5dc410af5447ca03b62aaa12c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/ProfileData/InstrProf.cpp
Log Message:
-----------
[ProfileData] Remove an unnecessary cast (NFC) (#152087)
new already returns ValueProfData *.
Commit: 2e0ddbb5cd5b4c860cba6197b6977b96b9dde881
https://github.com/llvm/llvm-project/commit/2e0ddbb5cd5b4c860cba6197b6977b96b9dde881
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
Log Message:
-----------
[clang] Use llvm::iterator_range::empty (NFC) (#152088)
Commit: 522ea9c3300afdd66e8852373379eec339a7c78e
https://github.com/llvm/llvm-project/commit/522ea9c3300afdd66e8852373379eec339a7c78e
Author: Bart Chrzaszcz <bartchr at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[llvm] Fix bazel after `3f59a22`. (#152151)
Commit: 0a1eff2ecedcb11acb3e9d4b75ee1e1bebd69a70
https://github.com/llvm/llvm-project/commit/0a1eff2ecedcb11acb3e9d4b75ee1e1bebd69a70
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/AssumeModeling.cpp
M clang/test/Analysis/cxx23-assume-attribute.cpp
Log Message:
-----------
[analyzer] Drop assertion enforcing that assume args are known constants (#151908)
We sometimes don't know if the operand of [[assume]] is true/false, and
that's okay. We can just ignore the attribute in that case.
If we wanted something more fancy, we could bring the assumption to the
constraints, but dropping them should be just as fine for now.
Fixes #151854
Commit: f6c2a357e71ac2a4ce4137a0cf24b169aff9b42b
https://github.com/llvm/llvm-project/commit/f6c2a357e71ac2a4ce4137a0cf24b169aff9b42b
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
A llvm/test/MC/Disassembler/AArch64/apple-syntax.txt
Log Message:
-----------
[AArch64] Add Apple assembly syntax for recent instructions (#152111)
Some vector instructions override AsmString in the tablegen description,
but did not include the Apple syntax variant, so were printed without
operands.
Fixes #151330
Commit: cd40281685f642ad879e33f3fda8d1faa136ebf4
https://github.com/llvm/llvm-project/commit/cd40281685f642ad879e33f3fda8d1faa136ebf4
Author: John Harrison <harjohn at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/include/lldb/Host/JSONTransport.h
M lldb/source/Host/common/JSONTransport.cpp
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Transport.h
M lldb/unittests/DAP/DAPTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TestBase.h
M lldb/unittests/Host/JSONTransportTest.cpp
M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
Log Message:
-----------
Revert "[lldb] Update JSONTransport to use MainLoop for reading." (#152155)
Reverts llvm/llvm-project#148300
This is crashing in the aarch64 linux CI job. I'll revert it while I
investigate why this is crashing.
Commit: e06c3a968d8360d786e5f60d9270989fcfaef857
https://github.com/llvm/llvm-project/commit/e06c3a968d8360d786e5f60d9270989fcfaef857
Author: Marcos Maronas <marcos.maronas at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
[SPIRV] Add assertion to simplify debugging (#152139)
Commit: 88283a6e4601381d192ab1e3389b11cd23a83e69
https://github.com/llvm/llvm-project/commit/88283a6e4601381d192ab1e3389b11cd23a83e69
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
Log Message:
-----------
[Flang][OpenMP] Fix MSVC missing include caused by #147442
Windows/MSVC build bots are having issues with a missing header where
linux is not. So, attempt to fix by adding missing header explicitly to file.
Commit: ae7be39601496aa8f712672844de82285a227646
https://github.com/llvm/llvm-project/commit/ae7be39601496aa8f712672844de82285a227646
Author: award999 <award999 at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/debug-session-tracker.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
A lldb/tools/lldb-dap/src-ts/logging.ts
Log Message:
-----------
Logging setup for lldb-dap extension (#146884)
- ~Add `winston` dependency (MIT license) to handle logging setup~
- Have an `LogOutputChannel` to log user facing information, errors,
warnings
- Write a debug session logs under the provided `logUri` to capture
further diagnostics when the `lldb-dap.captureSessionLogs` setting is
enabled. *Note* the `lldb-dap.log-path` setting takes precedence when
set
Issue: #146880
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: fa39b67de01af189b59f9034ef6228a2951364b0
https://github.com/llvm/llvm-project/commit/fa39b67de01af189b59f9034ef6228a2951364b0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/include/lldb/Host/Config.h.cmake
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
Log Message:
-----------
[lldb] Add a CMake option to build agains the Python limited API (#152034)
This adds a CMake option (which defaults to OFF) to force building
against the Python limited API. This makes iterating on #151617 easier
and eventually will prevent us from regressing this configuration.
Commit: c4f7d8744ac54bc1ede754e8d10655fb86b47f25
https://github.com/llvm/llvm-project/commit/c4f7d8744ac54bc1ede754e8d10655fb86b47f25
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Reimplement PythonObject::Dump using the limited API (#152055)
This reimplements `PythonObject::Dump` using functions that are part of
the limited API, instead of using `PyObject_Print`, which is not.
Commit: 0a8ebdb2f0adc60d9fc17d6b3af8933841cca50c
https://github.com/llvm/llvm-project/commit/0a8ebdb2f0adc60d9fc17d6b3af8933841cca50c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/capturing-func.ll
M llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-oversized.ll
Log Message:
-----------
[MemCpyOpt] Remove handling for lifetime sizes
Split out from #150248:
Since #150944 the size passed to lifetime.start/end is considered
meaningless. The lifetime always applies to the whole alloca.
Accordingly, remove checks of the lifetime size from MemCpyOpt.
Commit: 74af2cec7bbd307d1dcb7f9f3cdf339d551a1f9f
https://github.com/llvm/llvm-project/commit/74af2cec7bbd307d1dcb7f9f3cdf339d551a1f9f
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
Log Message:
-----------
[OpenACC] Fix 'type' checks in private/firstprivate for array types
These would not give a correct initializer, but they are not possible
to generate correctly anyway, so this patch makes sure we look through
the array type to correctly diagnose these.
Commit: 6c9f1ce429809e5a91683ed6cef9a435047bebd1
https://github.com/llvm/llvm-project/commit/6c9f1ce429809e5a91683ed6cef9a435047bebd1
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/test/Analysis/cxx23-assume-attribute.cpp
Log Message:
-----------
[analyzer] Add missing expected-warning after #151908
Commit: d72e58e422be747dfd1e42f8ad370420634190cb
https://github.com/llvm/llvm-project/commit/d72e58e422be747dfd1e42f8ad370420634190cb
Author: Erick Ochoa Lopez <eochoalo at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
Log Message:
-----------
[MLIR][LLVM] Propagate alignment attribute from memref to LLVM (#151380)
Propagate alignment attribute from operations in the memref dialect to
the LLVM dialect.
Possible improvements: maybe the alignment attribute in LLVM's store and
load operations should be confined/constrained to i64? I believe that
way one can avoid typing the value in the attribute dictionary. I.e.,
from `{ alignment = 32 : i64 }` to `{ alignment = 32}`
Commit: 2bbc6147138187946616c1b30743e09825fb61b8
https://github.com/llvm/llvm-project/commit/2bbc6147138187946616c1b30743e09825fb61b8
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/test/Analysis/GlobalsModRef/memset-escape.ll
M llvm/test/Transforms/InstCombine/load-store-forward.ll
Log Message:
-----------
[InstCombine] Support offsets in `memset` to load forwarding (#151924)
Adds support for load offsets when performing `memset` load forwarding.
Commit: 2e40c567fbf5b7366df4f2b1fcb9b748da685d96
https://github.com/llvm/llvm-project/commit/2e40c567fbf5b7366df4f2b1fcb9b748da685d96
Author: Erick Ochoa Lopez <eochoalo at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
A mlir/test/Dialect/Transform/interpreter-entry-point-2.mlir
Log Message:
-----------
[MLIR][Transform] Prefer entry points in current module (#151323)
The transform interpreter previously looked for the entry point using a
recursive walk in pre-order. This makes it so that any named_sequence
operation with an arbitrary level of nested-ness will be used as the
entry point for the transform interpreter as long as it is placed before
another one.
This change makes it so that code like the one reported in
https://github.com/llvm/llvm-project/issues/119578 works as expected.
Closes #119578
Some comments: alternatively, it would also be possible to solve this
issue in a slightly more elegant manner. We could define a new walker
iterator that iterates through the operations in a breadth first search.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: dd0bb2c3a8675ff1e2b9de565a301c0a09d3063b
https://github.com/llvm/llvm-project/commit/dd0bb2c3a8675ff1e2b9de565a301c0a09d3063b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Bump the version to 0.2.16
Commit: e8a87da482a13ac9b05acd79d3f412b1a1c06d9a
https://github.com/llvm/llvm-project/commit/e8a87da482a13ac9b05acd79d3f412b1a1c06d9a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Add test for projects list for .ci on Windows
Partially to give me something to copy and paste into other scripts that
need to run all of the tests on Windows and partially to increase test
coverage on Windows. This does expose an issue with the script on
Windows, so that needs to be fixed. Given it does not impact anything it
should be fine for now though.
Commit: 258997c16e4d5438207377d6ce4f9d608860d7ae
https://github.com/llvm/llvm-project/commit/258997c16e4d5438207377d6ce4f9d608860d7ae
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC][NFCI] Add 'InitRecipes' to 'firstprivate' AST node
This patch adds the 'init recipes' to firstprivate like I did for
'private', so that we can properly init these types. At the moment,
the recipe init isn't generated (just the VarDecl), and this isn't
really used anywhere as it will be used exclusively in Codegen.
Commit: c455c4e2d7f78d5992369457066b249699fe2084
https://github.com/llvm/llvm-project/commit/c455c4e2d7f78d5992369457066b249699fe2084
Author: Daniel Sanders <daniel_l_sanders at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/include/lldb/Target/UnwindLLDB.h
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
A lldb/test/Shell/Unwind/Inputs/eh-frame-dwarf-unwind-val-offset.s
A lldb/test/Shell/Unwind/eh-frame-dwarf-unwind-val-offset.test
M lldb/unittests/Symbol/TestDWARFCallFrameInfo.cpp
Log Message:
-----------
[lldb] Implement DW_CFA_val_offset and DW_CFA_val_offset_sf (#150732)
The test for this is artificial as I'm not aware of any upstream targets
that use DW_CFA_val_offset
RegisterContextUnwind::ReadFrameAddress now reports how it's attempting
to obtain the CFA unless all success/failure cases emit logs that
clearly identify the method it was attempting. Previously several of the
existing failure paths emit no message or a message that's
indistinguishable from those on other paths.
Commit: 9a4c6f9b3c0ffab783ed0e5373f5106c392426fe
https://github.com/llvm/llvm-project/commit/9a4c6f9b3c0ffab783ed0e5373f5106c392426fe
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/src/__support/wchar/mbrtowc.cpp
Log Message:
-----------
[libc][obvious] Removed mbstate_t include (#152046)
Internal function does not use the external mbstate_t but still had the
include for it.
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 302a452bd6e58591c875be5095da25a27159146f
https://github.com/llvm/llvm-project/commit/302a452bd6e58591c875be5095da25a27159146f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/docs/TestingGuide.rst
Log Message:
-----------
[llvm] Proofread TestingGuide.rst (#152089)
Co-authored-by: James Henderson <James.Henderson at sony.com>
Commit: 1b651bf2b7a689dd418bf5244ade1d5d21f02b90
https://github.com/llvm/llvm-project/commit/1b651bf2b7a689dd418bf5244ade1d5d21f02b90
Author: Nico Weber <thakis at chromium.org>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
Log Message:
-----------
[gn] port fa39b67de01af (LLDB_ENABLE_PYTHON_LIMITED_API)
Commit: ed294c28aca6f1371df3de42131f7b41e2be151b
https://github.com/llvm/llvm-project/commit/ed294c28aca6f1371df3de42131f7b41e2be151b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
A lldb/include/lldb/Protocol/MCP/Protocol.h
M lldb/source/CMakeLists.txt
M lldb/source/Plugins/Protocol/MCP/CMakeLists.txt
M lldb/source/Plugins/Protocol/MCP/MCPError.cpp
M lldb/source/Plugins/Protocol/MCP/MCPError.h
R lldb/source/Plugins/Protocol/MCP/Protocol.cpp
R lldb/source/Plugins/Protocol/MCP/Protocol.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Plugins/Protocol/MCP/Resource.cpp
M lldb/source/Plugins/Protocol/MCP/Resource.h
M lldb/source/Plugins/Protocol/MCP/Tool.cpp
M lldb/source/Plugins/Protocol/MCP/Tool.h
A lldb/source/Protocol/CMakeLists.txt
A lldb/source/Protocol/MCP/CMakeLists.txt
A lldb/source/Protocol/MCP/Protocol.cpp
M lldb/unittests/CMakeLists.txt
M lldb/unittests/Protocol/CMakeLists.txt
R lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
M lldb/unittests/Protocol/ProtocolMCPTest.cpp
A lldb/unittests/ProtocolServer/CMakeLists.txt
A lldb/unittests/ProtocolServer/ProtocolMCPServerTest.cpp
Log Message:
-----------
[lldb] Move MCP protocol into its own library (NFC) (#152059)
This PR moves the MCP protocol code into its own library
(`lldbProtocolMCP`) so the code can be shared between the
`ProtocolServerMCP` plugin in LLDB as well as `lldb-mcp`. The goal is to
do the same thing for DAP (which, for now, would be used exclusively
from `lldb-dap`).
To make it clear that it's neither part of the `lldb` nor the
`lldb_private` namespace, I created a new `lldb_protocol` namespace.
Depending on how much code would be reused by lldb-dap, we may move more
code into the protocol library.
Commit: f45f4ae7834e2be54cc5d2f51c413d4259ec682e
https://github.com/llvm/llvm-project/commit/f45f4ae7834e2be54cc5d2f51c413d4259ec682e
Author: Majid Dadashi <5490974+majiddadashi at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/lib/Transforms/Utils/FoldUtils.cpp
M mlir/test/Transforms/canonicalize-debuginfo.mlir
Log Message:
-----------
Avoid unnecessary erasing of constant Locs (#151573)
Do not erase location info when moving an op within the same block.
Since #75415 , the FoldUtils.cpp erases the location information when
moving an operation. This was being done even when an operation was
moved to the front of a block it was already in.
In TFLite, this location information is used to provide meaningful names
for tensors, which aids in debugging and mapping compiled tensors back
to their original layers. The aggressive erasure of location info caused
many tensors in TFLite models to receive generic names (e.g.,
tfl.pseudo_qconst), making the models harder to inspect.
This change modifies the logic to preserve the location of an operation
when it is moved within the same block. The location is now only erased
when the operation is moved from a different block entirely. This
ensures that most tensor names are preserved, improving the debugging
experience for TFLite models.
Commit: e3467d8dead7b9c2b9b5012b8c0150fe2e93dee9
https://github.com/llvm/llvm-project/commit/e3467d8dead7b9c2b9b5012b8c0150fe2e93dee9
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Dialect/NVGPU/invalid.mlir
Log Message:
-----------
[mlir][nvgpu] Fix tma descriptor check (#152160)
The tma descriptor check does not appear to be correct, as it requires
the last dimension of memref to be 128 bytes. However, the bytes of the
last dimension can be equal to swizzle bytes.
Commit: 5dfc2d4535b6eb831a5baf8265962ee453c34900
https://github.com/llvm/llvm-project/commit/5dfc2d4535b6eb831a5baf8265962ee453c34900
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/assume.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
Log Message:
-----------
[LV] Regen some tests with UTC (#152128)
Commit: 913c5b4d1fffa00585edb6ba4f0915f29afa90cc
https://github.com/llvm/llvm-project/commit/913c5b4d1fffa00585edb6ba4f0915f29afa90cc
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
Log Message:
-----------
clang -cc1as: Remove a redundant initSections call
`Parser->Run(Opts.NoInitialTextSection)` calls initSections. Remove a
redundant initSections to remove an extra FT_Align fragment, observed
when investigating a missing MCOrgFragment relaxation issue
https://github.com/ClangBuiltLinux/linux/issues/2116
Commit: d7074b63ed2022e27d3d9c884f0a4922b453b1f7
https://github.com/llvm/llvm-project/commit/d7074b63ed2022e27d3d9c884f0a4922b453b1f7
Author: zGoldthorpe <zgoldtho at ualberta.ca>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGen/link-builtin-bitcode.c
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/amdgpu-readonly-features-written-with-no-target.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-add.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-max.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-add-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-add-target-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-fmin-fmax-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-fmin-fmax-target-err.cl
M llvm/lib/TargetParser/TargetParser.cpp
Log Message:
-----------
[Clang][AMDGPU] Add builtins for some buffer resource atomics (#149216)
This patch exposes builtins for atomic `add`, `max`, and `min` operations that
operate over buffer resource pointers.
Commit: 3b2a1a5d9bb071bf210a2b070ee931b1d8e29b9e
https://github.com/llvm/llvm-project/commit/3b2a1a5d9bb071bf210a2b070ee931b1d8e29b9e
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
R clang/test/CodeGenHLSL/buffer-array-operator.hlsl
R clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
R clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
R clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
R clang/test/CodeGenHLSL/cbuffer.hlsl
R clang/test/CodeGenHLSL/cbuffer_align.hlsl
R clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
R clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
R clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
R clang/test/CodeGenHLSL/default_cbuffer.hlsl
R clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
R clang/test/CodeGenHLSL/resource-bindings.hlsl
A clang/test/CodeGenHLSL/resources/AppendStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/resources/ConsumeStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-constructor-opt.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-constructor.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-subscript.hlsl
A clang/test/CodeGenHLSL/resources/RWStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RasterizerOrderedStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-subscripts.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_align.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_and_namespaces.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_with_packoffset.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_with_static_global_and_function.hlsl
A clang/test/CodeGenHLSL/resources/default_cbuffer.hlsl
A clang/test/CodeGenHLSL/resources/default_cbuffer_with_layout.hlsl
A clang/test/CodeGenHLSL/resources/resource-bindings.hlsl
Log Message:
-----------
[HLSL][NFC] Move all resource tests under CodeGenHLSL\resources (#152035)
Also removes an outdated test buffer-array-operator.hlsl. Array operator on resources is tested in StructuredBuffers-subscripts.hlsl and RWBuffer-subscript.hlsl.
Commit: 406f61fd3a28b9628f50cf009c6e65562f93a2cc
https://github.com/llvm/llvm-project/commit/406f61fd3a28b9628f50cf009c6e65562f93a2cc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Core/Mangled.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb][CPlusPlusLanguage] Create public accessors for getting DemangledNameInfo components and use them in tests (#152134)
This way we make sure that the logic to reconstruct demangled names in
the tests is the same as the logic when reconstructing the actual
frame-format variable.
`DemangledNameInfo::SuffixRange` is currently the only one which we
can't test in the same way until we set it from inside the
`TrackingOutputBuffer`. I added TODOs to track this.
Commit: 4a13f0912a166cc80d732d54a130f8c7933dc264
https://github.com/llvm/llvm-project/commit/4a13f0912a166cc80d732d54a130f8c7933dc264
Author: gulfemsavrun <gulfem at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/test/sanitizer_common/CMakeLists.txt
Log Message:
-----------
Revert "[compiler-rt][test] Apply CFLAGS from sanitizer_common to all tests" (#152177)
Reverts llvm/llvm-project#120798 because it caused an AddressSanitizer
test breakage in global-overflow-bfd.cpp:
https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-linux-x64/b8707434189452310849/overview
Commit: 8a2d3f5653eb8b97049e06a98459a61db397c01c
https://github.com/llvm/llvm-project/commit/8a2d3f5653eb8b97049e06a98459a61db397c01c
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
M llvm/include/llvm/Frontend/HLSL/RootSignatureValidations.h
M llvm/lib/Frontend/HLSL/RootSignatureValidations.cpp
M llvm/unittests/Frontend/CMakeLists.txt
R llvm/unittests/Frontend/HLSLRootSignatureRangesTest.cpp
Log Message:
-----------
[HLSL][Sema] Use hlsl::BindingInfoBuilder instead of RangeInfo. NFC (#150634)
Clean up some duplicated logic. We had two ways to do the same thing
here, and BindingInfoBuilder is more flexible.
Commit: f03345a07af808975caab2fcab24adf98857ffa0
https://github.com/llvm/llvm-project/commit/f03345a07af808975caab2fcab24adf98857ffa0
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/assume.ll
Log Message:
-----------
[LV] Improve a test; get rid of runtime checks (#152182)
Commit: b5bf1000465c69d647c0eb0f0dc40d03dde17aea
https://github.com/llvm/llvm-project/commit/b5bf1000465c69d647c0eb0f0dc40d03dde17aea
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/include/dlfcn.yaml
Log Message:
-----------
[libc] Add RTLD_NEXT + RTLD_DEFAULT (#149909)
Related to #97920, this patch adds `dlsym` macros `RTLD_NEXT` AND
`RTLD_DEFAULT` to dlfcn.h.
Commit: 9179b079812319010ab09718926ee73ca26ecc78
https://github.com/llvm/llvm-project/commit/9179b079812319010ab09718926ee73ca26ecc78
Author: Walter Erquinigo <a20012251 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[LLDB] Complete a missing register format mapping in the gdb-remote p… (#152170)
…rotocol
When writing a custom gdb-remote server I realized that the encoder and
decoder of register formats is incomplete.
- Add the encoder on the server side and add an llvm_unreachable is
there's a missing case.
- Add a decoder on the client side that doesn't fail. We have to keep it
flexible.
I couldn't figure out an easy way to test this but the changes seem very
straightforward to me.
Commit: 4882874ddc1017f2f1b9b11fb67065440b101701
https://github.com/llvm/llvm-project/commit/4882874ddc1017f2f1b9b11fb67065440b101701
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[vscode-lldb] Fix `yarn package` (#152002)
# Problem
`yarn package` cannot be run twice in a row - the second time will error
out:
> Error: ENOENT: no such file or directory, stat
'<path>/llvm-project/lldb/tools/lldb-dap/out/lldb-dap.vsix'
This error is also weird, because the file actually exists. See the end
of this [full
output](https://gist.github.com/royitaqi/f3f4838ed30d7ade846f53f0fb7d68f4).
# Fix
Delete the `lldb-dap.vsix` file at the start of each run. See
consecutive runs [being
successful](https://gist.github.com/royitaqi/9609181b4fe6a8a4e71880c36cd0c7c9).
Commit: bb3c060ca41455bc48e48ec51a66910c164b4345
https://github.com/llvm/llvm-project/commit/bb3c060ca41455bc48e48ec51a66910c164b4345
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Fix incorrect down-cast in __tree (#152181)
Commit: 12da87bef12d9545775a5c375cfc22904ca4602d
https://github.com/llvm/llvm-project/commit/12da87bef12d9545775a5c375cfc22904ca4602d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Use Python Bytes instead of Buffer for Binary I/O (NFC) (#152031)
Binary I/O (also called buffered I/O) expects bytes-like objects and
produces bytes objects [1]. Switch from using a Python buffer to using
Python bytes to read the data. This eliminates calls to functions that
aren't part of the Python stable C API.
[1] https://docs.python.org/3/library/io.html#binary-i-o
Commit: 40fbc76dc8e81ede437b581a652ce6e5850cbc7b
https://github.com/llvm/llvm-project/commit/40fbc76dc8e81ede437b581a652ce6e5850cbc7b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
Log Message:
-----------
[lldb] Fix the build
This patch fixes:
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp:623:47:
error: expected ';' after expression
Commit: 87a7a9caaf88d3944395cd45b2465377b30822a3
https://github.com/llvm/llvm-project/commit/87a7a9caaf88d3944395cd45b2465377b30822a3
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn build] Port 8a2d3f5653eb
Commit: e3ededa0f136764f42d94c60bfd762a275689b8c
https://github.com/llvm/llvm-project/commit/e3ededa0f136764f42d94c60bfd762a275689b8c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
Log Message:
-----------
[LV] Add tests with canonical widen IV, reductions in different order.
Add missing test coverage for re-using the resume value from the main
vector loop for the canonical IV in the epilogue.
Commit: 47258ca47085ec6be3347690c7dab2b73de0c3a1
https://github.com/llvm/llvm-project/commit/47258ca47085ec6be3347690c7dab2b73de0c3a1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use VPPhi instead of dyn_cast + opcode check in isPhi (NFC).
Commit: 448c88478dc3148eb69c9b0025746d243ae19a0f
https://github.com/llvm/llvm-project/commit/448c88478dc3148eb69c9b0025746d243ae19a0f
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/config/gpu/amdgpu/entrypoints.txt
Log Message:
-----------
[libc] Enable the `acoshf` math function on AMD GPUs (#152157)
This patch adds the `acoshf` math function to the AMDGPU build.
Commit: cd0268063d47fb7e5331300db7c21d7302531e33
https://github.com/llvm/llvm-project/commit/cd0268063d47fb7e5331300db7c21d7302531e33
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
M offload/unittests/Conformance/device_code/CMakeLists.txt
A offload/unittests/Conformance/device_code/Common.hpp
M offload/unittests/Conformance/device_code/LLVMLibm.cpp
A offload/unittests/Conformance/tests/AcosfTest.cpp
A offload/unittests/Conformance/tests/AcoshfTest.cpp
A offload/unittests/Conformance/tests/AsinfTest.cpp
A offload/unittests/Conformance/tests/AsinhfTest.cpp
A offload/unittests/Conformance/tests/AtanfTest.cpp
A offload/unittests/Conformance/tests/AtanhfTest.cpp
M offload/unittests/Conformance/tests/CMakeLists.txt
A offload/unittests/Conformance/tests/CbrtfTest.cpp
A offload/unittests/Conformance/tests/CosfTest.cpp
A offload/unittests/Conformance/tests/CoshfTest.cpp
A offload/unittests/Conformance/tests/CospifTest.cpp
A offload/unittests/Conformance/tests/ErffTest.cpp
A offload/unittests/Conformance/tests/Exp10fTest.cpp
A offload/unittests/Conformance/tests/Exp2fTest.cpp
A offload/unittests/Conformance/tests/ExpfTest.cpp
A offload/unittests/Conformance/tests/Expm1fTest.cpp
M offload/unittests/Conformance/tests/Hypotf16Test.cpp
A offload/unittests/Conformance/tests/Log10fTest.cpp
A offload/unittests/Conformance/tests/Log1pfTest.cpp
A offload/unittests/Conformance/tests/Log2fTest.cpp
A offload/unittests/Conformance/tests/SincosfTest.cpp
A offload/unittests/Conformance/tests/SinfTest.cpp
A offload/unittests/Conformance/tests/SinhfTest.cpp
A offload/unittests/Conformance/tests/SinpifTest.cpp
A offload/unittests/Conformance/tests/TanfTest.cpp
A offload/unittests/Conformance/tests/TanhfTest.cpp
A offload/unittests/Conformance/tests/TanpifTest.cpp
Log Message:
-----------
[Offload][Conformance] Add tests for single-precision math functions (#152013)
This patch adds a new set of conformance tests for single-precision math
functions provided by the LLVM libm for GPUs.
The functions included in this set were selected based on the following
criteria:
- An implementation exists in `libc/src/math/generic` (i.e., it is not
just a wrapper around a compiler built-in).
- The corresponding LLVM CPU libm implementation is correctly rounded.
- The function is listed in Table 65 of the OpenCL C Specification
v3.0.19.
Commit: f355a57728c28f1df35cb0bc5bacefc5d7f89bd1
https://github.com/llvm/llvm-project/commit/f355a57728c28f1df35cb0bc5bacefc5d7f89bd1
Author: Martin Storsjö <martin at martin.st>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/include/__exception/exception.h
Log Message:
-----------
[libcxx] Initialize vcruntime __std_exception_data in the exception copy ctor (#144329)
This fixes failures in a number of tests, in the
clang-cl-no-vcruntime configuration (where libcxx provides dummy, no-op
replacements of some vcruntime base exception classes), if building with
optimization enabled.
Previously, with optimization enabled, the compiler concluded that these
fields would be uninitialized at the points of asserts in the tests.
This fixes the following tests in this configuration:
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.dynamic/alloc.errors/bad.alloc/bad_alloc.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_new_length.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.exception/bad.exception/bad_exception.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.exception/exception/exception.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.rtti/bad.cast/bad_cast.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.rtti/bad.typeid/bad_typeid.pass.cpp
Commit: c19314f070e2479dc0116d9c86a8afc37e4ab036
https://github.com/llvm/llvm-project/commit/c19314f070e2479dc0116d9c86a8afc37e4ab036
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Port fa39b67de01af189b59f9034ef6228a2951364b0 (#152191)
Commit: f8a4f61101bbed236adfeca58e59cac4b95afe15
https://github.com/llvm/llvm-project/commit/f8a4f61101bbed236adfeca58e59cac4b95afe15
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Target/Platform.cpp
M lldb/unittests/Platform/PlatformTest.cpp
Log Message:
-----------
[lldb] Avoid a crash after selecting an unknown platform (#151803)
`PlatformList::Create()` added an item to the list even when
`Platform::Create()` returned `nullptr`. Other methods use these items
without checking, which can lead to a crash. For example:
```
> lldb
(lldb) platform select unknown
error: unable to find a plug-in for the platform named "unknown"
(lldb) file a.out-arm64
PLEASE submit a bug report to...
Stack dump:
0. Program arguments: lldb
1. HandleCommand(command = "file a.out-arm64 ")
...
```
Commit: c1add93e45ecf4e5bbc50a933bbb451f0b9596eb
https://github.com/llvm/llvm-project/commit/c1add93e45ecf4e5bbc50a933bbb451f0b9596eb
Author: moscickimilosz <Milosz.Moscicki at imgtec.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
Log Message:
-----------
[mlir][spirv] Change Spirv.GlobalVariableOp builtin -> built_in (#152148)
GlobalVariableOp describes that built_in specifies SPIR-V BuiltIn
decoration associated with the op. The attribute was defined as builtin
in the tablegen (no uderscore). This was causing correct
GlobalVariableOp decorations like: built_in("GlobalInvocationId") to be
saved as a new attribute making it impossible to access the built_in
attribute through getBuiltinAttr.
Commit: d478502a420c75ca6c52205a58e465998a249826
https://github.com/llvm/llvm-project/commit/d478502a420c75ca6c52205a58e465998a249826
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
Log Message:
-----------
[VPlan] Ensure that IV resume phi for epilogue is always first. (NFCI)
Update handling of canonical IV resume phi for the epilogue loop to make
sure the resume phi for the canonical IV is always the first phi in the
scalar preheader.
This makes it easier to retrieve it in preparePlanForEpilogueVectorLoop.
For now, we keep an assert to make sure we use the same resume phi as
before. This will be removed in the future.
Commit: 97dee3244535b4bc6cfb65a1dfa8f3ae93bd5752
https://github.com/llvm/llvm-project/commit/97dee3244535b4bc6cfb65a1dfa8f3ae93bd5752
Author: Jeremy Kun <jkun at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
Log Message:
-----------
[MLIR][Presburger] add iterVarKind for convenient iterating over variables (#152091)
I find myself doing this alot
```
for (unsigned varIndex = rel.getVarKindOffset(VarKind::Domain);
varIndex < rel.getVarKindEnd(VarKind::Domain); ++varIndex) {
...
}
```
Adding this convenience method so I can instead do
```
for (unsigned varIndex : rel.iterVarKind(VarKind::Domain)) {
...
}
```
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: da6424c9e307cd324f37745b525d3884b5077707
https://github.com/llvm/llvm-project/commit/da6424c9e307cd324f37745b525d3884b5077707
Author: Jann <jannh at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/test/CodeGen/AArch64/xray-custom-log.ll
M llvm/test/CodeGen/X86/xray-custom-log.ll
A llvm/test/DebugInfo/X86/dwarf-callsite-related-attrs-indirect.ll
M llvm/test/DebugInfo/X86/dwarf-callsite-related-attrs.ll
Log Message:
-----------
[DebugInfo][DWARF] Don't emit bogus DW_AT_call_target for complex calls (#151378)
On X86-64, LLVM currently generates the same DWARF debug info for `call
rax` and `call [rax]`; in both cases, the generated DWARF claims that
the call goes to address RAX. This bug occurs because the X86 machine
instructions CALL64r and CALL64m both receive register operands, but
those register operands have different semantics.
To fix it, change DwarfDebug::constructCallSiteEntryDIEs() to validate
the callee operand's semantics (`OperandType`) and make sure it is not
semantically describing a memory location.
This fix will result in less DW_TAG_call_site and DW_AT_call_target
entries being generated.
There is an existing test in dwarf-callsite-related-attrs.ll that
asserts the broken behavior; remove the broken check, and instead add a
new test dwarf-callsite-related-attrs-indirect.ll that checks behavior
for indirect calls.
The existing test xray-custom-log.ll is validating something even more
broken: It checks the debug info generated by a PATCHABLE_EVENT_CALL.
`TII->getCalleeOperand()` assumes that the first argument of a call
instruction is always the destination, but the first argument of
PATCHABLE_EVENT_CALL is instead the event structure; and so we were
emitting debug info claiming the callee was stored in a register that
actually contains some kind of xray event descriptor, and the test
validates that this happens.
I am breaking and deleting this test.
I guess the intent there might have been to validate that we emit
debuginfo referencing the target of the direct call that LLVM emits
(which we don't do)? But I'm not sure.
Commit: cfd1ee781f116de891cd802b277b67a698acad60
https://github.com/llvm/llvm-project/commit/cfd1ee781f116de891cd802b277b67a698acad60
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/include/dlfcn.yaml
M libc/src/dlfcn/CMakeLists.txt
A libc/src/dlfcn/dlinfo.cpp
A libc/src/dlfcn/dlinfo.h
Log Message:
-----------
[libc] Add dlinfo + RTLD_DI_* macros to dlfcn.h (#149938)
An initial commit for #149911, this adds a stub implementation for
dlinfo and the enums list of `RTLD_DI_*` values.
While the dlinfo implementation relies on dynamic linker support, this
patch will add its prototype in the generated dlfcn.h header so that it
can be used by downstream platforms that have their own dlinfo
implementation.
Commit: aec90f2f27317dbb075a5a816e11b4892f035680
https://github.com/llvm/llvm-project/commit/aec90f2f27317dbb075a5a816e11b4892f035680
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/namelist.cpp
Log Message:
-----------
[flang][runtime] Fix child input bugs under NAMELIST (#151571)
When NAMELIST input takes place on a derived type, we need to preserve
the type in the descriptor that is created for storage sequence
association. Further, the fact that any child list input in within the
context of a NAMELIST must be inherited so that input fields don't try
to consume later "variable=" strings.
Fixes https://github.com/llvm/llvm-project/issues/151222.
Commit: effa35d240f34bcd07f0653b6fbdd999a5dbf02e
https://github.com/llvm/llvm-project/commit/effa35d240f34bcd07f0653b6fbdd999a5dbf02e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
M flang/docs/Extensions.md
Log Message:
-----------
[flang][runtime] Don't always accept a bare exponent letter (#151597)
For more accurate compatibility with other compilers' extensions, accept
a bare exponent letter as valid real input to a formatted READ statement
only in a fixed-width input field. So it works with (G1.0) editing, but
not (G)/(D)/(E)/(F) or list-directed input.
Fixes https://github.com/llvm/llvm-project/issues/151465.
Commit: 56051daaf0584ed797940fda74a4cfdc2b3586c0
https://github.com/llvm/llvm-project/commit/56051daaf0584ed797940fda74a4cfdc2b3586c0
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/Descriptor.cpp
Log Message:
-----------
[flang][runtime] Optimize Descriptor::FixedStride() (#151755)
Put the common cases on fast paths, and don't depend on IsContiguous()
in the general case path. Add a unit test, too.
Commit: fc9a08078017c8a1ad812d01ed9a7d2066b31e07
https://github.com/llvm/llvm-project/commit/fc9a08078017c8a1ad812d01ed9a7d2066b31e07
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang-rt/lib/runtime/namelist.cpp
Log Message:
-----------
[flang][runtime] Handle empty NAMELIST value list (#151770)
InputNamelist() returns early if any value list read in by
InputDerivedType() or DescriptorIo<Input>() is empty, since they return
false. But an empty value list is okay, and the early return should
occur only on error.
Fixes https://github.com/llvm/llvm-project/issues/151756.
Commit: 867602742cf392849b5f1cfc9038ad679333fd59
https://github.com/llvm/llvm-project/commit/867602742cf392849b5f1cfc9038ad679333fd59
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Parser/parsing.cpp
Log Message:
-----------
[flang] Minor speed-up to module file parsing (#152178)
Module files shouldn't ever produce parsing errors, and if they did in
the case of a badly-generated module file, the compiler will notice and
crash. So we can run the parser on module files with message deferral
enabled, and that saves time that would otherwise be spent generating
messages on failed parsing alternatives that are discarded anyway when
backtracking. It's not a big savings (single digit percentage on overall
compilation time for a big application with lots of modules), but worth
doing.
Commit: dbaa82b384a7c7a57a3d9a93c2c968af422e6aa9
https://github.com/llvm/llvm-project/commit/dbaa82b384a7c7a57a3d9a93c2c968af422e6aa9
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
A lldb/include/lldb/Protocol/MCP/MCPError.h
A lldb/include/lldb/Protocol/MCP/Resource.h
A lldb/include/lldb/Protocol/MCP/Tool.h
M lldb/source/Plugins/Protocol/MCP/CMakeLists.txt
R lldb/source/Plugins/Protocol/MCP/MCPError.cpp
R lldb/source/Plugins/Protocol/MCP/MCPError.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Plugins/Protocol/MCP/Resource.cpp
M lldb/source/Plugins/Protocol/MCP/Resource.h
M lldb/source/Plugins/Protocol/MCP/Tool.cpp
M lldb/source/Plugins/Protocol/MCP/Tool.h
M lldb/source/Protocol/MCP/CMakeLists.txt
A lldb/source/Protocol/MCP/MCPError.cpp
A lldb/source/Protocol/MCP/Tool.cpp
M lldb/unittests/ProtocolServer/ProtocolMCPServerTest.cpp
Log Message:
-----------
[lldb] Move the generic MCP code into Protocol/MCP (NFC) (#152188)
This moves all the generic MCP code into the new ProtocolMCP library so
it can be shared between the MCP implementation in LLDB (built on the
private API) and lldb-mcp (built on the public API).
This PR doesn't include the actual MCP server. The reason is that the
transport mechanism will be different between the LLDB implementation
(using sockets) and the lldb-mcp implementation (using stdio). The goal
s to abstract away that difference by making the server use
JSONTransport (again) but I'm saving that for a separate PR.
Commit: d08c2977e86fc7220b3b9c5cb83616705c10046e
https://github.com/llvm/llvm-project/commit/d08c2977e86fc7220b3b9c5cb83616705c10046e
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
A llvm/test/MC/AMDGPU/gfx1250_asm_operands.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_operands.txt
Log Message:
-----------
[AMDGPU] Add MC support for new gfx1250 src_flat_scratch_base_lo/hi (#152203)
Commit: 06884d0204ecffc8f1164d520bab6117ae06baee
https://github.com/llvm/llvm-project/commit/06884d0204ecffc8f1164d520bab6117ae06baee
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
Log Message:
-----------
[mlir][xegpu] Bug fix in UpdateNdOffset distribution. (#150545)
Reason is UpdateNdOffset source operand not retaining the layouts when
it is yielded by the warp op. `warp_execute_on_lane0` op expects that
TensorDesc type is unchanged during distribution out of its region. we
use UnrealizedCasts to reconcile this mismatch outside the warpOp (via
`resolveDistributedTy`)
Commit: 81ed75679dcfb0b60764db1c8e0a91065a26a742
https://github.com/llvm/llvm-project/commit/81ed75679dcfb0b60764db1c8e0a91065a26a742
Author: keinflue <keinflue at posteo.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
Log Message:
-----------
[clang] Fix constant evaluation of member pointer access into sibling class. (#150829)
HandleMemberPointerAccess considered whether the lvalue path in a member
pointer access matched the bases of the containing class of the member,
but neglected to check the same for the containing class of the member
itself, thereby ignoring access attempts to members in direct sibling
classes.
Fixes #150705.
Fixes #150709.
Commit: 07da480614cd7ce3f105a153626a23f6888e503f
https://github.com/llvm/llvm-project/commit/07da480614cd7ce3f105a153626a23f6888e503f
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/.gitattributes
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/test/CodeGen/Generic/allow-check.ll
Log Message:
-----------
[win][arm64ec] More fixes for building and testing Arm64EC Windows (#151409)
* `tools/llvm-objcopy/MachO/update-section-object.test` was failing on
Windows since the input file (`macho_sections.s`) might be checked out
with the wrong line ending, resulting in difference in the size of
sections being checked.
* Removed the check for Windows in `AArch64Arm64ECCallLowering`: when
`llc` is run without an explicit target, the module's target triple is
unknown so this assert fires.
* Expect `llvm/test/CodeGen/Generic/allow-check.ll` to fail for Arm64EC:
Global ISel is not supported.
Commit: 5a076e3b4d5ec26d8944bff129c1cae67a44b3ef
https://github.com/llvm/llvm-project/commit/5a076e3b4d5ec26d8944bff129c1cae67a44b3ef
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/include/dlfcn.yaml
A libc/include/llvm-libc-types/Dl_info.h
M libc/src/dlfcn/CMakeLists.txt
A libc/src/dlfcn/dladdr.cpp
A libc/src/dlfcn/dladdr.h
Log Message:
-----------
[libc] Add dladdr to dlfcn.h (#149872)
A initial commit for #97929, this adds a stub implementation for
`dladdr` and includes the definition for the `DL_info` type used as one
of its arguments.
While the `dladdr` implementation relies on dynamic linker support, this
patch will add its prototype in the generated `dlfcn.h` header so that
it can be used by downstream platforms that have their own `dladdr`
implementation.
Commit: 34aed0ed5615583a8f1aaf9c036cc69fa88b3503
https://github.com/llvm/llvm-project/commit/34aed0ed5615583a8f1aaf9c036cc69fa88b3503
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1250.w32.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
Log Message:
-----------
[AMDGPU] Add gfx1250 wmma_scale[16]_f32_32x16x128_f4 instructions (#152194)
Commit: 9c6bb180407a7db004624d13d9de108d7cebc73c
https://github.com/llvm/llvm-project/commit/9c6bb180407a7db004624d13d9de108d7cebc73c
Author: Jasmine Tang <jjasmine at igalia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/dot.ll
Log Message:
-----------
[WebAssembly] Constant fold wasm.dot (#149619)
Constant fold wasm.dot of constant vectors/splats.
Test case added in
`llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/dot.ll`
Related to https://github.com/llvm/llvm-project/issues/55933
Commit: 3bc1b15235c86f08afec9d7a43e7ae431ee18926
https://github.com/llvm/llvm-project/commit/3bc1b15235c86f08afec9d7a43e7ae431ee18926
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M offload/DeviceRTL/include/Allocator.h
Log Message:
-----------
[OpenMP] Fix weak linkage on malloc declaration
Summary:
This being weak forces the external reference to be weak. Either we
define it weak or not by pulling it from `libc`. Doing it here causes it
to not be extracted properly.
Commit: 64eba6ef9610a4a82e1610ecd806b8488144bad0
https://github.com/llvm/llvm-project/commit/64eba6ef9610a4a82e1610ecd806b8488144bad0
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/unittests/Instruction/ARM64/TestAArch64Emulator.cpp
Log Message:
-----------
[lldb] Fix auto advance PC in `EmulateInstructionARM64` if PC >= 4G (#151460)
The `EmulateInstructionARM64::EvaluateInstruction()` method used
`uint32_t` to store the PC value, causing addresses greater than 2^32 to
be truncated.
As for now, the issue does not affect the mainline because the method is
never called with both `eEmulateInstructionOptionAutoAdvancePC` and
`eEmulateInstructionOptionIgnoreConditions` options set. However, it can
trigger on a downstream that uses software stepping.
Commit: 73685583c859deae7b30bb01692670fd7356c7db
https://github.com/llvm/llvm-project/commit/73685583c859deae7b30bb01692670fd7356c7db
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vploadff.ll
A llvm/test/CodeGen/RISCV/rvv/vploadff.ll
M llvm/unittests/IR/VPIntrinsicTest.cpp
Log Message:
-----------
[VP][RISCV] Add a vp.load.ff intrinsic for fault only first load. (#128593)
There's been some interest in supporting early-exit loops recently.
https://discourse.llvm.org/t/rfc-supporting-more-early-exit-loops/84690
This patch was extracted from our downstream where we've been using it
in our vectorizer.
Commit: 600976f4bfb06526c283dcc4efc4801792f08ca5
https://github.com/llvm/llvm-project/commit/600976f4bfb06526c283dcc4efc4801792f08ca5
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/unittests/Instruction/ARM64/TestAArch64Emulator.cpp
Log Message:
-----------
Revert "[lldb] Fix auto advance PC in `EmulateInstructionARM64` if PC >= 4G (#151460)"
This reverts commit 64eba6ef9610a4a82e1610ecd806b8488144bad0.
It breaks on lldb-arm-ubuntu
Commit: 4c2d56318fec16d1d5241cd91d38b59cb65bce83
https://github.com/llvm/llvm-project/commit/4c2d56318fec16d1d5241cd91d38b59cb65bce83
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Drop PY_MINOR_VERSION >= 3 check (NFC)
The minimum supported Python version is now 3.8, so there's no supported
configuration where the minor version is less than 3.
Commit: b8eb61adc92bb384bc63f01b7ccddd931409b223
https://github.com/llvm/llvm-project/commit/b8eb61adc92bb384bc63f01b7ccddd931409b223
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
A llvm/test/CodeGen/AMDGPU/addrspacecast-gas.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/scale-offset-flat.ll
Log Message:
-----------
[AMDGPU] Implement addrspacecast from flat <-> private on gfx1250 (#152218)
Commit: 435b8b51dc7e236d3940efe4b94104338dbac0e8
https://github.com/llvm/llvm-project/commit/435b8b51dc7e236d3940efe4b94104338dbac0e8
Author: Thurston Dang <thurston at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
Log Message:
-----------
[sanitizer] Don't TestPTrace() if SPARC; don't give up if internal_fork() fails (#152072)
Fixes corner cases of https://github.com/llvm/llvm-project/pull/151406:
- Don't run TestPTrace() on SPARC, because internal_fork() on SPARC
actually calls __fork(). We can't safely __fork(), because it's possible
seccomp has been configured to disallow fork() but allow clone().
- if internal_fork() fails for whatever reason, we shouldn't give up. It
is strictly worse to give up early than to attempt StopTheWorld.
Also updates some comments/TODOs.
Commit: 315e1f59c8a5a0f64c78b93e43af94d62312c7e2
https://github.com/llvm/llvm-project/commit/315e1f59c8a5a0f64c78b93e43af94d62312c7e2
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
Log Message:
-----------
[NFC] Run clang-format on TGLexer and TGParser (#151509)
In https://github.com/llvm/llvm-project/pull/149248, clang-format
applied some formatting to lines untouched by that PR, because the
existing code is not clang-format compliant. Hence applying clang-format
on the entire files here.
Commit: 124722bfe5bf668def1563cfb5778d9aa1b5436d
https://github.com/llvm/llvm-project/commit/124722bfe5bf668def1563cfb5778d9aa1b5436d
Author: Adam Nemet <anemet at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
Log Message:
-----------
Revert "[CG] Add VTs for v[567]i1 and v[567]f16" (#152217)
Reverts llvm/llvm-project#151763
It caused: https://github.com/llvm/llvm-project/issues/152150
Commit: d44754c344885c249f381ace54ab1947e2d0f9fc
https://github.com/llvm/llvm-project/commit/d44754c344885c249f381ace54ab1947e2d0f9fc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
ARM: Remove redundant or buggy config of __aeabi_d2h (#152126)
This was set if `TT.isTargetAEABI()`. This was previously set above
if `TM.isAAPCS_ABI() && (TT.isTargetAEABI() || TT.isTargetGNUAEABI() ||
TT.isTargetMuslAEABI() || TT.isAndroid())`.
So this could differ based on a manually specified -target-abi flag due
to the `isAAPCS_ABI` part of the original condition. I'm guessing
these should be consistent, so either this second group of
setLibcallImpl
calls should have been guarded by the `isAAPCS_ABI` check, or the first
condition should remove it.
There doesn't appear to be any meaningful test coverage using the
manually specified ABI option, so #152108 tries to remove it
Commit: 9e9bf7ac5bc8bf7c2b07dbc8a09d7cb494c70acb
https://github.com/llvm/llvm-project/commit/9e9bf7ac5bc8bf7c2b07dbc8a09d7cb494c70acb
Author: Amy Huang <akhuang at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/config/windows/README.md
Log Message:
-----------
Update the cmake options in libc windows build docs (#152205)
Add the LLVM_ENABLE_RUNTIMES option and remove some that are out of date
or already the default setting.
Commit: 7b9786b4a602839179e7436620956a5597ffc0a3
https://github.com/llvm/llvm-project/commit/7b9786b4a602839179e7436620956a5597ffc0a3
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
Log Message:
-----------
[NFC][TableGen] Capitalize comments in TGLexer.cpp (#152224)
Commit: ab209cafdcd8759302f04205d2f09f4243149f0f
https://github.com/llvm/llvm-project/commit/ab209cafdcd8759302f04205d2f09f4243149f0f
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/docs/index.rst
Log Message:
-----------
Add link to CFI design doc to the documentation index.
Commit: de09c27f5e4192e8d5f1ba6661c40d6337409a4d
https://github.com/llvm/llvm-project/commit/de09c27f5e4192e8d5f1ba6661c40d6337409a4d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
ARM: Simplify logic for default libcall calling convention (#152166)
Commit: 726847829553079a13b1b7104f2c2db9dcda9c1d
https://github.com/llvm/llvm-project/commit/726847829553079a13b1b7104f2c2db9dcda9c1d
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/test/CodeGenCXX/dynamic-cast-exact-disabled.cpp
Log Message:
-----------
[clang][PAC] Fix PAC codegen for final class dynamic_cast optimization (#152227)
The codegen for the final class dynamic_cast optimization fails to
consider pointer authentication. This change resolves this be simply
disabling the optimization when pointer authentication enabled.
Commit: f67548390582292253e1321a55cdf2c37abe08a7
https://github.com/llvm/llvm-project/commit/f67548390582292253e1321a55cdf2c37abe08a7
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/ProfileVerify.cpp
A llvm/test/Transforms/PGOProfile/profcheck-select.ll
Log Message:
-----------
[profcheck] Annotate `select` instructions (#152171)
For `select`, we don't have the equivalent of the branch probability analysis to offer defaults, so we make up our own and allow their overriding with flags.
Issue #147390
Commit: 813e477155dee55d69297acbeac135b86ee72751
https://github.com/llvm/llvm-project/commit/813e477155dee55d69297acbeac135b86ee72751
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/docs/HardwareAssistedAddressSanitizerDesign.rst
Log Message:
-----------
Mention MTE in the HWASan design doc.
Commit: fe0948c9a5d4ad0255c94306b16ac977c2e84ee0
https://github.com/llvm/llvm-project/commit/fe0948c9a5d4ad0255c94306b16ac977c2e84ee0
Author: Steven Perron <stevenperron at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/vk_binding_attr.hlsl
A clang/test/CodeGenHLSL/vk_binding_attr.hlsl
Log Message:
-----------
[HLSL][SPIRV] Add vk::binding attribute (#150957)
The vk::binding attribute allows users to explicitly set the set and
binding for a resource in SPIR-V without chaning the "register"
attribute, which will be used when targeting DXIL.
Fixes https://github.com/llvm/llvm-project/issues/136894
Commit: b05e26be8a487d21cf15d34ef60b39b3ca94f235
https://github.com/llvm/llvm-project/commit/b05e26be8a487d21cf15d34ef60b39b3ca94f235
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fix-xvshuf.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insert-extract-element.ll
Log Message:
-----------
[LoongArch] Optimize extracting f32/f64 from 256-bit vector by using XVPICKVE. (#151914)
Commit: 8470027f257a3304b2abe50e5663bcd711f6ca29
https://github.com/llvm/llvm-project/commit/8470027f257a3304b2abe50e5663bcd711f6ca29
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-acc-structure.h
M flang/test/Semantics/OpenACC/acc-loop.f90
Log Message:
-----------
[flang][acc] Add a semantic check for the validity of nested parallelism (#152225)
This PR implements a semantic checker to ensure the legality of nested
OpenACC parallelism. The following are quotes from Spec 3.3. We need to
disallow loops from having parallelism at the same level as or at a
sub-level of child loops.
>**2.9.2 gang clause**
>[2064] <ins>When the parent compute construct is a parallel
construct</ins>, or on an orphaned loop construct, the gang clause
behaves as follows. (...) The associated dimension is the value of the
dim argument, if it appears, or is dimension one. The dim argument must
be a constant positive integer with value 1, 2, or 3.
>[2112] The region of a loop with a gang(dim:d) clause may not contain a
loop construct with a gang(dim:e) clause where e >= d unless it appears
within a nested compute region.
>[2074] <ins>When the parent compute construct is a kernels
construct</ins>, the gang clause behaves as follows. (...)
>[2148] The region of a loop with the gang clause may not contain
another loop with a gang clause unless within a nested compute region.
>**2.9.3 worker clause**
>[2122]/[2129] The region of a loop with the worker clause may not
contain a loop with the gang or worker clause unless within a nested
compute region.
>**2.9.4 vector clause**
>[2141]/[2148] The region of a loop with the vector clause may not
contain a loop with a gang, worker, or vector clause unless within a
nested compute region.
https://openacc.org/sites/default/files/inline-images/Specification/OpenACC-3.3-final.pdf
Commit: 342bf58f93a72a675183c18b42ae811c635dda37
https://github.com/llvm/llvm-project/commit/342bf58f93a72a675183c18b42ae811c635dda37
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/AArch64/stacksmash-arm64ec.ll
Log Message:
-----------
RuntimeLibcalls: Add entries for __security_check_cookie (#151843)
Avoids hardcoding string name based on target, and gets
the entry in the centralized list of emitted calls.
Commit: a15b629527a975ec592c95d69d04ef3537915d1d
https://github.com/llvm/llvm-project/commit/a15b629527a975ec592c95d69d04ef3537915d1d
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/cmake/modules/LLVMProcessSources.cmake
M llvm/include/llvm/Support/DebugLog.h
Log Message:
-----------
Revert "Strip the full path from __FILE__ in the LDBG macro and keep only the filename (#150677)"
This reverts commit 5d26e3c227f4b4a1761a8b0001b3165198def479.
It breaks the modules build of clang, since every source file has a different
version of this macro, which causes
https://green.lab.llvm.org/job/clang-stage2-Rthinlto/ to run out of space. We
should probably be using __FILE_NAME__ instead when the host compiler supports
it, but until then let's revert-to-green, and un-block the bots.
see: https://github.com/llvm/llvm-project/pull/150677
see: https://github.com/llvm/llvm-project/pull/150677#issuecomment-3156779021
rdar://157465825
Commit: af16fc2e2a50c1cbac49726ea70739ad6e193729
https://github.com/llvm/llvm-project/commit/af16fc2e2a50c1cbac49726ea70739ad6e193729
Author: Wenju He <wenju.he at intel.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
A libclc/clc/include/clc/mem_fence/clc_mem_fence.h
A libclc/clc/include/clc/synchronization/clc_work_group_barrier.h
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/mem_fence/clc_mem_fence.cl
A libclc/clc/lib/amdgcn/synchronization/clc_work_group_barrier.cl
M libclc/clc/lib/ptx-nvidiacl/SOURCES
A libclc/clc/lib/ptx-nvidiacl/mem_fence/clc_mem_fence.cl
A libclc/clc/lib/ptx-nvidiacl/synchronization/clc_work_group_barrier.cl
M libclc/opencl/include/clc/opencl/synchronization/cl_mem_fence_flags.h
A libclc/opencl/include/clc/opencl/synchronization/utils.h
M libclc/opencl/lib/amdgcn/mem_fence/fence.cl
M libclc/opencl/lib/amdgcn/synchronization/barrier.cl
M libclc/opencl/lib/ptx-nvidiacl/mem_fence/fence.cl
M libclc/opencl/lib/ptx-nvidiacl/synchronization/barrier.cl
Log Message:
-----------
[libclc] Move mem_fence and barrier to clc library (#151446)
__clc_mem_fence and __clc_work_group_barrier function have two
parameters memory_scope and memory_order. The design allows the clc
functions to implement SPIR-V ControlBarrier and MemoryBarrier
functions in the future.
The default memory ordering in clc is set to __ATOMIC_SEQ_CST, which is
also the default and strongest ordering in OpenCL and C++.
OpenCL cl_mem_fence_flags parameter is converted to combination of
__MEMORY_SCOPE_DEVICE and __MEMORY_SCOPE_WRKGRP, which is passed to clc.
llvm-diff shows no change to nvptx64--nvidiacl.bc.
llvm-diff show a small change to amdgcn--amdhsa.bc and the number of
LLVM IR instruction is reduced by 1: https://alive2.llvm.org/ce/z/_Uhqvt
Commit: ee6afeb72ef2cee918c1338c926c481ad36aa915
https://github.com/llvm/llvm-project/commit/ee6afeb72ef2cee918c1338c926c481ad36aa915
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaModule.cpp
Log Message:
-----------
[NFC] [C++20] [Modules] Lookup in cache before checking if the primary template is an exposure
Checking if a declaration is an exposure may be relatively expensive.
Try to use cache to avoid such checks will be helpful.
Commit: d27802a2173ab3d864d3bf1ac507a4acc656e457
https://github.com/llvm/llvm-project/commit/d27802a2173ab3d864d3bf1ac507a4acc656e457
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/sext-setcc.ll
A llvm/test/CodeGen/NVPTX/trunc-setcc.ll
Log Message:
-----------
[DAGCombiner] Fold setcc of trunc, generalizing some NVPTX isel logic (#150270)
That change adds support for folding a SETCC when one or both of the
operands is a TRUNCATE with the appropriate no-wrap flags. This pattern
can occur when promoting i8 operations in NVPTX, and we currently have
some ISel rules to try to handle it.
Commit: 7b8dea265e72c3037b6b1e54d5ab51b7e14f328b
https://github.com/llvm/llvm-project/commit/7b8dea265e72c3037b6b1e54d5ab51b7e14f328b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
Log Message:
-----------
[lldb] Workaround omission of PyBUF_READ in the stable API (#152214)
PyMemoryView_FromMemory is part of stable ABI but the flag constants
such as PyBUF_READ are not. This was fixed in Python 3.11 [1], but still
requires this workaround when using older versions.
[1] https://github.com/python/cpython/issues/98680
Commit: 2d4e5c4e1f0ee00cc668b5f012d718e750a99cc7
https://github.com/llvm/llvm-project/commit/2d4e5c4e1f0ee00cc668b5f012d718e750a99cc7
Author: nerix <nerixdev at outlook.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
A lldb/test/Shell/SymbolFile/NativePDB/rust-unique-name.ll
M lldb/test/Shell/lit.cfg.py
Log Message:
-----------
[LLDB][NativePDB] Use undecorated name for types if UniqueName isn't mangled (#152114)
Languages other than C/C++ don't necessarily emit mangled names in the
`UniqueName` field of type records. Rust specifically emits a unique ID
that doesn't contain the name.
For example, `(i32, i32)` is emitted as
```llvm
!266 = !DICompositeType(
tag: DW_TAG_structure_type, name: "tuple$<i32,i32>", file: !9, size: 64, align: 32,
elements: !267, templateParams: !17, identifier: "19122721b0632fe96c0dd37477674472"
)
```
which results in
```
0x1091 | LF_STRUCTURE [size = 72, hash = 0x1AC67] `tuple$<i32,i32>`
unique name: `19122721b0632fe96c0dd37477674472`
vtable: <no type>, base list: <no type>, field list: 0x1090
options: has unique name, sizeof 8
```
In C++ with Clang and MSVC, a structure similar to this would result in
```
0x136F | LF_STRUCTURE [size = 44, hash = 0x30BE2] `MyTuple`
unique name: `.?AUMyTuple@@`
vtable: <no type>, base list: <no type>, field list: 0x136E
options: has unique name, sizeof 8
```
With this PR, if a `UniqueName` is encountered that couldn't be parsed,
it will fall back to using the undecorated (→ do the same as if the
unique name is empty/unavailable).
I'm not sure how to test this. Maybe compiling the LLVM IR that rustc
emits?
Fixes #152051.
Commit: 6ba6efea8438006be7d46ec064eb5da6dfda3d1b
https://github.com/llvm/llvm-project/commit/6ba6efea8438006be7d46ec064eb5da6dfda3d1b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv32zbkb.ll
Log Message:
-----------
[RISCV] Simplify one of the RV32 PACK isel patterns. (#152045)
This pattern previously checked a specific variant of 4 bytes being
packed that is generated by unaligned load expansion.
Our individual PACK patterns don't handle that particular case because a
DAG combine turns (or (or A, (shl B, 8)), (shl (or C, (shl D, 8)), 16))
into (or (or A, (shl B, 8)), (or (shl C, 16), (shl D, 24)). After this,
the outer OR doesn't have a shl operand so we needed a pattern that
looks through 2 layers of OR.
To match this pattern we don't need to look at the (or A, (shl B, 8))
part since that part wasn't affected by the DAG combine and can be
matched to PACKH by itself. It's enough to make sure that part of the
pattern has zeros in the upper 16 bits.
This allows tablegen to automatically generate more permutations of this pattern.
The associative variant expansion is limited to 3 children.
Commit: e797c716091b41af7901aa88c4739bed97661436
https://github.com/llvm/llvm-project/commit/e797c716091b41af7901aa88c4739bed97661436
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/IntegrationTest/test.cpp
Log Message:
-----------
Reland "[libc] make integration test malloc work properly when threaded" (#152236)
Reverts llvm/llvm-project#152096
Commit: 3339a0045d66c0e56081b699b8535aecfb95ef85
https://github.com/llvm/llvm-project/commit/3339a0045d66c0e56081b699b8535aecfb95ef85
Author: Vincent <llvm at viceroygroup.ca>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/Frontend/backend-attribute-error-warning-optimize.c
Log Message:
-----------
[clang] Respect [[gnu::error]] on functions passed to [[gnu::cleanup]] (#152082)
Forward SourceLocation to `EmitCall` so that clang triggers an error
when a function inside `[[gnu::cleanup(func)]]` is annotated with
`[[gnu::error("some message")]]`.
resolves #146520
Commit: 2959051e655a5c77401285a68bab2027aa958b88
https://github.com/llvm/llvm-project/commit/2959051e655a5c77401285a68bab2027aa958b88
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/test/API/lang/cpp/extern_c/main.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/debug-types-address-ranges.s
Log Message:
-----------
[lldb] Preserve original symbol of Mangled function names (#152201)
Fixes a bug that surfaces in frame recognizers.
Details about the bug:
A new frame recognizer is configured to match a specific symbol
(`swift_willThrow`). This is an `extern "C"` symbol defined in a C++
source file. When Swift is built with debug info, the function
`ParseFunctionFromDWARF` will use the debug info to construct a function
name that looks like a C++ declaration (`::swift_willThrow(void *,
SwiftError**)`). The `Mangled` instance will have this string as its
`m_demangled` field, and have _no_ string for its `m_mangled` field.
The result is the frame recognizer would not match the symbol to the
name (`swift_willThrow` != `::swift_willThrow(void *, SwiftError**)`.
By changing `ParseFunctionFromDWARF` to assign both a demangled name and
a mangled, frame recognizers can successfully match symbols in this
configuration.
Commit: 255be51f3f64ff6ef20c6379c3f3fdae5504813b
https://github.com/llvm/llvm-project/commit/255be51f3f64ff6ef20c6379c3f3fdae5504813b
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
Log Message:
-----------
[Flang][OpenMP] Fix missing dereference in isConstructWithTopLevelTarget
This was causing false negatives, yielding incorrect programs.
Commit: f9386d3b1e5977a7920465d072761fc5d70968dc
https://github.com/llvm/llvm-project/commit/f9386d3b1e5977a7920465d072761fc5d70968dc
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/cmake/modules/LLVMProcessSources.cmake
M llvm/include/llvm/Support/DebugLog.h
Log Message:
-----------
Revert "Revert "Strip the full path from __FILE__ in the LDBG macro and keep only the filename (#150677)""
This reverts commit a15b629527a975ec592c95d69d04ef3537915d1d.
The revert made things worse. Oops.
Commit: 8c9feb7e13b2c01fd1cd2ecc5f699ba5cc32e369
https://github.com/llvm/llvm-project/commit/8c9feb7e13b2c01fd1cd2ecc5f699ba5cc32e369
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineLoopInfo.h
M llvm/include/llvm/IR/PassManager.h
Log Message:
-----------
[llvm] get Linux `-fvisibility=hidden` shared library build working with GCC (#151365)
## Purpose
Add missing annotations so that LLVM can build as a shared library on
Linux with `-fvisibility=hidden` using GCC.
## Overview
Add a couple of annotations that make GCC happy:
* Add `LLVM_TEMPLATE_ABI` to the `extern` declaration of
`LoopBase<MachineBasicBlock, MachineLoop>`. The instantiation of this of
this template is already properly annotated with `LLVM_EXPORT_TEMPLATE`
and this declaration was missed. This omission did not cause problems
with MSVC or Clang but results in undefined reference to the destructor
with GCC.
* Add `LLVM_ATTRIBUTE_VISIBILITY_DEFAULT` to the template declaration
for `InnerAnalysisManagerProxy::Key`. `LLVM_ABI` cannot be used here
because MSVC disallows storage-class specifiers on class members outside
of the class declaration (C2720). Since
`LLVM_ATTRIBUTE_VISIBILITY_DEFAULT` only applies to non-Windows targets,
it can be used in its place. Omitting this annotation does not cause
problems with Clang but results in undefined reference to
`InnerAnalysisManagerProxy::Key` fields for for explicitly instantiated
declarations when compiling with GCC.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
## Validation
On Fedora 42, build with GCC `LLVM_BUILD_LLVM_DYLIB=ON`,
`LLVM_BUILD_LLVM_DYLIB_VIS=ON`, and `LLVM_LINK_LLVM_DYLIB=ON`.
```
cmake -B build -S llvm -G Ninja -DLLVM_ENABLE_PROJECTS="llvm;clang;clang-tools-extra;lldb;lld" -DLLVM_OPTIMIZED_TABLEGEN=ON -DLLVM_BUILD_TESTS=ON -DLLVM_BUILD_EXAMPLES=ON -DLLDB_ENABLE_PYTHON=NO -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_BUILD_LLVM_DYLIB_VIS=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCLANG_LINK_CLANG_DYLIB=OFF -DCMAKE_BUILD_TYPE=Release
ninja -C build
```
Commit: a3c386d241a103481604dc970ada168b786c56c1
https://github.com/llvm/llvm-project/commit/a3c386d241a103481604dc970ada168b786c56c1
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/Frontend/HLSL/HLSLBinding.h
M llvm/include/llvm/Frontend/HLSL/RootSignatureMetadata.h
M llvm/include/llvm/Frontend/Offloading/PropertySet.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
M llvm/include/llvm/Transforms/Utils/SplitModuleByCategory.h
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[llvm] annotate recently added interfaces for DLL export (#152179)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates symbols that were recently
added to LLVM and fixes incorrectly annotated symbols.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
## Overview
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS:
- Add `LLVM_EXPORT_TEMPLATE` and `LLVM_TEMPLATE_ABI` annotations to
explicitly instantiated instances of `llvm::object::SFrameParser`.
## Validation
On Windows 11:
```
cmake -B build -S llvm -G Ninja -DLLVM_ENABLE_PROJECTS="llvm;clang;clang-tools-extra;lldb;lld" -DLLVM_OPTIMIZED_TABLEGEN=ON -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_BUILD_LLVM_DYLIB_VIS=ON -DLLVM_LINK_LLVM_DYLIB=ON -DLLVM_BUILD_TESTS=ON -DCLANG_LINK_CLANG_DYLIB=OFF -DCMAKE_BUILD_TYPE=Release
ninja -C build
```
Commit: cd1363bf42aad4cc55f6fe6892f63de9b32977ae
https://github.com/llvm/llvm-project/commit/cd1363bf42aad4cc55f6fe6892f63de9b32977ae
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/test/Dialect/Bufferization/canonicalize.mlir
Log Message:
-----------
[mlir][Bufferization] Support cast from ranked to unranked in canonic… (#152257)
https://github.com/llvm/llvm-project/pull/150511 changed the
canonicalization pattern to not allow casts from ranked to unranked
anymore. This patch restores this functionality, while still keeping the
fix to preserve memory space and layout.
Commit: fe0d67b75413c95d79742cadb0d006377ae8f025
https://github.com/llvm/llvm-project/commit/fe0d67b75413c95d79742cadb0d006377ae8f025
Author: Martin Storsjö <martin at martin.st>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[libcxx] [ci] Update Clang on Windows (#152206)
Update clang-cl/LLVM to 20.1.8.
Update to llvm-mingw 20250709 (with also is built on LLVM 20.1.8). This
release of llvm-mingw is the first release to be built with PGO, making
it significantly faster for the CI runs (on par with the clang-cl
cases); running the current tests in around 1 h rather than 1 h 20 min.
Commit: 90d1d2350721f684bb6697b9db7ce36df252fbed
https://github.com/llvm/llvm-project/commit/90d1d2350721f684bb6697b9db7ce36df252fbed
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/SemaCXX/constexpr-value-init.cpp
Log Message:
-----------
[clang][bytecode] Overrride locs for certain CXXConstructExprs (#152185)
Do it only if we will end up skipping the initializer anyway because
it's a trivial copy or move constructor.
Commit: 753885eaaf8745a64f502a3a65fa89456d632cd5
https://github.com/llvm/llvm-project/commit/753885eaaf8745a64f502a3a65fa89456d632cd5
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
Log Message:
-----------
[lldb][test] Skip TestQueueFromStdModule.py pre-Clang-17
Failing on the macOS matrix bot for Clang-15:
```
07:38:40 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py", line 38, in test
07:38:40 self.expect_expr(
07:38:40 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2571, in expect_expr
07:38:40 value_check.check_value(self, eval_result, str(eval_result))
07:38:40 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 301, in check_value
07:38:40 test_base.assertSuccess(val.GetError())
07:38:40 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2606, in assertSuccess
07:38:40 self.fail(self._formatMessage(msg, "'{}' is not success".format(error)))
07:38:40 AssertionError: 'error: /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/module.modulemap:93:11: header 'stdarg.h' not found
07:38:40 93 | header "stdarg.h" // note: supplied by the compiler
07:38:40 | ^
07:38:40 /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1501_build/include/c++/v1/ctype.h:38:15: submodule of top-level module 'Darwin' implicitly imported here
07:38:40 38 | #include_next <ctype.h>
07:38:40 | ^
07:38:40 error: While building module 'std' imported from <lldb wrapper prefix>:42:
```
Commit: ff5fa711b3078b3305aa5b5a2d02f9d97421c662
https://github.com/llvm/llvm-project/commit/ff5fa711b3078b3305aa5b5a2d02f9d97421c662
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/AArch64/fp8-sme2-cvtn.ll
M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
M llvm/test/CodeGen/AArch64/framelayout-sve.mir
M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
M llvm/test/CodeGen/AArch64/luti-with-sme2.ll
M llvm/test/CodeGen/AArch64/perm-tb-with-sme2.ll
M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-cvt.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-qcvt.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-qrshr.ll
M llvm/test/CodeGen/AArch64/sme2-multivec-regalloc.mir
M llvm/test/CodeGen/AArch64/split-vector-insert.ll
M llvm/test/CodeGen/AArch64/stack-hazard.ll
M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
M llvm/test/CodeGen/AArch64/sve-alloca.ll
M llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
M llvm/test/CodeGen/AArch64/sve-fptosi-sat.ll
M llvm/test/CodeGen/AArch64/sve-fptoui-sat.ll
M llvm/test/CodeGen/AArch64/sve-insert-element.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
M llvm/test/CodeGen/AArch64/sve-ldnf1.mir
M llvm/test/CodeGen/AArch64/sve-ldstnt1.mir
M llvm/test/CodeGen/AArch64/sve-llrint.ll
M llvm/test/CodeGen/AArch64/sve-lrint.ll
M llvm/test/CodeGen/AArch64/sve-pred-arith.ll
M llvm/test/CodeGen/AArch64/sve-split-extract-elt.ll
M llvm/test/CodeGen/AArch64/sve-split-insert-elt.ll
M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
M llvm/test/CodeGen/AArch64/sve-trunc.ll
M llvm/test/CodeGen/AArch64/sve-vector-compress.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-loads.ll
M llvm/test/CodeGen/AArch64/unwind-preserved.ll
Log Message:
-----------
[AArch64][SVE] Tweak how SVE CFI expressions are emitted (#151677)
The main change in this patch is we go from emitting the expression:
@ cfa - NumBytes - NumScalableBytes * VG
To:
@ cfa - VG * NumScalableBytes - NumBytes
That is, VG is the first expression. This is for a future patch that
adds an alternative way to resolve VG (which uses the CFA, so it is
convenient for the CFA to be at the top of the stack).
Since doing this is fairly churn-heavy, I took the opportunity to also
save up to 4-bytes per SVE CFI expression. This is done by folding
LEB128 constants to literals when in the range 0 to 31, and using the
offset in `DW_OP_breg*` expressions.
Commit: 0461cd3d1d6f722b2833dd913c1f974aeebcf82a
https://github.com/llvm/llvm-project/commit/0461cd3d1d6f722b2833dd913c1f974aeebcf82a
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
A llvm/test/CodeGen/AMDGPU/amdgcn-call-whole-wave.ll
M llvm/test/CodeGen/AMDGPU/irtranslator-whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/isel-whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
A llvm/test/Verifier/AMDGPU/intrinsic-amdgcn-call-whole-wave.ll
Log Message:
-----------
[AMDGPU] Intrinsic for launching whole wave functions (#145859)
Add the llvm.amdgcn.call.whole.wave intrinsic for calling whole wave
functions. This will take as its first argument the callee with the
amdgpu_gfx_whole_wave calling convention, followed by the call
parameters which must match the signature of the callee except for the
first function argument (the i1 original EXEC mask, which doesn't need
to be passed in). Indirect calls are not allowed.
Make direct calls to amdgpu_gfx_whole_wave functions a verifier error.
Unspeakable horrors happen around calls from whole wave functions, the
plan is to improve the handling of caller/callee-saved registers in
a future patch.
Tail calls are also handled in a future patch.
Commit: df34eaca5961f4f2d201191fe3ad43651066fb21
https://github.com/llvm/llvm-project/commit/df34eaca5961f4f2d201191fe3ad43651066fb21
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Drop poison flags when lowering absolute difference patterns. (#152130)
As a follow-up to #151177, when lowering SELECT_CC nodes of absolute
difference patterns, drop poison-generating flags from the negated
operand to avoid inadvertently propagating poison.
As discussed in the PR above, I didn't find practical issues with the
current code, but it seems safer to do this preemptively.
Commit: 907b7d0f07bb72a4a9732e234621adb589f77d42
https://github.com/llvm/llvm-project/commit/907b7d0f07bb72a4a9732e234621adb589f77d42
Author: eleviant <56861949+eleviant at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/bad-constraint.ll
A llvm/test/CodeGen/ARM/inlineasm-vec-to-double.ll
Log Message:
-----------
[ARM] Fix inline asm register validation for vector types (#152175)
Patch allows following piece of code to be successfully compiled:
```
register uint8x8_t V asm("d3") = vdup_n_u8(0xff);
```
Commit: 4077e66432a1d17543d0cef4b5a9280caff6e974
https://github.com/llvm/llvm-project/commit/4077e66432a1d17543d0cef4b5a9280caff6e974
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/source/Expression/IRExecutionUnit.cpp
A lldb/test/API/arm/thumb-function-addr/Makefile
A lldb/test/API/arm/thumb-function-addr/TestThumbFunctionAddr.py
A lldb/test/API/arm/thumb-function-addr/main.c
Log Message:
-----------
[lldb] Treat address found via function name as a callable address (#151973)
I discovered this building the lldb test suite with `-mthumb` set, so
that all test programs are purely Arm Thumb code.
When C++ expressions did a function lookup, they took a different path
from C programs. That path happened to land on the line that I've
changed. Where we try to look something up as a function, but don't then
resolve the address as if it's a callable.
With Thumb, if you do the non-callable lookup, the bottom bit won't be
set. This means when lldb's expression wrapper function branches into
the found function, it'll be in Arm mode trying to execute Thumb code.
Thumb is the only instance where you'd notice this. Aside from maybe
MicroMIPS or MIPS16 perhaps but I expect that there are 0 users of that
and lldb.
I have added a new test case that will simulate this situation in
"normal" Arm builds so that it will get run on Linaro's buildbot.
This change also fixes the following existing tests when `-mthumb` is
used:
```
lldb-api :: commands/expression/anonymous-struct/TestCallUserAnonTypedef.py
lldb-api :: commands/expression/argument_passing_restrictions/TestArgumentPassingRestrictions.py
lldb-api :: commands/expression/call-function/TestCallStopAndContinue.py
lldb-api :: commands/expression/call-function/TestCallUserDefinedFunction.py
lldb-api :: commands/expression/char/TestExprsChar.py
lldb-api :: commands/expression/class_template_specialization_empty_pack/TestClassTemplateSpecializationParametersHandling.py
lldb-api :: commands/expression/context-object/TestContextObject.py
lldb-api :: commands/expression/formatters/TestFormatters.py
lldb-api :: commands/expression/import_base_class_when_class_has_derived_member/TestImportBaseClassWhenClassHasDerivedMember.py
lldb-api :: commands/expression/inline-namespace/TestInlineNamespace.py
lldb-api :: commands/expression/namespace-alias/TestInlineNamespaceAlias.py
lldb-api :: commands/expression/no-deadlock/TestExprDoesntBlock.py
lldb-api :: commands/expression/pr35310/TestExprsBug35310.py
lldb-api :: commands/expression/static-initializers/TestStaticInitializers.py
lldb-api :: commands/expression/test/TestExprs.py
lldb-api :: commands/expression/timeout/TestCallWithTimeout.py
lldb-api :: commands/expression/top-level/TestTopLevelExprs.py
lldb-api :: commands/expression/unwind_expression/TestUnwindExpression.py
lldb-api :: commands/expression/xvalue/TestXValuePrinting.py
lldb-api :: functionalities/thread/main_thread_exit/TestMainThreadExit.py
lldb-api :: lang/cpp/call-function/TestCallCPPFunction.py
lldb-api :: lang/cpp/chained-calls/TestCppChainedCalls.py
lldb-api :: lang/cpp/class-template-parameter-pack/TestClassTemplateParameterPack.py
lldb-api :: lang/cpp/constructors/TestCppConstructors.py
lldb-api :: lang/cpp/function-qualifiers/TestCppFunctionQualifiers.py
lldb-api :: lang/cpp/function-ref-qualifiers/TestCppFunctionRefQualifiers.py
lldb-api :: lang/cpp/global_operators/TestCppGlobalOperators.py
lldb-api :: lang/cpp/llvm-style/TestLLVMStyle.py
lldb-api :: lang/cpp/multiple-inheritance/TestCppMultipleInheritance.py
lldb-api :: lang/cpp/namespace/TestNamespace.py
lldb-api :: lang/cpp/namespace/TestNamespaceLookup.py
lldb-api :: lang/cpp/namespace_conflicts/TestNamespaceConflicts.py
lldb-api :: lang/cpp/operators/TestCppOperators.py
lldb-api :: lang/cpp/overloaded-functions/TestOverloadedFunctions.py
lldb-api :: lang/cpp/rvalue-references/TestRvalueReferences.py
lldb-api :: lang/cpp/static_methods/TestCPPStaticMethods.py
lldb-api :: lang/cpp/template/TestTemplateArgs.py
lldb-api :: python_api/thread/TestThreadAPI.py
```
There are other failures that are due to different problems, and this
change does not make those worse.
(I have no plans to run the test suite with `-mthumb` regularly, I just
did it to test some other refactoring)
Commit: b24ad98caa7cdc48ed9034310c8876811d6e52aa
https://github.com/llvm/llvm-project/commit/b24ad98caa7cdc48ed9034310c8876811d6e52aa
Author: Dan Blackwell <dan_blackwell at apple.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/CMakeLists.txt
Log Message:
-----------
[sanitizer_common] Disable SanitizerCommon lsan tests on Apple arm64 (#151929)
There is an issue tracking lsan incompatibility on these platforms:
https://github.com/llvm/llvm-project/issues/131678. Many of these tests
are currently failing and creating CI noise.
rdar://157252316
Commit: 49d5dd37f8bdd961d11cdf4df95d26982b253e97
https://github.com/llvm/llvm-project/commit/49d5dd37f8bdd961d11cdf4df95d26982b253e97
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
M lldb/unittests/Instruction/ARM64/TestAArch64Emulator.cpp
Log Message:
-----------
Reland "[lldb] Fix auto advance PC in `EmulateInstructionARM64` if PC >= 4G (#151460)"
This reverts commit 600976f4bfb06526c283dcc4efc4801792f08ca5.
The test was crashing trying to access any element of the GPR struct.
(gdb) disas
Dump of assembler code for function _ZN7testing8internal11CmpHelperEQIyyEENS_15AssertionResultEPKcS4_RKT_RKT0_:
0x00450afc <+0>: push {r4, r5, r6, r7, r8, r9, r10, r11, lr}
0x00450b00 <+4>: sub sp, sp, #60 ; 0x3c
0x00450b04 <+8>: ldr r5, [sp, #96] ; 0x60
=> 0x00450b08 <+12>: ldm r3, {r4, r7}
0x00450b0c <+16>: ldm r5, {r6, r9}
0x00450b10 <+20>: eor r7, r7, r9
0x00450b14 <+24>: eor r6, r4, r6
0x00450b18 <+28>: orrs r7, r6, r7
(gdb) p/x r3
$3 = 0x3e300f6e
"However, load and store multiple instructions (LDM and STM) and load and store double-word (LDRD or STRD) must be aligned to at least a word boundary."
https://developer.arm.com/documentation/den0013/d/Porting/Alignment
>>> 0x3e300f6e % 4
2
Program received signal SIGBUS, Bus error.
0x00450b08 in testing::AssertionResult testing::internal::CmpHelperEQ<unsigned long long, unsigned long long>(char const*, char const*, unsigned long long const&, unsigned long long const&) ()
The struct is packed with 1 byte alignment, but it needs to start at an aligned address for us
to ldm from it. So I've done that with alignas.
Also fixed some compiler warnings in the test itself.
Commit: dace67e941f309318b5ce200c1f4e180a4471d20
https://github.com/llvm/llvm-project/commit/dace67e941f309318b5ce200c1f4e180a4471d20
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/include/lldb/Utility/Scalar.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectConstResult.h
M lldb/source/Core/Value.cpp
M lldb/source/Utility/Scalar.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectConstResult.cpp
M lldb/unittests/Utility/ScalarTest.cpp
Log Message:
-----------
[lldb] Add `ValueObject::CreateValueObjectFromScalar` and fix `Scalar::GetData` (#151350)
Add `ValueObject::CreateValueObjectFromScalar` function and adjust
`Scalar::GetData` to be able to both extend and truncate the data bytes
in Scalar to the specified size.
Commit: 35110445081152f7f2d2a9d053bb6fa718216d7b
https://github.com/llvm/llvm-project/commit/35110445081152f7f2d2a9d053bb6fa718216d7b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Fix incorrect down cast in __tree::operator=
This has been introduced by #151304. This problem is diagnosed by UBSan
with optimizations enabled. Since we run UBSan only with optimizations
disabled currently, this isn't caught in our CI. We should look into
enabling UBSan with optimizations enabled to catch these sorts of issues
before landing a patch.
Commit: 5499a70c39bfea10a0139ed6e98a267b9473448d
https://github.com/llvm/llvm-project/commit/5499a70c39bfea10a0139ed6e98a267b9473448d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
Revert "[libc++] Fix incorrect down cast in __tree::operator="
This reverts commit 35110445081152f7f2d2a9d053bb6fa718216d7b.
I've accidentally pushed to the wrong branch.
Commit: a5d85a6ab5daf67b67da654c90adc494d37833c8
https://github.com/llvm/llvm-project/commit/a5d85a6ab5daf67b67da654c90adc494d37833c8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/Headers/avxintrin.h
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/builtin_test_helpers.h
Log Message:
-----------
[Headers][X86] Allow AVX _mm256_set* intrinsics to be used in constexpr (#152173)
Commit: 14cd1339318b16e08c1363ec6896bd7d1e4ae281
https://github.com/llvm/llvm-project/commit/14cd1339318b16e08c1363ec6896bd7d1e4ae281
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
R llvm/test/CodeGen/AMDGPU/amdgcn-call-whole-wave.ll
M llvm/test/CodeGen/AMDGPU/irtranslator-whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/isel-whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
R llvm/test/Verifier/AMDGPU/intrinsic-amdgcn-call-whole-wave.ll
Log Message:
-----------
Revert "[AMDGPU] Intrinsic for launching whole wave functions" (#152286)
Reverts llvm/llvm-project#145859 because it broke a HIP test:
```
[34/59] Building CXX object External/HIP/CMakeFiles/TheNextWeek-hip-6.3.0.dir/workload/ray-tracing/TheNextWeek/main.cc.o
FAILED: External/HIP/CMakeFiles/TheNextWeek-hip-6.3.0.dir/workload/ray-tracing/TheNextWeek/main.cc.o
/home/botworker/bbot/clang-hip-vega20/botworker/clang-hip-vega20/llvm/bin/clang++ -DNDEBUG -O3 -DNDEBUG -w -Werror=date-time --rocm-path=/opt/botworker/llvm/External/hip/rocm-6.3.0 --offload-arch=gfx908 --offload-arch=gfx90a --offload-arch=gfx1030 --offload-arch=gfx1100 -xhip -mfma -MD -MT External/HIP/CMakeFiles/TheNextWeek-hip-6.3.0.dir/workload/ray-tracing/TheNextWeek/main.cc.o -MF External/HIP/CMakeFiles/TheNextWeek-hip-6.3.0.dir/workload/ray-tracing/TheNextWeek/main.cc.o.d -o External/HIP/CMakeFiles/TheNextWeek-hip-6.3.0.dir/workload/ray-tracing/TheNextWeek/main.cc.o -c /home/botworker/bbot/clang-hip-vega20/llvm-test-suite/External/HIP/workload/ray-tracing/TheNextWeek/main.cc
fatal error: error in backend: Cannot select: intrinsic %llvm.amdgcn.readfirstlane
```
Commit: 1f1b903a645e260195bbdd6c74ae1f34caacec79
https://github.com/llvm/llvm-project/commit/1f1b903a645e260195bbdd6c74ae1f34caacec79
Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
R clang/test/CodeGen/PowerPC/check-zero-vector.c
M llvm/test/CodeGen/PowerPC/check-zero-vector.ll
Log Message:
-----------
[NFC][PowerPC] Cleaning up test file and removing redundant front-end test (#151971)
NFC patch to clean up extra lines of code in the file
`llvm/test/CodeGen/PowerPC/check-zero-vector.ll` as the current one has
loop unrolled.
Also removing the file `clang/test/CodeGen/PowerPC/check-zero-vector.c`
as the patch affects only the backend.
Co-authored-by: himadhith <himadhith.v at ibm.com>
Commit: 9b7b3828716a127e6a9155b516f624a0f5a30887
https://github.com/llvm/llvm-project/commit/9b7b3828716a127e6a9155b516f624a0f5a30887
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Log Message:
-----------
Fix MSVC truncation to char warning. NFC.
Commit: 777c320e6c96e2de9d4c6dc52d6a85a5ef3b8569
https://github.com/llvm/llvm-project/commit/777c320e6c96e2de9d4c6dc52d6a85a5ef3b8569
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
Log Message:
-----------
[VPlan] Address comments missed in #142309.
Address additional comments from
https://github.com/llvm/llvm-project/pull/142309.
Commit: 2b4b3fd03f716b9ddbb2a69ccfbe144312bedd12
https://github.com/llvm/llvm-project/commit/2b4b3fd03f716b9ddbb2a69ccfbe144312bedd12
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
Log Message:
-----------
[lldb][test] Re-enable TestQueueFromStdModule.py
Tried this with newer Clang versions locally on my Darwin machine and the tests passes. Try re-enabling again.
Commit: b242150b075a8a720b00821682a9469258bbcd30
https://github.com/llvm/llvm-project/commit/b242150b075a8a720b00821682a9469258bbcd30
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
Log Message:
-----------
Revert "[lldb][test] Re-enable TestQueueFromStdModule.py"
This reverts commit 2b4b3fd03f716b9ddbb2a69ccfbe144312bedd12.
Turns out the CI still fails with this test enabled:
```
11:08:50 File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py", line 37, in test
11:08:50 self.expect_expr(
11:08:50 File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2571, in expect_expr
11:08:50 value_check.check_value(self, eval_result, str(eval_result))
11:08:50 File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 301, in check_value
11:08:50 test_base.assertSuccess(val.GetError())
11:08:50 File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2606, in assertSuccess
11:08:50 self.fail(self._formatMessage(msg, "'{}' is not success".format(error)))
11:08:50 AssertionError: 'error: /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/module.modulemap:93:11: header 'stdarg.h' not found
11:08:50 93 | header "stdarg.h" // note: supplied by the compiler
11:08:50 | ^
11:08:50 /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/lib/clang/22/include/stdint.h:56:16: submodule of top-level module 'Darwin' implicitly imported here
11:08:50 56 | # include_next <stdint.h>
11:08:50 | ^
11:08:50 error: While building module 'std' imported from <lldb wrapper prefix>:42:
```
Commit: 88e0e10b723178011f8259d487f95d7f3b2b9d8d
https://github.com/llvm/llvm-project/commit/88e0e10b723178011f8259d487f95d7f3b2b9d8d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .ci/compute_projects_test.py
M .git-blame-ignore-revs
M .github/CODEOWNERS
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/libcxx-build-containers.yml
M .github/workflows/release-tasks.yml
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Core/Exceptions.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/missing-code-marker.s
M bolt/test/X86/debug-fission-single-convert.s
M bolt/test/X86/debug-fission-single.s
M bolt/test/X86/inlined-function-mixed.test
M bolt/test/binary-analysis/AArch64/cmdline-args.test
M bolt/test/link_fdata.py
M bolt/test/lsda-section-name.cpp
M clang-tools-extra/clang-apply-replacements/tool/ClangApplyReplacementsMain.cpp
M clang-tools-extra/clang-change-namespace/tool/ClangChangeNamespace.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
M clang-tools-extra/clang-doc/assets/comment-template.mustache
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp
M clang-tools-extra/clang-move/tool/ClangMove.cpp
M clang-tools-extra/clang-reorder-fields/tool/ClangReorderFields.cpp
M clang-tools-extra/clang-tidy/.clang-tidy
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
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/InvalidEnumDefaultInitializationCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.h
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.h
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clangd/FindSymbols.cpp
M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
A clang-tools-extra/clangd/refactor/tweaks/OverridePureVirtuals.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
A clang-tools-extra/clangd/unittests/tweaks/OverridePureVirtualsTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/TweakTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/compare-pointer-to-member-virtual-function.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-init.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/crtp-constructor-accessibility.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/invalid-enum-default-initialization.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/redundant-branch-condition.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/standalone-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/tagged-union-member-count.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/no-recursion.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/pass-by-value.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/replace-auto-ptr.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/replace-disallow-copy-and-assign-macro.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/type-traits.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-auto.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-trailing-return-type.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-copy-initialization.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/function-cognitive-complexity.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/misleading-indentation.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/qualified-auto.rst
M clang-tools-extra/include-cleaner/lib/Record.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
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
M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Circle.h
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
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-tidy/checkers/bugprone/Inputs/tagged-union-member-count/stdnamespace.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/tagged-union-member-count/system/pthread.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/invalid-enum-default-initialization.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/invalid-enum-default-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.m
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.mm
M clang-tools-extra/test/clang-tidy/checkers/llvm/use-new-mlir-op-builder.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/header-include-cycle.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.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/use-designated-initializers.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
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang-tools-extra/test/clang-tidy/checkers/portability/restrict-system-includes-transitive.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-symlink.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto.cpp
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
M clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/export-relpath.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/list-checks.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/static-analyzer-config.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/static-analyzer.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp
M clang-tools-extra/test/modularize/NoProblemsAssistant.modularize
M clang-tools-extra/unittests/clang-apply-replacements/ApplyReplacementsTest.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
M clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
M clang-tools-extra/unittests/include/common/VirtualFileHelper.h
M clang/cmake/caches/Release.cmake
A clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangRepl.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/HardwareAssistedAddressSanitizerDesign.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/ShadowCallStack.rst
M clang/docs/ThinLTO.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/user-docs/CrossTranslationUnit.rst
M clang/docs/index.rst
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclID.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/CustomizableOptional.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/OffloadArch.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/CIR/CIRGenerator.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/CommonArgs.h
A clang/include/clang/Driver/CudaInstallationDetector.h
A clang/include/clang/Driver/LazyDetector.h
M clang/include/clang/Driver/Options.td
A clang/include/clang/Driver/RocmInstallationDetector.h
A clang/include/clang/Driver/SyclInstallationDetector.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/FrontendAction.h
M clang/include/clang/Frontend/PrecompiledPreamble.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Ownership.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaARM.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaInternal.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaWasm.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBlock.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpShared.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/InterpState.cpp
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/State.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExprObjC.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/OSLog.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/lib/Analysis/RetainSummaryManager.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
M clang/lib/CodeGen/SanitizerHandler.h
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.h
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Gnu.h
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/lib/Driver/ToolChains/HIPSPV.cpp
R clang/lib/Driver/ToolChains/LazyDetector.h
M clang/lib/Driver/ToolChains/MSVC.h
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MinGW.h
R clang/lib/Driver/ToolChains/ROCm.h
M clang/lib/Driver/ToolChains/SYCL.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/ASTMerge.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/avx10_2_512niintrin.h
M clang/lib/Headers/avx10_2niintrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/opencl-c-base.h
M clang/lib/Headers/opencl-c.h
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaWasm.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Checkers/AssumeModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/StoreToImmutableChecker.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/lib/Tooling/Core/Replacement.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/lib/Tooling/Refactoring.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/test/AST/ByteCode/codegen.cpp
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
M clang/test/AST/ByteCode/functions.cpp
M clang/test/AST/ByteCode/hlsl.hlsl
M clang/test/AST/ByteCode/intap.cpp
M clang/test/AST/ByteCode/lifetimes.cpp
M clang/test/AST/ByteCode/mutable.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/nullable.cpp
M clang/test/AST/ByteCode/unions.cpp
A clang/test/AST/HLSL/vk_binding_attr.hlsl
A clang/test/ASTMerge/enum/Inputs/enum3.c
A clang/test/ASTMerge/enum/Inputs/enum4.c
A clang/test/ASTMerge/enum/test2.c
M clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
M clang/test/Analysis/Inputs/expected-plists/NewDelete-path-notes.cpp.plist
M clang/test/Analysis/Inputs/expected-plists/malloc-plist.c.plist
M clang/test/Analysis/Inputs/overloaded-delete-in-header.h
M clang/test/Analysis/Malloc+MismatchedDeallocator+NewDelete.cpp
M clang/test/Analysis/NewDelete-checker-test.cpp
M clang/test/Analysis/NewDelete-intersections.mm
M clang/test/Analysis/NewDelete-path-notes.cpp
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/builtin_assume.cpp
M clang/test/Analysis/cxx23-assume-attribute.cpp
M clang/test/Analysis/diagnostics/dtors.cpp
M clang/test/Analysis/dtor.cpp
A clang/test/Analysis/element-region-address-space.c
A clang/test/Analysis/engine/gh151711.cpp
M clang/test/Analysis/getline-alloc.c
M clang/test/Analysis/gmalloc.c
M clang/test/Analysis/malloc-annotations.c
M clang/test/Analysis/malloc-annotations.cpp
M clang/test/Analysis/malloc-free-after-return.cpp
M clang/test/Analysis/malloc-interprocedural.c
M clang/test/Analysis/malloc-plist.c
M clang/test/Analysis/malloc-refcounted.c
M clang/test/Analysis/malloc.c
M clang/test/Analysis/malloc.mm
M clang/test/Analysis/new.cpp
M clang/test/Analysis/placement-new.cpp
M clang/test/Analysis/retain-count-alloc.cpp
M clang/test/Analysis/self-assign.cpp
M clang/test/Analysis/stack-frame-context-revision.cpp
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/std-string.cpp
A clang/test/Analysis/store-to-immutable-basic.c
A clang/test/Analysis/store-to-immutable-basic.cpp
A clang/test/Analysis/store-to-immutable-lambda-init.cpp
M clang/test/Analysis/undef-call.c
M clang/test/C/C23/n3037.c
A clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
M clang/test/CIR/CodeGen/array-ctor.cpp
A clang/test/CIR/CodeGen/array-dtor.cpp
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/builtin_bit.cpp
M clang/test/CIR/CodeGen/builtin_call.cpp
M clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/cleanup.cpp
M clang/test/CIR/CodeGen/complex-cast.cpp
A clang/test/CIR/CodeGen/complex-mul-div.cpp
M clang/test/CIR/CodeGen/complex-unary.cpp
M clang/test/CIR/CodeGen/ctor-alias.cpp
A clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
M clang/test/CIR/CodeGen/dtor-alias.cpp
A clang/test/CIR/CodeGen/empty.cpp
A clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
A clang/test/CIR/CodeGen/no-prototype.c
A clang/test/CIR/CodeGen/struct-init.cpp
A clang/test/CIR/CodeGen/variable-decomposition.cpp
A clang/test/CIR/CodeGen/virtual-function-calls.cpp
A clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
A clang/test/CIR/CodeGenOpenACC/compute-private-clause-templates.cpp
A clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/host_data.c
A clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
A clang/test/CIR/IR/array-dtor.cir
M clang/test/CIR/IR/func.cir
A clang/test/CIR/Lowering/poison.cir
M clang/test/CIR/Transforms/bit.cir
M clang/test/CIR/Transforms/canonicalize.cir
A clang/test/CXX/basic/basic.link/p19.cppm
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p9.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp
M clang/test/CXX/expr/expr.const/p2-0x.cpp
M clang/test/ClangScanDeps/modules-debug-dir.c
M clang/test/CodeCompletion/skip-explicit-object-parameter.cpp
M clang/test/CodeGen/AArch64/neon-scalar-copy.c
M clang/test/CodeGen/AArch64/neon-vget.c
M clang/test/CodeGen/AArch64/poly64.c
R clang/test/CodeGen/PowerPC/check-zero-vector.c
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx10_2_512ni-builtins.c
M clang/test/CodeGen/X86/avx10_2ni-builtins.c
M clang/test/CodeGen/X86/builtin_test_helpers.h
M clang/test/CodeGen/arm_acle.c
A clang/test/CodeGen/arm_acle_swp.c
M clang/test/CodeGen/atomic-arm.c
M clang/test/CodeGen/attr-counted-by-for-pointers.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/bounds-checking-debuginfo.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/cfi-icall-generalize-debuginfo.c
M clang/test/CodeGen/cfi-icall-normalize2-debuginfo.c
A clang/test/CodeGen/dbg-info-all-calls-described.c
M clang/test/CodeGen/debug-info-abspath.c
M clang/test/CodeGen/debug-info-compilation-dir.c
M clang/test/CodeGen/debug-prefix-map.c
M clang/test/CodeGen/link-builtin-bitcode.c
M clang/test/CodeGen/ms_struct-long-double.c
M clang/test/CodeGen/pr45476.cpp
M clang/test/CodeGen/thinlto_backend.ll
M clang/test/CodeGen/ubsan-trap-debugloc.c
A clang/test/CodeGen/ubsan-trap-reason-add-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-alignment-assumption.c
A clang/test/CodeGen/ubsan-trap-reason-builtin-unreachable.c
A clang/test/CodeGen/ubsan-trap-reason-cfi-check-fail.c
A clang/test/CodeGen/ubsan-trap-reason-crash.cpp
A clang/test/CodeGen/ubsan-trap-reason-div-rem-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-dynamic-type-cache-miss.cpp
A clang/test/CodeGen/ubsan-trap-reason-flag.c
A clang/test/CodeGen/ubsan-trap-reason-float-cast-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-function-type-mismatch.c
A clang/test/CodeGen/ubsan-trap-reason-implicit-conversion.c
A clang/test/CodeGen/ubsan-trap-reason-invalid-builtin.c
A clang/test/CodeGen/ubsan-trap-reason-invalid-objc-cast.m
A clang/test/CodeGen/ubsan-trap-reason-load-invalid-value.c
A clang/test/CodeGen/ubsan-trap-reason-missing-return.cpp
A clang/test/CodeGen/ubsan-trap-reason-mul-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-negate-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-nonnull-arg.c
A clang/test/CodeGen/ubsan-trap-reason-nonnull-return.c
A clang/test/CodeGen/ubsan-trap-reason-nullability-arg.c
A clang/test/CodeGen/ubsan-trap-reason-nullability-return.c
A clang/test/CodeGen/ubsan-trap-reason-out-of-bounds.c
A clang/test/CodeGen/ubsan-trap-reason-pointer-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-shift-out-of-bounds.c
A clang/test/CodeGen/ubsan-trap-reason-sub-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-type-mismatch.c
A clang/test/CodeGen/ubsan-trap-reason-vla-bound-not-positive.c
M clang/test/CodeGenCUDA/bf16.cu
M clang/test/CodeGenCXX/debug-info-class.cpp
M clang/test/CodeGenCXX/debug-info-function-context.cpp
M clang/test/CodeGenCXX/debug-info-gline-tables-only.cpp
M clang/test/CodeGenCXX/difile_entry.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/dynamic-cast-exact-disabled.cpp
M clang/test/CodeGenCXX/mangle-concept.cpp
M clang/test/CodeGenCXX/module-intializer-pmf.cpp
M clang/test/CodeGenCXX/profile-remap.cpp
M clang/test/CodeGenCXX/vtable-debug-info-inheritance-simple.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
R clang/test/CodeGenHLSL/buffer-array-operator.hlsl
R clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
R clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/D3DCOLORtoUBYTE4.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
R clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
R clang/test/CodeGenHLSL/cbuffer.hlsl
R clang/test/CodeGenHLSL/cbuffer_align.hlsl
R clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
R clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
R clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
R clang/test/CodeGenHLSL/default_cbuffer.hlsl
R clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
R clang/test/CodeGenHLSL/resource-bindings.hlsl
A clang/test/CodeGenHLSL/resources/AppendStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/resources/ConsumeStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-constructor-opt.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-constructor.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-subscript.hlsl
A clang/test/CodeGenHLSL/resources/RWStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RasterizerOrderedStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-subscripts.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_align.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_and_namespaces.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_with_packoffset.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_with_static_global_and_function.hlsl
A clang/test/CodeGenHLSL/resources/default_cbuffer.hlsl
A clang/test/CodeGenHLSL/resources/default_cbuffer_with_layout.hlsl
A clang/test/CodeGenHLSL/resources/resource-bindings.hlsl
A clang/test/CodeGenHLSL/vk_binding_attr.hlsl
M clang/test/CodeGenObjC/exceptions.m
M clang/test/CodeGenOpenCL/amdgpu-features-readonly.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
A clang/test/CodeGenOpenCL/amdgpu-readonly-features-written-with-no-target.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-add.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-max.cl
M clang/test/Driver/HLSL/metal-converter.hlsl
A clang/test/Driver/Inputs/libclc/libclc.bc
A clang/test/Driver/Inputs/libclc/subdir/libclc.bc
M clang/test/Driver/aarch64-toolchain.c
A clang/test/Driver/arm-aarch64-multilib-invalid-arch.c
M clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/check-time-trace-ParseDeclarationOrFunctionDefinition.cpp
M clang/test/Driver/cl-showfilenames.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/compilation-dir.c
M clang/test/Driver/crash-report-modules.m
M clang/test/Driver/cuda-arch-translation.cu
M clang/test/Driver/cuda-options.cu
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-dependent-options.hip
M clang/test/Driver/hip-offload-compress-zlib.hip
M clang/test/Driver/hip-offload-compress-zstd.hip
M clang/test/Driver/hip-phases.hip
A clang/test/Driver/hipspv-link-static-library.hip
M clang/test/Driver/linker-wrapper-libs.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/lto-dwo.c
M clang/test/Driver/mingw-msvcrt.c
M clang/test/Driver/mingw-sysroot.cpp
M clang/test/Driver/modules.mm
A clang/test/Driver/opencl-libclc.cl
M clang/test/Driver/opt-record.c
M clang/test/Driver/wasm-features.c
A clang/test/FixIt/fixit-c++17.cpp
M clang/test/Frontend/backend-attribute-error-warning-optimize.c
A clang/test/Frontend/dump-minimization-hints-cpp20-modules.cpp
M clang/test/Frontend/dump-minimization-hints.cpp
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/__cpuidex_conflict.c
R clang/test/Interpreter/assigment-with-implicit-ctor.cpp
A clang/test/Interpreter/assignment-with-implicit-ctor.cpp
A clang/test/Interpreter/bad_percent_command.cpp
A clang/test/Interpreter/dynamic-library-bad-args.cpp
A clang/test/Interpreter/help.cpp
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
A clang/test/Modules/Exposure-2.cppm
A clang/test/Modules/Exposure.cppm
M clang/test/Modules/ExtDebugInfo.cpp
M clang/test/Modules/implicit-module-header-maps.cpp
A clang/test/Modules/pr151277.cpp
A clang/test/Modules/specializations-lazy-load-parentmap-crash-analyzer.cpp
A clang/test/Modules/specializations-lazy-load-parentmap-crash.cpp
M clang/test/OpenMP/metadirective_messages.cpp
M clang/test/PCH/debug-info-pch-container-path.c
M clang/test/PCH/debug-info-pch-path.c
M clang/test/Parser/cxx-template-template-recovery.cpp
M clang/test/Parser/cxx23-assume.cpp
M clang/test/Parser/cxx2a-concept-declaration.cpp
A clang/test/Parser/cxx2c-template-template-param.cpp
A clang/test/Parser/dep_template_spec_type.cpp
M clang/test/Preprocessor/Inputs/llvm-windres.h
A clang/test/Preprocessor/builtin_aux_info.cpp
M clang/test/Preprocessor/init-x86.c
M clang/test/Preprocessor/lang-std.cpp
A clang/test/Preprocessor/preprocess-cpp-output.c
A clang/test/Preprocessor/preprocess-pragma-cpp-output.c
A clang/test/Preprocessor/riscv-target-features-cv.c
M clang/test/Preprocessor/riscv-target-features-sifive.c
A clang/test/Preprocessor/riscv-target-features-thead.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/wasm-target-features.c
M clang/test/Profile/coverage-prefix-map.c
A clang/test/Sema/aarch64-sme-attrs-without-sve.cpp
A clang/test/Sema/amdgcn-va-list-type.c
M clang/test/Sema/attr-nonstring.c
A clang/test/Sema/builtins-arm-exclusive-124.c
A clang/test/Sema/builtins-arm-exclusive-4.c
A clang/test/Sema/builtins-arm-exclusive-none.c
M clang/test/Sema/builtins-arm-exclusive.c
M clang/test/Sema/builtins-wasm.c
M clang/test/Sema/constexpr-void-cast.c
M clang/test/Sema/for.c
A clang/test/Sema/riscv-interrupt-attr-rnmi.c
M clang/test/Sema/warn-unreachable_crash.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
M clang/test/SemaCXX/constexpr-value-init.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
A clang/test/SemaCXX/cxx2c-template-template-param.cpp
A clang/test/SemaCXX/noreturn-weverything.c
M clang/test/SemaCXX/warn-self-assign-builtin.cpp
M clang/test/SemaCXX/warn-self-assign-field-builtin.cpp
M clang/test/SemaCXX/warn-self-assign-field-overloaded.cpp
M clang/test/SemaCXX/warn-self-assign-overloaded.cpp
M clang/test/SemaCXX/warn-thread-safety-negative.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
M clang/test/SemaCXX/warn-unused-result.cpp
M clang/test/SemaHLSL/BuiltIns/D3DCOLORtoUBYTE4-errors.hlsl
A clang/test/SemaObjC/attr-nodiscard.m
A clang/test/SemaObjCXX/attr-nodiscard.mm
M clang/test/SemaOpenACC/data-construct-use_device-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/declare-construct.cpp
M clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-add-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-add-target-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-fmin-fmax-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-fmin-fmax-target-err.cl
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-module.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-pch.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/tools/cir-lsp-server/CMakeLists.txt
M clang/tools/cir-opt/cir-opt.cpp
M clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-fuzzer/handle-cxx/handle_cxx.cpp
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-repl/CMakeLists.txt
M clang/tools/clang-repl/ClangRepl.cpp
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/diagtool/TreeView.cpp
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/driver/cc1gen_reproducer_main.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M clang/tools/libclang/CXIndexDataConsumer.cpp
M clang/tools/libclang/CXIndexDataConsumer.h
M clang/tools/libclang/Indexing.cpp
M clang/tools/offload-arch/AMDGPUArchByHIP.cpp
M clang/tools/offload-arch/NVPTXArch.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ASTVectorTest.cpp
M clang/unittests/AST/CommentLexer.cpp
M clang/unittests/AST/CommentParser.cpp
M clang/unittests/AST/CommentTextTest.cpp
M clang/unittests/AST/DeclTest.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Analysis/MacroExpansionContextTest.cpp
M clang/unittests/Analysis/UnsafeBufferUsageTest.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/Basic/FileManagerTest.cpp
M clang/unittests/Basic/SarifTest.cpp
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/CodeGen/TestCompiler.h
M clang/unittests/Driver/DXCModeTest.cpp
M clang/unittests/Driver/SanitizerArgsTest.cpp
M clang/unittests/Driver/SimpleDiagnosticConsumer.h
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/IntegerLiteralSeparatorTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/unittests/Frontend/CodeGenActionTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Frontend/PCHPreambleTest.cpp
M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
M clang/unittests/Frontend/SearchPathTest.cpp
M clang/unittests/Frontend/TextDiagnosticTest.cpp
M clang/unittests/Frontend/UtilsTest.cpp
M clang/unittests/Lex/HeaderSearchTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Lex/ModuleDeclStateTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Lex/PPMemoryAllocationsTest.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M clang/unittests/Sema/ExternalSemaSourceTest.cpp
M clang/unittests/Sema/SemaNoloadLookupTest.cpp
M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
M clang/unittests/Serialization/LoadSpecLazilyTest.cpp
M clang/unittests/Serialization/ModuleCacheTest.cpp
M clang/unittests/Serialization/NoCommentsTest.cpp
M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/CompilationDatabaseTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/unittests/Tooling/HeaderIncludesTest.cpp
M clang/unittests/Tooling/RefactoringTest.cpp
M clang/unittests/Tooling/RewriterTestContext.h
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.h
M clang/unittests/Tooling/ToolingTest.cpp
M clang/utils/TableGen/ClangBuiltinTemplatesEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M compiler-rt/include/profile/MemProfData.inc
M compiler-rt/lib/asan/asan_mac.cpp
M compiler-rt/lib/builtins/crtbegin.c
M compiler-rt/lib/fuzzer/FuzzerDriver.cpp
M compiler-rt/lib/fuzzer/FuzzerFlags.def
M compiler-rt/lib/fuzzer/FuzzerOptions.h
M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
M compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp
M compiler-rt/lib/memprof/memprof_interface_internal.h
M compiler-rt/lib/memprof/memprof_rawprofile.cpp
M compiler-rt/lib/memprof/tests/CMakeLists.txt
A compiler-rt/lib/memprof/tests/histogram_encoding.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/allocator_config_wrapper.h
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/tsan/rtl/tsan_report.h
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
M compiler-rt/test/asan/TestCases/Linux/long-object-path.cpp
M compiler-rt/test/builtins/Unit/muldc3_test.c
A compiler-rt/test/fuzzer/SigTrapTest.cpp
M compiler-rt/test/fuzzer/afl-driver-stderr.test
A compiler-rt/test/fuzzer/sig-trap.test
A compiler-rt/test/memprof/TestCases/memprof_histogram_uint8.cpp
A compiler-rt/test/rtsan/pthread_cond_wait.cpp
M compiler-rt/test/sanitizer_common/CMakeLists.txt
M compiler-rt/test/sanitizer_common/TestCases/suffix-log-path_test.c
M compiler-rt/test/ubsan_minimal/TestCases/alignment-assumption.c
M compiler-rt/test/ubsan_minimal/TestCases/icall.c
M compiler-rt/test/ubsan_minimal/TestCases/implicit-integer-sign-change.c
M compiler-rt/test/ubsan_minimal/TestCases/implicit-signed-integer-truncation-or-sign-change.c
M compiler-rt/test/ubsan_minimal/TestCases/implicit-signed-integer-truncation.c
M compiler-rt/test/ubsan_minimal/TestCases/implicit-unsigned-integer-truncation.c
M compiler-rt/test/ubsan_minimal/TestCases/local_bounds.cpp
M compiler-rt/test/ubsan_minimal/TestCases/nullptr-and-nonzero-offset.c
M compiler-rt/test/ubsan_minimal/TestCases/override-callback.c
M compiler-rt/test/ubsan_minimal/TestCases/recover-dedup-limit.cpp
M compiler-rt/test/ubsan_minimal/TestCases/recover-dedup.cpp
M compiler-rt/test/ubsan_minimal/TestCases/test-darwin-interface.c
M compiler-rt/test/ubsan_minimal/TestCases/uadd-overflow.cpp
M compiler-rt/test/ubsan_minimal/lit.common.cfg.py
M compiler-rt/test/xray/TestCases/Posix/fdr-mode-inmemory.cpp
M compiler-rt/test/xray/TestCases/Posix/fdr-mode-multiple.cpp
M cross-project-tests/CMakeLists.txt
A cross-project-tests/dtlto/ld-archive-thin.test
M cross-project-tests/lit.cfg.py
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/format.h
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/include/flang-rt/runtime/type-info.h
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/namelist.cpp
M flang-rt/lib/runtime/unit.h
M flang-rt/test/NonGtestUnit/lit.cfg.py
M flang-rt/unittests/CMakeLists.txt
M flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/Descriptor.cpp
A flang-rt/unittests/Runtime/InputExtensions.cpp
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
M flang/docs/Extensions.md
M flang/docs/F202X.md
M flang/docs/FortranStandardsSupport.md
M flang/docs/OpenMPSupport.md
M flang/docs/ReleaseNotes.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Common/target-rounding.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/TargetOptions.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/ConvertType.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Factory.h
M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/openmp-utils.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Testing/fp-testing.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertProcedureDesignator.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/CustomIntrinsicCall.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/Mangler.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
M flang/lib/Optimizer/Dialect/Support/KindMapping.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Support/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-acc-structure.h
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/openmp-utils.h
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/lib/Testing/fp-testing.cpp
M flang/test/CMakeLists.txt
M flang/test/Examples/omp-atomic.f90
M flang/test/Examples/omp-sections.f90
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/Intrinsics/c_f_pointer.f90
A flang/test/Lower/OpenACC/Todo/do-loops-to-acc-loops-todo.f90
M flang/test/Lower/OpenACC/acc-atomic-capture.f90
A flang/test/Lower/OpenACC/do-loops-to-acc-loops.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/Todo/defaultmap-clause-firstprivate.f90
A flang/test/Lower/OpenMP/Todo/wsloop-reduction-non-intrinsic.f90
A flang/test/Lower/OpenMP/atomic-control-options.f90
M flang/test/Lower/OpenMP/defaultmap.f90
M flang/test/Lower/OpenMP/distribute-simd.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/target-map-complex.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/unroll-heuristic01.f90
M flang/test/Lower/OpenMP/unroll-heuristic02.f90
A flang/test/Lower/OpenMP/unroll-heuristic03.f90
R flang/test/Lower/OpenMP/wsloop-reduction-non-intrinsic.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
A flang/test/Lower/derived-type-private.f90
A flang/test/Lower/parametrized-derived-types.f90
A flang/test/Lower/undef-func-result.f90
M flang/test/NonGtestUnit/lit.cfg.py
M flang/test/Parser/OpenMP/affinity-clause.f90
M flang/test/Parser/OpenMP/allocators-unparse.f90
M flang/test/Parser/OpenMP/atomic-compare.f90
M flang/test/Parser/OpenMP/atomic-end.f90
M flang/test/Parser/OpenMP/block-construct.f90
M flang/test/Parser/OpenMP/construct-prefix-conflict.f90
A flang/test/Parser/OpenMP/critical-unparse-with-symbols.f90
M flang/test/Parser/OpenMP/declare-target-indirect-tree.f90
M flang/test/Parser/OpenMP/defaultmap-clause.f90
M flang/test/Parser/OpenMP/defaultmap-unparse.f90
M flang/test/Parser/OpenMP/dispatch.f90
A flang/test/Parser/OpenMP/enter-automap-modifier.f90
M flang/test/Parser/OpenMP/if-clause.f90
M flang/test/Parser/OpenMP/in-reduction-clause.f90
M flang/test/Parser/OpenMP/map-modifiers-v60.f90
M flang/test/Parser/OpenMP/map-modifiers.f90
M flang/test/Parser/OpenMP/masked-unparse.f90
M flang/test/Parser/OpenMP/master-unparse.f90
M flang/test/Parser/OpenMP/openmp6-directive-spellings.f90
M flang/test/Parser/OpenMP/proc-bind.f90
M flang/test/Parser/OpenMP/scope.f90
M flang/test/Parser/OpenMP/sections.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Parser/OpenMP/task-reduction-clause.f90
M flang/test/Parser/OpenMP/task.f90
M flang/test/Semantics/OpenACC/acc-atomic-validity.f90
A flang/test/Semantics/OpenACC/acc-default-none-function.f90
M flang/test/Semantics/OpenACC/acc-loop.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
A flang/test/Semantics/OpenMP/if-clause-45.f90
A flang/test/Semantics/OpenMP/if-clause-50.f90
M flang/test/Semantics/OpenMP/symbol08.f90
M flang/test/Semantics/assign02.f90
A flang/test/Semantics/bug1214.cuf
M flang/test/Semantics/c_f_pointer.f90
M flang/test/Semantics/cuf11.cuf
A flang/test/Semantics/resolve126.f90
M flang/tools/flang-driver/driver.cpp
M flang/tools/flang-driver/fc1_main.cpp
M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/AllocatableTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/AssignTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/CharacterTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/CommandTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/DerivedTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/RaggedTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/ReductionTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/TransformationalTest.cpp
M flang/unittests/Optimizer/FortranVariableTest.cpp
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/config.json
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/config.json
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/config.json
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/config.json
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/README.md
M libc/config/windows/entrypoints.txt
M libc/docs/configure.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/pthread_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/pthread_barrier_t.h
A libc/hdr/types/pthread_barrierattr_t.h
A libc/hdr/types/struct_sched_param.h
M libc/include/CMakeLists.txt
M libc/include/dlfcn.yaml
M libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/Dl_info.h
A libc/include/llvm-libc-types/__barrier_type.h
A libc/include/llvm-libc-types/pthread_barrier_t.h
A libc/include/llvm-libc-types/pthread_barrierattr_t.h
M libc/include/math.yaml
M libc/include/pthread.yaml
M libc/include/sched.yaml
M libc/include/wchar.yaml
M libc/shared/math.h
A libc/shared/math/asin.h
A libc/shared/math/asinf.h
A libc/shared/math/asinf16.h
A libc/shared/math/asinhf.h
A libc/shared/math/asinhf16.h
A libc/shared/math/atan.h
A libc/shared/math/atan2.h
A libc/shared/math/atan2f.h
A libc/shared/math/atan2f128.h
A libc/shared/math/atanf.h
A libc/shared/math/atanf16.h
A libc/shared/math/atanhf.h
A libc/shared/math/atanhf16.h
A libc/shared/math/cbrt.h
M libc/src/__support/FPUtil/cast.h
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/FPUtil/generic/div.h
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/acos.h
M libc/src/__support/math/acosf.h
M libc/src/__support/math/acosf16.h
M libc/src/__support/math/acoshf.h
M libc/src/__support/math/acoshf16.h
M libc/src/__support/math/acospif16.h
A libc/src/__support/math/asin.h
M libc/src/__support/math/asin_utils.h
A libc/src/__support/math/asinf.h
A libc/src/__support/math/asinf16.h
A libc/src/__support/math/asinhf.h
A libc/src/__support/math/asinhf16.h
A libc/src/__support/math/atan.h
A libc/src/__support/math/atan2.h
A libc/src/__support/math/atan2f.h
A libc/src/__support/math/atan2f128.h
A libc/src/__support/math/atan2f_float.h
A libc/src/__support/math/atan_utils.h
A libc/src/__support/math/atanf.h
A libc/src/__support/math/atanf16.h
A libc/src/__support/math/atanhf.h
A libc/src/__support/math/atanhf16.h
A libc/src/__support/math/cbrt.h
M libc/src/__support/math/erff.h
M libc/src/__support/math/exp.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp10f.h
M libc/src/__support/math/exp10f16.h
M libc/src/__support/math/exp10f_utils.h
M libc/src/__support/math/exp_utils.h
M libc/src/__support/math/expf.h
M libc/src/__support/math/expf16.h
M libc/src/__support/math/expf16_utils.h
M libc/src/__support/math/frexpf.h
M libc/src/__support/math/frexpf128.h
M libc/src/__support/math/frexpf16.h
M libc/src/__support/math/ldexpf.h
M libc/src/__support/math/ldexpf128.h
M libc/src/__support/math/ldexpf16.h
M libc/src/__support/threads/CMakeLists.txt
R libc/src/__support/threads/gpu/CMakeLists.txt
R libc/src/__support/threads/gpu/mutex.h
M libc/src/__support/threads/linux/CMakeLists.txt
A libc/src/__support/threads/linux/barrier.cpp
A libc/src/__support/threads/linux/barrier.h
M libc/src/__support/threads/mutex.h
M libc/src/__support/wchar/CMakeLists.txt
M libc/src/__support/wchar/mbrtowc.cpp
A libc/src/__support/wchar/mbsnrtowcs.h
M libc/src/dlfcn/CMakeLists.txt
A libc/src/dlfcn/dladdr.cpp
A libc/src/dlfcn/dladdr.h
A libc/src/dlfcn/dlinfo.cpp
A libc/src/dlfcn/dlinfo.h
M libc/src/math/CMakeLists.txt
A libc/src/math/fabsbf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/asin.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/asinf16.cpp
M libc/src/math/generic/asinhf.cpp
M libc/src/math/generic/asinhf16.cpp
M libc/src/math/generic/atan.cpp
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atan2f128.cpp
R libc/src/math/generic/atan2f_float.h
M libc/src/math/generic/atan2l.cpp
R libc/src/math/generic/atan_utils.h
M libc/src/math/generic/atanf.cpp
M libc/src/math/generic/atanf16.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/atanhf16.cpp
M libc/src/math/generic/cbrt.cpp
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/explogxf.h
A libc/src/math/generic/fabsbf16.cpp
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_barrier_destroy.cpp
A libc/src/pthread/pthread_barrier_destroy.h
A libc/src/pthread/pthread_barrier_init.cpp
A libc/src/pthread/pthread_barrier_init.h
A libc/src/pthread/pthread_barrier_wait.cpp
A libc/src/pthread/pthread_barrier_wait.h
M libc/src/sched/CMakeLists.txt
A libc/src/sched/getcpu.h
M libc/src/sched/linux/CMakeLists.txt
A libc/src/sched/linux/getcpu.cpp
M libc/src/sched/linux/sched_getaffinity.cpp
M libc/src/sched/linux/sched_getcpucount.cpp
M libc/src/sched/linux/sched_getscheduler.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/sched/linux/sched_setaffinity.cpp
M libc/src/sched/sched_getaffinity.h
M libc/src/sched/sched_getcpucount.h
M libc/src/sched/sched_getparam.h
M libc/src/sched/sched_getscheduler.h
M libc/src/sched/sched_rr_get_interval.h
M libc/src/sched/sched_setaffinity.h
M libc/src/sched/sched_setparam.h
M libc/src/sched/sched_setscheduler.h
M libc/src/stdio/baremetal/CMakeLists.txt
M libc/src/stdio/scanf_core/CMakeLists.txt
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/mbsinit.cpp
A libc/src/wchar/mbsinit.h
A libc/src/wchar/mbsnrtowcs.cpp
A libc/src/wchar/mbsnrtowcs.h
A libc/src/wchar/mbsrtowcs.cpp
A libc/src/wchar/mbsrtowcs.h
A libc/src/wchar/mbstowcs.cpp
A libc/src/wchar/mbstowcs.h
M libc/src/wchar/wchar_utils.h
M libc/src/wchar/wcschr.cpp
M libc/src/wchar/wcspbrk.cpp
M libc/src/wchar/wcstok.cpp
M libc/startup/baremetal/CMakeLists.txt
A libc/startup/baremetal/arm/CMakeLists.txt
A libc/startup/baremetal/arm/start.cpp
M libc/startup/baremetal/fini.cpp
A libc/startup/baremetal/fini.h
M libc/startup/baremetal/init.cpp
A libc/startup/baremetal/init.h
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/IntegrationTest/test.cpp
M libc/test/integration/src/pthread/CMakeLists.txt
A libc/test/integration/src/pthread/pthread_barrier_test.cpp
M libc/test/integration/src/stdlib/gpu/malloc_stress.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/__support/FPUtil/comparison_operations_test.cpp
M libc/test/src/math/generic/CMakeLists.txt
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/DivTest.h
M libc/test/src/math/smoke/SubTest.h
A libc/test/src/math/smoke/fabsbf16_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
A 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/wchar/CMakeLists.txt
A libc/test/src/wchar/mbsinit_test.cpp
A libc/test/src/wchar/mbsnrtowcs_test.cpp
A libc/test/src/wchar/mbsrtowcs_test.cpp
A libc/test/src/wchar/mbstowcs_test.cpp
M libc/test/src/wchar/wcstok_test.cpp
M libclc/CMakeLists.txt
R libclc/clc/include/clc/math/unary_def_via_fp32.inc
A libclc/clc/include/clc/mem_fence/clc_mem_fence.h
A libclc/clc/include/clc/synchronization/clc_work_group_barrier.h
M libclc/clc/lib/amdgcn/SOURCES
R libclc/clc/lib/amdgcn/math/clc_fmax.cl
R libclc/clc/lib/amdgcn/math/clc_fmin.cl
A libclc/clc/lib/amdgcn/mem_fence/clc_mem_fence.cl
A libclc/clc/lib/amdgcn/synchronization/clc_work_group_barrier.cl
M libclc/clc/lib/generic/geometric/clc_normalize.inc
M libclc/clc/lib/generic/math/clc_erf.cl
M libclc/clc/lib/generic/math/clc_erfc.cl
M libclc/clc/lib/generic/math/clc_fmax.cl
M libclc/clc/lib/generic/math/clc_fmin.cl
M libclc/clc/lib/generic/math/clc_tgamma.cl
M libclc/clc/lib/ptx-nvidiacl/SOURCES
A libclc/clc/lib/ptx-nvidiacl/mem_fence/clc_mem_fence.cl
A libclc/clc/lib/ptx-nvidiacl/synchronization/clc_work_group_barrier.cl
M libclc/clc/lib/r600/SOURCES
R libclc/clc/lib/r600/math/clc_fmax.cl
R libclc/clc/lib/r600/math/clc_fmin.cl
M libclc/clc/lib/spirv/SOURCES
A libclc/clc/lib/spirv/math/clc_fmax.cl
A libclc/clc/lib/spirv/math/clc_fmin.cl
M libclc/cmake/modules/AddLibclc.cmake
M libclc/opencl/include/clc/opencl/synchronization/cl_mem_fence_flags.h
A libclc/opencl/include/clc/opencl/synchronization/utils.h
M libclc/opencl/lib/amdgcn/mem_fence/fence.cl
M libclc/opencl/lib/amdgcn/synchronization/barrier.cl
M libclc/opencl/lib/generic/async/async_work_group_strided_copy.inc
M libclc/opencl/lib/ptx-nvidiacl/mem_fence/fence.cl
M libclc/opencl/lib/ptx-nvidiacl/synchronization/barrier.cl
A libcxx/cmake/caches/Generic-hardening-mode-extensive-observe-semantic.cmake
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Hardening.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/UserDocumentation.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__assert
M libcxx/include/__config
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__math/logarithms.h
M libcxx/include/__exception/exception.h
M libcxx/include/__format/concepts.h
A libcxx/include/__format/fmt_pair_like.h
M libcxx/include/__format/range_default_formatter.h
M libcxx/include/__format/range_format.h
M libcxx/include/__format/range_formatter.h
M libcxx/include/__fwd/tuple.h
M libcxx/include/__hash_table
M libcxx/include/__math/logarithms.h
M libcxx/include/__math/traits.h
M libcxx/include/__memory/uses_allocator_construction.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__tree
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/map
M libcxx/include/math.h
M libcxx/include/module.modulemap.in
M libcxx/include/set
M libcxx/include/tuple
M libcxx/include/version
M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
M libcxx/test/benchmarks/containers/associative/map.bench.cpp
M libcxx/test/benchmarks/containers/associative/multimap.bench.cpp
M libcxx/test/benchmarks/containers/associative/multiset.bench.cpp
M libcxx/test/benchmarks/containers/associative/set.bench.cpp
M libcxx/test/libcxx/diagnostics/vector.nodiscard.verify.cpp
M libcxx/test/libcxx/fuzzing/random.pass.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/libcxx/thread/thread.barrier/assert.arrive.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.arrive_and_wait.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/value.observers.verify.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_element.verify.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/eq.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/lt.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/size_incompatible_three_way.compile.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/three_way.pass.cpp
M libcxx/test/support/check_assertion.h
M libcxx/test/support/test.support/test_check_assertion.pass.cpp
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/docker-compose.yml
M libcxx/utils/ci/run-buildbot
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/params.py
M libcxx/vendor/llvm/default_assertion_handler.in
M libcxxabi/src/demangle/DemangleConfig.h
A libsycl/.clang-format
A libsycl/.clang-tidy
A libsycl/CMakeLists.txt
A libsycl/LICENSE.txt
A libsycl/README.md
A libsycl/docs/index.rst
A libsycl/include/CL/sycl.hpp
A libsycl/include/sycl/__impl/detail/config.hpp
A libsycl/include/sycl/__impl/platform.hpp
A libsycl/include/sycl/sycl.hpp
A libsycl/src/CMakeLists.txt
A libsycl/src/ld-version-script.txt
A libsycl/src/platform.cpp
A libsycl/src/version.hpp.in
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Config.h
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/DriverUtils.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/MarkLive.cpp
M lld/COFF/Options.td
M lld/COFF/PDB.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Symbols.cpp
M lld/COFF/Symbols.h
M lld/COFF/Writer.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/Mips.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Target.cpp
M lld/ELF/Target.h
M lld/ELF/Writer.cpp
A lld/test/COFF/alternatename-alias.s
A lld/test/COFF/alternatename-antidep.s
A lld/test/COFF/alternatename-lib.s
M lld/test/COFF/arm64ec-altnames.s
M lld/test/COFF/arm64ec-delayimport.test
M lld/test/COFF/arm64x-delayimport.test
M lld/test/COFF/arm64x-sameaddress.test
M lld/test/COFF/delayimports.test
M lld/test/COFF/delayimporttables.yaml
A lld/test/COFF/embed-bitcode.test
M lld/test/COFF/giats.s
M lld/test/COFF/import_weak_alias.test
M lld/test/COFF/nodefaultlib.test
A lld/test/COFF/pdb-empty-sec.s
M lld/test/COFF/pdb-options.test
M lld/test/COFF/pdb-type-server-invalid-signature.yaml
M lld/test/COFF/wrap-lto-2.ll
M lld/test/COFF/wrap-with-archive.s
A lld/test/ELF/dtlto/archive-thin.test
A lld/test/ELF/loongarch-pc-hi20-lo12-got.s
M lld/test/ELF/loongarch-relax-pc-hi20-lo12.s
M lld/test/wasm/lto/save-temps.ll
M lldb/bindings/interface/SBMemoryRegionInfoDocstrings.i
M lldb/bindings/interface/SBThreadExtensions.i
M lldb/bindings/python/python-extensions.swig
M lldb/bindings/python/python-wrapper.swig
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/python_api_enums.rst
M lldb/docs/resources/lldbgdbremote.md
M lldb/docs/use/formatting.rst
M lldb/include/lldb/API/SBMemoryRegionInfo.h
M lldb/include/lldb/API/SBSymbolContext.h
M lldb/include/lldb/API/SBThread.h
M lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h
M lldb/include/lldb/Core/DemangledNameInfo.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Core/Opcode.h
M lldb/include/lldb/Expression/DWARFExpression.h
M lldb/include/lldb/Expression/Expression.h
M lldb/include/lldb/Host/Config.h.cmake
A lldb/include/lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
A lldb/include/lldb/Protocol/MCP/MCPError.h
A lldb/include/lldb/Protocol/MCP/Protocol.h
A lldb/include/lldb/Protocol/MCP/Resource.h
A lldb/include/lldb/Protocol/MCP/Tool.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/Target/ExecutionContext.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/StackFrameList.h
M lldb/include/lldb/Target/UnwindLLDB.h
M lldb/include/lldb/Utility/Scalar.h
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectConstResult.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/include/lldb/lldb-forward.h
A lldb/packages/Python/lldbsuite/support/temp_file.py
M lldb/packages/Python/lldbsuite/test/builders/__init__.py
M lldb/packages/Python/lldbsuite/test/builders/builder.py
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/scripts/framework-header-fix.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBType.cpp
M lldb/source/API/SBTypeFilter.cpp
M lldb/source/API/SBTypeNameSpecifier.cpp
M lldb/source/API/SBTypeSynthetic.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/Breakpoint/Breakpoint.cpp
M lldb/source/Breakpoint/BreakpointResolverName.cpp
M lldb/source/Breakpoint/BreakpointResolverScripted.cpp
M lldb/source/CMakeLists.txt
M lldb/source/Commands/CommandCompletions.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Core/DemangledNameInfo.cpp
M lldb/source/Core/DumpDataExtractor.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/Core/Value.cpp
M lldb/source/DataFormatters/FormatManager.cpp
M lldb/source/DataFormatters/TypeCategoryMap.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Expression/Expression.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Expression/IRInterpreter.cpp
M lldb/source/Expression/Materializer.cpp
M lldb/source/Host/common/FileSystem.cpp
M lldb/source/Host/common/Host.cpp
M lldb/source/Host/windows/Host.cpp
M lldb/source/Host/windows/MainLoopWindows.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/OptionArgParser.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/Utility.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
M lldb/source/Plugins/Process/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
M lldb/source/Plugins/Process/Linux/CMakeLists.txt
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64dbreg.cpp
A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64dbreg.h
M lldb/source/Plugins/Process/Utility/AuxVector.cpp
M lldb/source/Plugins/Process/Utility/AuxVector.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
A lldb/source/Plugins/Process/wasm/CMakeLists.txt
A lldb/source/Plugins/Process/wasm/ProcessWasm.cpp
A lldb/source/Plugins/Process/wasm/ProcessWasm.h
A lldb/source/Plugins/Process/wasm/RegisterContextWasm.cpp
A lldb/source/Plugins/Process/wasm/RegisterContextWasm.h
A lldb/source/Plugins/Process/wasm/ThreadWasm.cpp
A lldb/source/Plugins/Process/wasm/ThreadWasm.h
A lldb/source/Plugins/Process/wasm/UnwindWasm.cpp
A lldb/source/Plugins/Process/wasm/UnwindWasm.h
M lldb/source/Plugins/Protocol/MCP/CMakeLists.txt
R lldb/source/Plugins/Protocol/MCP/MCPError.cpp
R lldb/source/Plugins/Protocol/MCP/MCPError.h
R lldb/source/Plugins/Protocol/MCP/Protocol.cpp
R lldb/source/Plugins/Protocol/MCP/Protocol.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Plugins/Protocol/MCP/Resource.cpp
M lldb/source/Plugins/Protocol/MCP/Resource.h
M lldb/source/Plugins/Protocol/MCP/Tool.cpp
M lldb/source/Plugins/Protocol/MCP/Tool.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
A lldb/source/Plugins/SymbolFile/DWARF/SymbolFileWasm.cpp
A lldb/source/Plugins/SymbolFile/DWARF/SymbolFileWasm.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
M lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
A lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDBProperties.td
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
A lldb/source/Protocol/CMakeLists.txt
A lldb/source/Protocol/MCP/CMakeLists.txt
A lldb/source/Protocol/MCP/MCPError.cpp
A lldb/source/Protocol/MCP/Protocol.cpp
A lldb/source/Protocol/MCP/Tool.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Target/ExecutionContext.cpp
M lldb/source/Target/InstrumentationRuntime.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StackFrameRecognizer.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/ThreadPlanStepRange.cpp
M lldb/source/Utility/Scalar.cpp
A lldb/source/Utility/WasmVirtualRegisters.h
M lldb/source/Utility/XcodeSDK.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectConstResult.cpp
A lldb/test/API/arm/thumb-function-addr/Makefile
A lldb/test/API/arm/thumb-function-addr/TestThumbFunctionAddr.py
A lldb/test/API/arm/thumb-function-addr/main.c
M lldb/test/API/commands/expression/import-std-module/array/TestArrayFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/basic/TestImportStdModule.py
M lldb/test/API/commands/expression/import-std-module/conflicts/TestStdModuleWithConflicts.py
M lldb/test/API/commands/expression/import-std-module/deque-basic/TestDequeFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/forward_list/TestForwardListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/iterator/TestIteratorFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/TestDbgInfoContentListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/list/TestListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/non-module-type-separation/TestNonModuleTypeSeparation.py
M lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/retry-with-std-module/TestRetryWithStdModule.py
M lldb/test/API/commands/expression/import-std-module/shared_ptr-dbg-info-content/TestSharedPtrDbgInfoContentFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/unique_ptr-dbg-info-content/TestUniquePtrDbgInfoContent.py
M lldb/test/API/commands/expression/import-std-module/unique_ptr/TestUniquePtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr-dbg-info-content/TestDbgInfoContentWeakPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
M lldb/test/API/commands/register/register/aarch64_mte_ctrl_register/TestMTECtrlRegister.py
M lldb/test/API/commands/watchpoints/step_over_watchpoint/TestStepOverWatchpoint.py
M lldb/test/API/commands/watchpoints/watchpoint_count/TestWatchpointCount.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/resolver.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py
M lldb/test/API/functionalities/gdb_remote_client/TestWasm.py
A lldb/test/API/functionalities/gdb_remote_client/simple.c
A lldb/test/API/functionalities/gdb_remote_client/simple.yaml
M lldb/test/API/functionalities/memory/cache/main.cpp
M lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/TestOSPluginStepping.py
M lldb/test/API/functionalities/postmortem/elf-core/expr/TestExpr.py
M lldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpNew.py
M lldb/test/API/functionalities/postmortem/minidump/TestMiniDump.py
M lldb/test/API/functionalities/scripted_process/stack_core_scripted_process.py
M lldb/test/API/functionalities/statusline/TestStatusline.py
M lldb/test/API/functionalities/step_scripted/TestStepScripted.py
M lldb/test/API/functionalities/tail_call_frames/cross_dso/TestCrossDSOTailCalls.py
M lldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py
M lldb/test/API/functionalities/tsan/multiple/TestTsanMultiple.py
M lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
M lldb/test/API/lang/c/tls_globals/main.c
A lldb/test/API/lang/cpp/expr-definition-in-dylib/Makefile
A lldb/test/API/lang/cpp/expr-definition-in-dylib/TestExprDefinitionInDylib.py
A lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.cpp
A lldb/test/API/lang/cpp/expr-definition-in-dylib/lib.h
A lldb/test/API/lang/cpp/expr-definition-in-dylib/main.cpp
M lldb/test/API/lang/cpp/extern_c/main.cpp
M lldb/test/API/linux/aarch64/mte_core_file/TestAArch64LinuxMTEMemoryTagCoreFile.py
M lldb/test/API/linux/aarch64/mte_core_file/core.mte
M lldb/test/API/linux/aarch64/mte_core_file/core.nomte
M lldb/test/API/linux/aarch64/mte_core_file/main.c
M lldb/test/API/macosx/abort_with_payload/TestAbortWithPayload.py
M lldb/test/API/macosx/corefile-exception-reason/TestCorefileExceptionReason.py
M lldb/test/API/riscv/break-undecoded/TestBreakpointIllegal.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/Shell/Commands/command-disassemble-process.yaml
M lldb/test/Shell/Commands/command-image-lookup.yaml
M lldb/test/Shell/Minidump/Windows/arm-fp-unwind.test
M lldb/test/Shell/Minidump/Windows/broken-unwind.test
M lldb/test/Shell/Minidump/Windows/find-module.test
M lldb/test/Shell/Minidump/memory-region-from-module.yaml
M lldb/test/Shell/ObjectFile/Breakpad/uuid-matching-mac.test
M lldb/test/Shell/ObjectFile/ELF/minidebuginfo-set-and-hit-breakpoint.test
A lldb/test/Shell/Recognizer/Inputs/ubsan_add_overflow.c
A lldb/test/Shell/Recognizer/ubsan_add_overflow.test
M lldb/test/Shell/Scripts/TestFrameworkFixScript.test
M lldb/test/Shell/Scripts/TestFrameworkFixUnifdef.test
M lldb/test/Shell/Scripts/TestRPCFrameworkFixScript.test
M lldb/test/Shell/SymbolFile/Breakpad/inline-record.test
M lldb/test/Shell/SymbolFile/Breakpad/line-table-discontinuous-file-ids.test
M lldb/test/Shell/SymbolFile/Breakpad/line-table-edgecases.test
M lldb/test/Shell/SymbolFile/Breakpad/line-table-missing-file.test
M lldb/test/Shell/SymbolFile/Breakpad/line-table-mixed-path-styles.test
M lldb/test/Shell/SymbolFile/Breakpad/line-table.test
M lldb/test/Shell/SymbolFile/Breakpad/symtab-macho.test
M lldb/test/Shell/SymbolFile/Breakpad/symtab-sorted-by-size.test
M lldb/test/Shell/SymbolFile/Breakpad/symtab.test
M lldb/test/Shell/SymbolFile/Breakpad/unwind-via-stack-win-no-memory-info.yaml
M lldb/test/Shell/SymbolFile/DWARF/dwo-missing-error.test
M lldb/test/Shell/SymbolFile/DWARF/dwo-relative-path.s
M lldb/test/Shell/SymbolFile/DWARF/x86/debug-types-address-ranges.s
M lldb/test/Shell/SymbolFile/DWARF/x86/debug_loclists-dwo.s
M lldb/test/Shell/SymbolFile/DWARF/x86/debug_rnglists-dwo.s
M lldb/test/Shell/SymbolFile/DWARF/x86/dwo-type-in-main-file.s
A lldb/test/Shell/SymbolFile/NativePDB/namespace-access.test
A lldb/test/Shell/SymbolFile/NativePDB/rust-unique-name.ll
M lldb/test/Shell/SymbolFile/PDB/class-layout.test
M lldb/test/Shell/SymbolFile/PDB/compilands.test
M lldb/test/Shell/SymbolFile/PDB/enums-layout.test
M lldb/test/Shell/SymbolFile/PDB/func-symbols.test
A lldb/test/Shell/SymbolFile/PDB/native-setting.cpp
M lldb/test/Shell/SymbolFile/PDB/pointers.test
M lldb/test/Shell/SymbolFile/PDB/type-quals.test
M lldb/test/Shell/SymbolFile/PDB/typedefs.test
M lldb/test/Shell/SymbolFile/PDB/variables.test
A lldb/test/Shell/Unwind/Inputs/eh-frame-dwarf-unwind-val-offset.s
A lldb/test/Shell/Unwind/eh-frame-dwarf-unwind-val-offset.test
M lldb/test/Shell/lit.cfg.py
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/debug-session-tracker.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
M lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
A lldb/tools/lldb-dap/src-ts/logging.ts
M lldb/tools/lldb-rpc/LLDBRPCHeaders.cmake
M lldb/unittests/CMakeLists.txt
M lldb/unittests/Core/DumpDataExtractorTest.cpp
M lldb/unittests/Core/MangledTest.cpp
M lldb/unittests/Expression/CMakeLists.txt
M lldb/unittests/Expression/DWARFExpressionTest.cpp
A lldb/unittests/Expression/ExpressionTest.cpp
M lldb/unittests/Host/FileSystemTest.cpp
M lldb/unittests/Instruction/ARM64/TestAArch64Emulator.cpp
M lldb/unittests/Platform/PlatformTest.cpp
M lldb/unittests/Protocol/CMakeLists.txt
R lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
M lldb/unittests/Protocol/ProtocolMCPTest.cpp
A lldb/unittests/ProtocolServer/CMakeLists.txt
A lldb/unittests/ProtocolServer/ProtocolMCPServerTest.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
M lldb/unittests/Symbol/TestDWARFCallFrameInfo.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDebugNamesIndexTest.cpp
M lldb/unittests/Utility/ScalarTest.cpp
M llvm/.gitattributes
M llvm/CMakeLists.txt
M llvm/cmake/modules/LLVMProcessSources.cmake
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CodeGenerator.rst
M llvm/docs/CodingStandards.rst
M llvm/docs/CommandGuide/lit.rst
M llvm/docs/CommandGuide/llvm-bcanalyzer.rst
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/docs/CommandGuide/llvm-ifs.rst
M llvm/docs/CommandGuide/llvm-ir2vec.rst
M llvm/docs/CommandGuide/llvm-locstats.rst
M llvm/docs/CommandGuide/llvm-mca.rst
M llvm/docs/CommandGuide/llvm-profdata.rst
M llvm/docs/CommandGuide/llvm-symbolizer.rst
M llvm/docs/CommandGuide/opt.rst
M llvm/docs/Coroutines.rst
M llvm/docs/DirectX/DXContainer.rst
M llvm/docs/Frontend/PerformanceTips.rst
M llvm/docs/FuzzingLLVM.rst
M llvm/docs/GettingStarted.rst
M llvm/docs/GlobalISel/GMIR.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/GlobalISel/Pipeline.rst
M llvm/docs/HowToCrossCompileBuiltinsOnArm.rst
M llvm/docs/HowToUpdateDebugInfo.rst
M llvm/docs/JITLink.rst
M llvm/docs/LangRef.rst
M llvm/docs/Lexicon.rst
M llvm/docs/MIRLangRef.rst
M llvm/docs/PDB/CodeViewTypes.rst
M llvm/docs/ProgrammersManual.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
M llvm/docs/SymbolizerMarkupFormat.rst
M llvm/docs/TableGen/BackGuide.rst
M llvm/docs/TableGen/ProgRef.rst
M llvm/docs/TestingGuide.rst
M llvm/docs/WritingAnLLVMBackend.rst
M llvm/docs/WritingAnLLVMPass.rst
M llvm/docs/YamlIO.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl10.rst
M llvm/include/llvm-c/Object.h
M llvm/include/llvm/ADT/Any.h
M llvm/include/llvm/ADT/Bitset.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/include/llvm/Analysis/StackLifetime.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/BinaryFormat/COFF.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/SFrame.h
M llvm/include/llvm/BinaryFormat/SFrameConstants.def
M llvm/include/llvm/Bitstream/BitstreamWriter.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/GCMetadata.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/include/llvm/CodeGen/MachineInstrBundle.h
M llvm/include/llvm/CodeGen/MachineLoopInfo.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/ScheduleDAG.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/include/llvm/Demangle/DemangleConfig.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h
A llvm/include/llvm/Frontend/HLSL/HLSLBinding.h
M llvm/include/llvm/Frontend/HLSL/RootSignatureMetadata.h
M llvm/include/llvm/Frontend/HLSL/RootSignatureValidations.h
A llvm/include/llvm/Frontend/Offloading/PropertySet.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/include/llvm/IR/GCStrategy.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/include/llvm/IR/PassManager.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCAsmInfoCOFF.h
M llvm/include/llvm/MC/MCAsmInfoDarwin.h
M llvm/include/llvm/MC/MCAsmInfoELF.h
M llvm/include/llvm/MC/MCAsmInfoGOFF.h
M llvm/include/llvm/MC/MCAsmInfoWasm.h
M llvm/include/llvm/MC/MCAsmInfoXCOFF.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCCodeView.h
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/include/llvm/MC/MCObjectFileInfo.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCSectionCOFF.h
M llvm/include/llvm/MC/MCSectionDXContainer.h
M llvm/include/llvm/MC/MCSectionELF.h
M llvm/include/llvm/MC/MCSectionGOFF.h
M llvm/include/llvm/MC/MCSectionMachO.h
M llvm/include/llvm/MC/MCSectionSPIRV.h
M llvm/include/llvm/MC/MCSectionWasm.h
M llvm/include/llvm/MC/MCSectionXCOFF.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/MC/MCSymbolCOFF.h
M llvm/include/llvm/MC/MCSymbolELF.h
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/include/llvm/MC/MCSymbolMachO.h
M llvm/include/llvm/MC/MCSymbolWasm.h
M llvm/include/llvm/MC/MCSymbolXCOFF.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/include/llvm/Object/Binary.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/include/llvm/Object/SFrameParser.h
M llvm/include/llvm/ObjectYAML/ELFYAML.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/ProfileData/MemProfData.inc
M llvm/include/llvm/Support/AArch64AttributeParser.h
M llvm/include/llvm/Support/AMDHSAKernelDescriptor.h
M llvm/include/llvm/Support/Debug.h
M llvm/include/llvm/Support/DebugLog.h
M llvm/include/llvm/Support/LEB128.h
M llvm/include/llvm/Support/ThreadPool.h
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/include/llvm/Support/Windows/WindowsSupport.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/ObjCARC.h
M llvm/include/llvm/Transforms/Scalar/Reassociate.h
M llvm/include/llvm/Transforms/Utils/Mem2Reg.h
M llvm/include/llvm/Transforms/Utils/ProfileVerify.h
A llvm/include/llvm/Transforms/Utils/SplitModuleByCategory.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/StackLifetime.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/lib/Analysis/UniformityAnalysis.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/BinaryFormat/SFrame.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CGData/StableFunctionMapRecord.cpp
M llvm/lib/CodeGen/AsmPrinter/AIXException.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/WindowsSecureHotPatching.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h
M llvm/lib/Frontend/HLSL/CMakeLists.txt
A llvm/lib/Frontend/HLSL/HLSLBinding.cpp
M llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp
M llvm/lib/Frontend/HLSL/RootSignatureValidations.cpp
M llvm/lib/Frontend/Offloading/CMakeLists.txt
A llvm/lib/Frontend/Offloading/PropertySet.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/Mangler.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/MC/CMakeLists.txt
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAsmInfoCOFF.cpp
M llvm/lib/MC/MCAsmInfoDarwin.cpp
M llvm/lib/MC/MCAsmInfoELF.cpp
M llvm/lib/MC/MCAsmInfoGOFF.cpp
M llvm/lib/MC/MCAsmInfoWasm.cpp
M llvm/lib/MC/MCAsmInfoXCOFF.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/MC/MCParser/WasmAsmParser.cpp
M llvm/lib/MC/MCSection.cpp
R llvm/lib/MC/MCSectionCOFF.cpp
R llvm/lib/MC/MCSectionDXContainer.cpp
R llvm/lib/MC/MCSectionELF.cpp
R llvm/lib/MC/MCSectionGOFF.cpp
M llvm/lib/MC/MCSectionMachO.cpp
R llvm/lib/MC/MCSectionWasm.cpp
R llvm/lib/MC/MCSectionXCOFF.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/ObjCopy/COFF/COFFReader.cpp
M llvm/lib/Object/Binary.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/lib/Object/Object.cpp
M llvm/lib/Object/ObjectFile.cpp
M llvm/lib/Object/SFrameParser.cpp
M llvm/lib/Object/SymbolicFile.cpp
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/Remarks/RemarkLinker.cpp
M llvm/lib/SandboxIR/Value.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Support/BLAKE3/CMakeLists.txt
M llvm/lib/Support/BalancedPartitioning.cpp
M llvm/lib/Support/Debug.cpp
M llvm/lib/Support/FileCollector.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Support/Windows/Threading.inc
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.h
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFStreamer.cpp
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXILRootSignature.cpp
M llvm/lib/Target/DirectX/MCTargetDesc/DirectXMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonMask.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.cpp
M llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrFormats.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.td
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/lib/Target/PowerPC/PPCMachineScheduler.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.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/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVAsmBackend.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.h
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVTargetTransformInfo.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrRef.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/TextAPI/SymbolSet.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
M llvm/lib/Transforms/ObjCARC/CMakeLists.txt
R llvm/lib/Transforms/ObjCARC/ObjCARCAPElim.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
M llvm/lib/Transforms/Utils/LibCallsShrinkWrap.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/lib/Transforms/Utils/ProfileVerify.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/lib/Transforms/Utils/SplitModuleByCategory.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/fcmp.ll
M llvm/test/Analysis/CostModel/AArch64/min-max.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cmpsel.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fcmp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fpext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/Analysis/CostModel/ARM/active_lane_mask.ll
M llvm/test/Analysis/CostModel/ARM/arith-overflow.ll
M llvm/test/Analysis/CostModel/ARM/arith-ssat.ll
M llvm/test/Analysis/CostModel/ARM/arith-usat.ll
M llvm/test/Analysis/CostModel/ARM/cast.ll
M llvm/test/Analysis/CostModel/ARM/cast_ldst.ll
M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
M llvm/test/Analysis/CostModel/RISCV/fround.ll
M llvm/test/Analysis/CostModel/X86/fshl.ll
M llvm/test/Analysis/CostModel/X86/fshr.ll
M llvm/test/Analysis/CostModel/X86/load-broadcast.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
M llvm/test/Analysis/CostModel/X86/shuffle-broadcast-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/X86/shuffle-load.ll
M llvm/test/Analysis/CostModel/X86/shuffle-reverse-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-reverse.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-cost.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-cost.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-cost.ll
M llvm/test/Analysis/GlobalsModRef/memset-escape.ll
M llvm/test/Analysis/LoopAccessAnalysis/early-exit-runtime-checks.ll
A llvm/test/Analysis/LoopAccessAnalysis/runtime-check-known-true.ll
A llvm/test/Analysis/ScalarEvolution/zext-add.ll
M llvm/test/Analysis/StackSafetyAnalysis/lifetime.ll
M llvm/test/Analysis/TypeBasedAliasAnalysis/gvn-nonlocal-type-mismatch.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/CMakeLists.txt
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-gep.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-switch.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-lowering-sret-demotion.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator-cse.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator-ios.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy-forced.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memmove.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memset.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-small-memcpy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-gep-flags.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-and.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bswap.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-constant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fpext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fptrunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-non-pow2-load-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-or.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-vacopy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xor.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-swap-compare-operands.mir
M llvm/test/CodeGen/AArch64/GlobalISel/translate-gep.ll
M llvm/test/CodeGen/AArch64/aarch64-combine-fmul-fsub.mir
M llvm/test/CodeGen/AArch64/aarch64-gep-opt.ll
M llvm/test/CodeGen/AArch64/aarch64-isel-csinc-type.ll
M llvm/test/CodeGen/AArch64/aarch64-wide-mul.ll
M llvm/test/CodeGen/AArch64/abds-neg.ll
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/abdu-neg.ll
M llvm/test/CodeGen/AArch64/abdu.ll
M llvm/test/CodeGen/AArch64/adc.ll
M llvm/test/CodeGen/AArch64/add-extract.ll
M llvm/test/CodeGen/AArch64/addcarry-crash.ll
M llvm/test/CodeGen/AArch64/addsub.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/AArch64/andcompare.ll
M llvm/test/CodeGen/AArch64/andorbrcompare.ll
M llvm/test/CodeGen/AArch64/arm64-ccmp.ll
M llvm/test/CodeGen/AArch64/arm64-ext.ll
M llvm/test/CodeGen/AArch64/arm64-fml-combines.ll
M llvm/test/CodeGen/AArch64/arm64-this-return.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/arm64-vext.ll
M llvm/test/CodeGen/AArch64/arm64-vext_reverse.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
A llvm/test/CodeGen/AArch64/arm64ec-available-externally.ll
A llvm/test/CodeGen/AArch64/arm64ec-empty-name.ll
M llvm/test/CodeGen/AArch64/avoid-free-ext-promotion.ll
A llvm/test/CodeGen/AArch64/calleetypeid-directcall-mismatched.ll
A llvm/test/CodeGen/AArch64/callsite-emit-calleetypeid-tailcall.ll
A llvm/test/CodeGen/AArch64/callsite-emit-calleetypeid.ll
M llvm/test/CodeGen/AArch64/cmp-chains.ll
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
M llvm/test/CodeGen/AArch64/combine-and-like.ll
A llvm/test/CodeGen/AArch64/combine-storetomstore.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/constant-pool-partition.ll
M llvm/test/CodeGen/AArch64/dag-combine-select.ll
M llvm/test/CodeGen/AArch64/extend_inreg_of_concat_subvectors.ll
M llvm/test/CodeGen/AArch64/fcsel-zero.ll
M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_1op.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_2op.ll
M llvm/test/CodeGen/AArch64/fp8-sme2-cvtn.ll
M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
M llvm/test/CodeGen/AArch64/framelayout-sve.mir
M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
A llvm/test/CodeGen/AArch64/late-taildup-computed-goto.ll
A llvm/test/CodeGen/AArch64/lifetime-poison.ll
M llvm/test/CodeGen/AArch64/logical_shifted_reg.ll
M llvm/test/CodeGen/AArch64/luti-with-sme2.ll
M llvm/test/CodeGen/AArch64/machine-combiner-reassociate.mir
M llvm/test/CodeGen/AArch64/machine-combiner.ll
M llvm/test/CodeGen/AArch64/machine-combiner.mir
M llvm/test/CodeGen/AArch64/midpoint-int.ll
M llvm/test/CodeGen/AArch64/neg-abs.ll
M llvm/test/CodeGen/AArch64/neg-selects.ll
M llvm/test/CodeGen/AArch64/neon-dot-product.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/neon-extmul.ll
M llvm/test/CodeGen/AArch64/peephole-and-tst.ll
M llvm/test/CodeGen/AArch64/perm-tb-with-sme2.ll
M llvm/test/CodeGen/AArch64/preferred-function-alignment.ll
M llvm/test/CodeGen/AArch64/reassocmls.ll
M llvm/test/CodeGen/AArch64/sched-past-vector-ldst.ll
M llvm/test/CodeGen/AArch64/selectopt-const.ll
M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-cvt.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-qcvt.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-qrshr.ll
M llvm/test/CodeGen/AArch64/sme2-multivec-regalloc.mir
M llvm/test/CodeGen/AArch64/split-vector-insert.ll
M llvm/test/CodeGen/AArch64/sqrt-fastmath.ll
M llvm/test/CodeGen/AArch64/stack-hazard.ll
M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
A llvm/test/CodeGen/AArch64/stacksmash-arm64ec.ll
A llvm/test/CodeGen/AArch64/store-float-conversion.ll
M llvm/test/CodeGen/AArch64/sve-alloca.ll
M llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
M llvm/test/CodeGen/AArch64/sve-fptosi-sat.ll
M llvm/test/CodeGen/AArch64/sve-fptoui-sat.ll
M llvm/test/CodeGen/AArch64/sve-insert-element.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
M llvm/test/CodeGen/AArch64/sve-ldnf1.mir
M llvm/test/CodeGen/AArch64/sve-ldstnt1.mir
M llvm/test/CodeGen/AArch64/sve-llrint.ll
M llvm/test/CodeGen/AArch64/sve-lrint.ll
M llvm/test/CodeGen/AArch64/sve-pred-arith.ll
M llvm/test/CodeGen/AArch64/sve-split-extract-elt.ll
M llvm/test/CodeGen/AArch64/sve-split-insert-elt.ll
M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-trunc.ll
M llvm/test/CodeGen/AArch64/sve-vector-compress.ll
M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
M llvm/test/CodeGen/AArch64/sve-vscale-combine.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-loads.ll
M llvm/test/CodeGen/AArch64/tbl-loops.ll
M llvm/test/CodeGen/AArch64/unwind-preserved.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/xray-custom-log.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/bug-legalization-artifact-combiner-dead-def.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-pre-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-unmerge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-abi-attribute-hints.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-implicit-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-non-fixed.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-sret.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-invariant.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-sibling-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fptrunc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant-32bit.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-zextload-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/minmaxabs-i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-load.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-split-scalar-load-metadata.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uniform-load-noclobber.mir
M llvm/test/CodeGen/AMDGPU/add-max.ll
A llvm/test/CodeGen/AMDGPU/addrspacecast-gas.ll
M llvm/test/CodeGen/AMDGPU/bad-agpr-vgpr-regalloc-priority.mir
M llvm/test/CodeGen/AMDGPU/bf16-math.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/bitop3.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx1250.ll
A llvm/test/CodeGen/AMDGPU/branch-relaxation-inst-size-gfx11.ll
A llvm/test/CodeGen/AMDGPU/bug-undef-spilled-agpr.mir
M llvm/test/CodeGen/AMDGPU/build-vector-packed-partial-undef.ll
M llvm/test/CodeGen/AMDGPU/build_vector.ll
A llvm/test/CodeGen/AMDGPU/code-size-estimate-gfx1250.ll
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/fix-crash-valu-hazard.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/fmaximum.ll
M llvm/test/CodeGen/AMDGPU/fminimum.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.f32.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/freeze.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
A llvm/test/CodeGen/AMDGPU/gfx1250-no-scope-cu-stores.ll
A llvm/test/CodeGen/AMDGPU/gfx1250-scratch-scope-se.ll
M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/infer-addrspace-flat-atomic.ll
M llvm/test/CodeGen/AMDGPU/inflated-reg-class-snippet-copy-use-after-free.mir
A llvm/test/CodeGen/AMDGPU/inline-asm-out-of-bounds-register.ll
A llvm/test/CodeGen/AMDGPU/insert-waitcnts-fence-soft.mir
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
A llvm/test/CodeGen/AMDGPU/large-avgpr-assign-last.mir
A llvm/test/CodeGen/AMDGPU/lds-dma-workgroup-release.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitop3.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.e5m3.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.f16.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.f16.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scale.pk.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk16.gfx1250.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk8.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx1250.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk16.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.sr.pk.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.async.to.lds.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.store.async.from.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.gfx90a.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.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
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.perm.pk.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.gfx1250.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rcp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx11.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.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/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
M llvm/test/CodeGen/AMDGPU/load-local-i16.ll
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad_u64_u32.ll
M llvm/test/CodeGen/AMDGPU/max.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory_clause.ll
A llvm/test/CodeGen/AMDGPU/merged-bfx-opt.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
A llvm/test/CodeGen/AMDGPU/postra-sched-attribute.ll
M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
M llvm/test/CodeGen/AMDGPU/rcp-pattern.ll
A llvm/test/CodeGen/AMDGPU/read-write-register-illegal-type.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/regalloc-illegal-eviction-assert.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/rsq.f32.ll
M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.v8i16.ll
M llvm/test/CodeGen/AMDGPU/scale-offset-flat.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sext-in-reg-vector-shuffle.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/shufflevector-physreg-copy.ll
M llvm/test/CodeGen/AMDGPU/si-fold-reg-sequence.mir
M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/ssubo.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_ldexp.f16.ll
A llvm/test/CodeGen/AMDGPU/structurize-hoist.ll
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/uaddo.ll
M llvm/test/CodeGen/AMDGPU/uaddsat.ll
M llvm/test/CodeGen/AMDGPU/udivrem24.ll
M llvm/test/CodeGen/AMDGPU/undef-handling-crash-in-ra.ll
A llvm/test/CodeGen/AMDGPU/use-after-free-after-cleanup-failed-vreg.ll
M llvm/test/CodeGen/AMDGPU/usubo.ll
M llvm/test/CodeGen/AMDGPU/v_ashr_pk.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
A llvm/test/CodeGen/AMDGPU/workitem-intrinsic-opts.ll
M llvm/test/CodeGen/AMDGPU/wwm-regalloc-error.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-load-store.mir
M llvm/test/CodeGen/ARM/bad-constraint.ll
A llvm/test/CodeGen/ARM/calleetypeid-directcall-mismatched.ll
A llvm/test/CodeGen/ARM/callsite-emit-calleetypeid-tailcall.ll
A llvm/test/CodeGen/ARM/callsite-emit-calleetypeid.ll
M llvm/test/CodeGen/ARM/cmp-select-sign.ll
M llvm/test/CodeGen/ARM/div.ll
M llvm/test/CodeGen/ARM/fcopysign.ll
M llvm/test/CodeGen/ARM/fp16.ll
A llvm/test/CodeGen/ARM/inlineasm-vec-to-double.ll
M llvm/test/CodeGen/ARM/nop_concat_vectors.ll
M llvm/test/CodeGen/ARM/preferred-function-alignment.ll
M llvm/test/CodeGen/AVR/llvm.sincos.ll
M llvm/test/CodeGen/BPF/BTF/map-def-2.ll
M llvm/test/CodeGen/BPF/BTF/map-def-3.ll
A llvm/test/CodeGen/BPF/BTF/map-def-nested-array.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-DescriptorTable-Invalid-RangeType.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Error.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor-Invalid-RegisterKind.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-StaticSamplers-Invalid-MaxLod.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-StaticSamplers-Invalid-MinLod.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-StaticSamplers-Invalid-MinLopBias.ll
M llvm/test/CodeGen/Generic/allow-check.ll
A llvm/test/CodeGen/Generic/fp128-exp10-libcall.ll
M llvm/test/CodeGen/Generic/fp128-math-libcalls.ll
M llvm/test/CodeGen/Hexagon/hexagon-strcpy.ll
M llvm/test/CodeGen/Hexagon/hvx-reuse-fi-base.ll
M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fix-xvshuf.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insert-extract-element.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
M llvm/test/CodeGen/LoongArch/lasx/xvmskcond.ll
M llvm/test/CodeGen/LoongArch/llvm.exp10.ll
M llvm/test/CodeGen/LoongArch/llvm.sincos.ll
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
M llvm/test/CodeGen/M68k/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/M68k/GlobalISel/legalize-load-store.mir
A llvm/test/CodeGen/MIR/AMDGPU/noalias-addrspace-expect-id.mir
A llvm/test/CodeGen/MIR/AMDGPU/noalias-addrspace-parse.mir
A llvm/test/CodeGen/MIR/AMDGPU/noalias-addrspace-undefine-matadata.mir
A llvm/test/CodeGen/MIR/X86/call-site-info-ambiguous-indirect-call-typeid.mir
A llvm/test/CodeGen/MIR/X86/call-site-info-direct-calls-typeid.mir
A llvm/test/CodeGen/MIR/X86/call-site-info-typeid.mir
A llvm/test/CodeGen/MIR/X86/callsite-emit-calleetypeid.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/aggregate_struct_return.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/sret_pointer.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/var_arg.ll
M llvm/test/CodeGen/Mips/GlobalISel/mips-prelegalizer-combiner/inline-memcpy.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/load.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/long_ambiguous_chain_s32.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/long_ambiguous_chain_s64.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/store.mir
A llvm/test/CodeGen/Mips/abiflags-soft-float.ll
A llvm/test/CodeGen/Mips/calleetypeid-directcall-mismatched.ll
A llvm/test/CodeGen/Mips/callsite-emit-calleetypeid-tailcall.ll
A llvm/test/CodeGen/Mips/callsite-emit-calleetypeid.ll
A llvm/test/CodeGen/Mips/llvm.frexp.ll
A llvm/test/CodeGen/Mips/llvm.sincos.ll
A llvm/test/CodeGen/Mips/nan_lowering.ll
R llvm/test/CodeGen/Mips/qnan.ll
M llvm/test/CodeGen/NVPTX/aggregate-return.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/bug26185-2.ll
A llvm/test/CodeGen/NVPTX/byval-arg-vectorize.ll
M llvm/test/CodeGen/NVPTX/byval-const-global.ll
M llvm/test/CodeGen/NVPTX/call-with-alloca-buffer.ll
M llvm/test/CodeGen/NVPTX/call_bitcast_byval.ll
M llvm/test/CodeGen/NVPTX/combine-mad.ll
M llvm/test/CodeGen/NVPTX/combine-min-max.ll
A llvm/test/CodeGen/NVPTX/combine-wide.ll
M llvm/test/CodeGen/NVPTX/compare-int.ll
M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/f32x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fma.ll
A llvm/test/CodeGen/NVPTX/fold-movs.ll
M llvm/test/CodeGen/NVPTX/forward-ld-param.ll
M llvm/test/CodeGen/NVPTX/i1-select.ll
M llvm/test/CodeGen/NVPTX/i128-param.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/idioms.ll
M llvm/test/CodeGen/NVPTX/indirect_byval.ll
A llvm/test/CodeGen/NVPTX/ld-param-sink.ll
M llvm/test/CodeGen/NVPTX/local-stack-frame.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/CodeGen/NVPTX/misched_func_call.ll
M llvm/test/CodeGen/NVPTX/param-add.ll
M llvm/test/CodeGen/NVPTX/param-load-store.ll
M llvm/test/CodeGen/NVPTX/param-overalign.ll
M llvm/test/CodeGen/NVPTX/param-vectorize-device.ll
M llvm/test/CodeGen/NVPTX/proxy-reg-erasure.mir
M llvm/test/CodeGen/NVPTX/sext-setcc.ll
M llvm/test/CodeGen/NVPTX/st-param-imm.ll
M llvm/test/CodeGen/NVPTX/store-undef.ll
M llvm/test/CodeGen/NVPTX/tex-read-cuda.ll
A llvm/test/CodeGen/NVPTX/trunc-setcc.ll
M llvm/test/CodeGen/NVPTX/unaligned-param-load-store.ll
M llvm/test/CodeGen/NVPTX/vaargs.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/CodeGen/NVPTX/vector-loads.ll
A llvm/test/CodeGen/PowerPC/aix-lower-arbitrary-sized-ints.ll
M llvm/test/CodeGen/PowerPC/check-zero-vector.ll
A llvm/test/CodeGen/PowerPC/froundeven-legalization.ll
M llvm/test/CodeGen/PowerPC/more-dq-form-prepare.ll
M llvm/test/CodeGen/PowerPC/no-ctr-loop-if-exit-in-nested-loop.ll
M llvm/test/CodeGen/PowerPC/xxeval-vselect-x-and.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vararg.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-icmp-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv64.mir
M llvm/test/CodeGen/RISCV/abds.ll
A llvm/test/CodeGen/RISCV/and-negpow2-cmp.ll
A llvm/test/CodeGen/RISCV/calleetypeid-directcall-mismatched.ll
A llvm/test/CodeGen/RISCV/calling-conv-preserve-most.ll
A llvm/test/CodeGen/RISCV/callsite-emit-calleetypeid-tailcall.ll
A llvm/test/CodeGen/RISCV/callsite-emit-calleetypeid.ll
A llvm/test/CodeGen/RISCV/combine-storetomstore.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/iabs.ll
M llvm/test/CodeGen/RISCV/memset-inline.ll
M llvm/test/CodeGen/RISCV/note-gnu-property-zicfiss.ll
A llvm/test/CodeGen/RISCV/rnmi-interrupt-attr-error.ll
A llvm/test/CodeGen/RISCV/rnmi-interrupt-attr.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/rv32zbs.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-segN-load.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ssegN-load.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vploadff.ll
A llvm/test/CodeGen/RISCV/rvv/fp4-bitcast.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
Log Message:
-----------
Address comments, rebase
Created using spr 1.3.5
Compare: https://github.com/llvm/llvm-project/compare/ee156a1715a5...88e0e10b7231
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