[all-commits] [llvm/llvm-project] c988bf: [mlir][memref] Canonicalize memref.reinterpret_cas...
Zhaoxin Yang via All-commits
all-commits at lists.llvm.org
Mon Oct 27 04:03:34 PDT 2025
Branch: refs/heads/users/ylzsx/precommit-flog2
Home: https://github.com/llvm/llvm-project
Commit: c988bf82e0b400c48687480d8092c877f6560914
https://github.com/llvm/llvm-project/commit/c988bf82e0b400c48687480d8092c877f6560914
Author: Ming Yan <ming.yan at terapines.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
Log Message:
-----------
[mlir][memref] Canonicalize memref.reinterpret_cast when offset/sizes/strides are constants. (#163505)
Implement folding logic to canonicalize memref.reinterpret_cast ops when
offset, sizes and strides are compile-time constants. This removes
dynamic shape annotations and produces a static memref form, allowing
further lowering and backend optimizations.
Commit: 6fa5513033c821d2450c59661ca4042986a96c9b
https://github.com/llvm/llvm-project/commit/6fa5513033c821d2450c59661ca4042986a96c9b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
Log Message:
-----------
[clang][AST] Make some ASTContext functions static (#163921)
They don't use the instance at all, so make them static.
Commit: ac40b78e6ca077efd97009b1aaa681a5e7bbfbdc
https://github.com/llvm/llvm-project/commit/ac40b78e6ca077efd97009b1aaa681a5e7bbfbdc
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang/include/clang/Basic/arm_mve.td
M clang/include/clang/Basic/arm_mve_defs.td
M clang/utils/TableGen/MveEmitter.cpp
Log Message:
-----------
[Clang][MVE] Use IRBuilder methods to emit masked load/store (NFC) (#163790)
In preparation for an upcoming change which will convert the alignment
argument to an alignment attribute, switch MVE builtin codegen to use
the IRBuilder methods (which will handle this transparently) instead of
explicitly emitting the intrinsic.
Commit: d4f862aa85ca4111f0a611648c144b80034c4f30
https://github.com/llvm/llvm-project/commit/d4f862aa85ca4111f0a611648c144b80034c4f30
Author: Lang Hames <lhames at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
Log Message:
-----------
[ORC] Disable the ReOptimizeLayerTest on Windows. (#163930)
This test has been failing for unclear reasons. ReOptimizeLayer on
Windows isn't well supported yet, so just disable this for now.
https://github.com/llvm/llvm-project/issues/158270
Commit: 477704e0fcaf6d86b4883275882a3b281d92bf53
https://github.com/llvm/llvm-project/commit/477704e0fcaf6d86b4883275882a3b281d92bf53
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M lld/test/MachO/read-workers.s
Log Message:
-----------
[lld][MachO] Disable read-workers.s test eveywhere
The ASAN bot failed on my previous fix for builds without
threading support:
https://lab.llvm.org/buildbot/#/builders/24/builds/13751
However that build does have threading enabled, so I do
not think my change is the cause. I think the cause is
what #157917 will address:
> The new PR moves to use madvise() instead of the ad-hoc page referencing code I wrote which should avoid SIGSEGVs if the buffer is deallocated.
While that is being reviewed, do not run this test
anywhere. Though the failure I saw was with ASAN, I
think it could happen anywhere.
Commit: 1e7a23f82209471b393561b215dea170f87b8584
https://github.com/llvm/llvm-project/commit/1e7a23f82209471b393561b215dea170f87b8584
Author: SahilPatidar <sahilpatidar60 at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
A llvm/include/llvm/ExecutionEngine/Orc/Shared/SymbolFilter.h
A llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryResolver.h
A llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryScanner.h
M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/TargetProcess/LibraryResolver.cpp
A llvm/lib/ExecutionEngine/Orc/TargetProcess/LibraryScanner.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/Inputs/A/A_linux.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/A/A_macho.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/B/B_linux.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/B/B_macho.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/C/C_linux.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/C/C_macho.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/D/D_linux.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/D/D_macho.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/Z/Z_linux.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/Z/Z_macho.yaml
A llvm/unittests/ExecutionEngine/Orc/LibraryResolverTest.cpp
Log Message:
-----------
[ORC] Add automatic shared library resolver for unresolved symbols. (#148410)
This PR introduces a redesigned and rebuilt Cling-based auto-loading
workaround, which enables scanning libraries and searching for
unresolved symbols within the scanned libraries.
Commit: a43c0cf77ff52c844a841bab00cd0b54063709ef
https://github.com/llvm/llvm-project/commit/a43c0cf77ff52c844a841bab00cd0b54063709ef
Author: Lucie Choi <ychoi0407 at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang/lib/Driver/ToolChains/HLSL.cpp
M llvm/docs/SPIRVUsage.rst
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_maximal_reconvergence/enable-maximal-reconvergence.ll
Log Message:
-----------
[SPIR-V] Generate SPIR-V instructions when 'enable-maximal-reconvergence' function attribute is set (#163682)
Implement maximal reconvergence in SPIR-V codegen.
Addresses https://github.com/llvm/llvm-project/issues/136930
Commit: fc1d171277d7835604bb986513e12c68de639be9
https://github.com/llvm/llvm-project/commit/fc1d171277d7835604bb986513e12c68de639be9
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
Log Message:
-----------
[SPIRV][NFC] Remove useless cast to Constant (#163935)
Commit: 0f8a13775d1e7f8e2248d40a6ef35e87331827de
https://github.com/llvm/llvm-project/commit/0f8a13775d1e7f8e2248d40a6ef35e87331827de
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/Reg2Mem.cpp
Log Message:
-----------
[NFC][LLVM] Namespace cleanup in Reg2Mem.cpp (#163765)
Commit: 993e80d84645afa53b5dbf72325bab26ce5dfcec
https://github.com/llvm/llvm-project/commit/993e80d84645afa53b5dbf72325bab26ce5dfcec
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/test/CodeGen/X86/rotate-extract-vector.ll
Log Message:
-----------
[X86] rotate-extract-vector.ll - regenerate test checks (#163939)
Commit: e40f215573ba627c647d72cd942bb91380e45f60
https://github.com/llvm/llvm-project/commit/e40f215573ba627c647d72cd942bb91380e45f60
Author: Luc Forget <lforg37 at users.noreply.github.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
M mlir/include/mlir/Target/Wasm/WasmBinaryEncoding.h
M mlir/lib/Dialect/WasmSSA/IR/WasmSSAOps.cpp
M mlir/lib/Target/Wasm/TranslateFromWasm.cpp
M mlir/test/Dialect/WasmSSA/custom_parser/global.mlir
M mlir/test/Dialect/WasmSSA/custom_parser/if.mlir
M mlir/test/Dialect/WasmSSA/custom_parser/import.mlir
M mlir/test/Dialect/WasmSSA/custom_parser/local.mlir
M mlir/test/Dialect/WasmSSA/custom_parser/memory.mlir
M mlir/test/Dialect/WasmSSA/custom_parser/table.mlir
M mlir/test/Dialect/WasmSSA/extend-invalid.mlir
M mlir/test/Dialect/WasmSSA/global-invalid.mlir
M mlir/test/Dialect/WasmSSA/locals-invalid.mlir
M mlir/test/Target/Wasm/abs.mlir
A mlir/test/Target/Wasm/add_div.mlir
M mlir/test/Target/Wasm/and.mlir
A mlir/test/Target/Wasm/block.mlir
A mlir/test/Target/Wasm/block_complete_type.mlir
A mlir/test/Target/Wasm/block_value_type.mlir
A mlir/test/Target/Wasm/branch_if.mlir
A mlir/test/Target/Wasm/call.mlir
M mlir/test/Target/Wasm/clz.mlir
A mlir/test/Target/Wasm/comparison_ops.mlir
M mlir/test/Target/Wasm/const.mlir
A mlir/test/Target/Wasm/convert.mlir
M mlir/test/Target/Wasm/copysign.mlir
M mlir/test/Target/Wasm/ctz.mlir
A mlir/test/Target/Wasm/demote.mlir
M mlir/test/Target/Wasm/div.mlir
A mlir/test/Target/Wasm/double_nested_loop.mlir
A mlir/test/Target/Wasm/empty_blocks_list_and_stack.mlir
A mlir/test/Target/Wasm/eq.mlir
A mlir/test/Target/Wasm/eqz.mlir
A mlir/test/Target/Wasm/extend.mlir
M mlir/test/Target/Wasm/global.mlir
A mlir/test/Target/Wasm/if.mlir
M mlir/test/Target/Wasm/import.mlir
A mlir/test/Target/Wasm/inputs/add_div.yaml.wasm
A mlir/test/Target/Wasm/inputs/block.yaml.wasm
A mlir/test/Target/Wasm/inputs/block_complete_type.yaml.wasm
A mlir/test/Target/Wasm/inputs/block_value_type.yaml.wasm
A mlir/test/Target/Wasm/inputs/branch_if.yaml.wasm
A mlir/test/Target/Wasm/inputs/call.yaml.wasm
A mlir/test/Target/Wasm/inputs/comparison_ops.yaml.wasm
A mlir/test/Target/Wasm/inputs/convert.yaml.wasm
A mlir/test/Target/Wasm/inputs/demote.yaml.wasm
A mlir/test/Target/Wasm/inputs/double_nested_loop.yaml.wasm
A mlir/test/Target/Wasm/inputs/empty_blocks_list_and_stack.yaml.wasm
A mlir/test/Target/Wasm/inputs/eq.yaml.wasm
A mlir/test/Target/Wasm/inputs/eqz.yaml.wasm
A mlir/test/Target/Wasm/inputs/extend.yaml.wasm
A mlir/test/Target/Wasm/inputs/if.yaml.wasm
A mlir/test/Target/Wasm/inputs/loop.yaml.wasm
A mlir/test/Target/Wasm/inputs/loop_with_inst.yaml.wasm
A mlir/test/Target/Wasm/inputs/ne.yaml.wasm
A mlir/test/Target/Wasm/inputs/promote.yaml.wasm
A mlir/test/Target/Wasm/inputs/reinterpret.yaml.wasm
A mlir/test/Target/Wasm/inputs/rounding.yaml.wasm
A mlir/test/Target/Wasm/inputs/wrap.yaml.wasm
A mlir/test/Target/Wasm/invalid_block_type_index.yaml
M mlir/test/Target/Wasm/local.mlir
A mlir/test/Target/Wasm/loop.mlir
A mlir/test/Target/Wasm/loop_with_inst.mlir
M mlir/test/Target/Wasm/max.mlir
M mlir/test/Target/Wasm/memory_min_eq_max.mlir
M mlir/test/Target/Wasm/memory_min_max.mlir
M mlir/test/Target/Wasm/memory_min_no_max.mlir
M mlir/test/Target/Wasm/min.mlir
A mlir/test/Target/Wasm/ne.mlir
M mlir/test/Target/Wasm/neg.mlir
M mlir/test/Target/Wasm/or.mlir
M mlir/test/Target/Wasm/popcnt.mlir
A mlir/test/Target/Wasm/promote.mlir
A mlir/test/Target/Wasm/reinterpret.mlir
M mlir/test/Target/Wasm/rem.mlir
M mlir/test/Target/Wasm/rotl.mlir
M mlir/test/Target/Wasm/rotr.mlir
A mlir/test/Target/Wasm/rounding.mlir
M mlir/test/Target/Wasm/shl.mlir
M mlir/test/Target/Wasm/shr_s.mlir
M mlir/test/Target/Wasm/shr_u.mlir
M mlir/test/Target/Wasm/sqrt.mlir
M mlir/test/Target/Wasm/sub.mlir
A mlir/test/Target/Wasm/wrap.mlir
M mlir/test/Target/Wasm/xor.mlir
Log Message:
-----------
[MLIR][WASM] Control flow, conversion and comparison in Wasm importer (#154674)
This is the following of PR #154452.
It extend Wasm binary to Wasm SSA importer with support of control flow
operations, comparison operations and conversion operations.
---------
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: 8db1aabf8bbbb516d239ca64e90b6ca4e1da5b6f
https://github.com/llvm/llvm-project/commit/8db1aabf8bbbb516d239ca64e90b6ca4e1da5b6f
Author: SahilPatidar <sahilpatidar60 at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
R llvm/include/llvm/ExecutionEngine/Orc/Shared/SymbolFilter.h
R llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryResolver.h
R llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryScanner.h
M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt
R llvm/lib/ExecutionEngine/Orc/TargetProcess/LibraryResolver.cpp
R llvm/lib/ExecutionEngine/Orc/TargetProcess/LibraryScanner.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
R llvm/unittests/ExecutionEngine/Orc/Inputs/A/A_linux.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/A/A_macho.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/B/B_linux.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/B/B_macho.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/C/C_linux.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/C/C_macho.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/D/D_linux.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/D/D_macho.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/Z/Z_linux.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/Z/Z_macho.yaml
R llvm/unittests/ExecutionEngine/Orc/LibraryResolverTest.cpp
Log Message:
-----------
Revert "[ORC] Add automatic shared library resolver for unresolved symbols." (#163943)
Reverts llvm/llvm-project#148410
Reverting this change due to a few buildbot/test failures. Will
investigate and reapply once the issues are resolved.
Commit: 8c72b2ae4e39aba8a38304f9df728d347ca2aaa9
https://github.com/llvm/llvm-project/commit/8c72b2ae4e39aba8a38304f9df728d347ca2aaa9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-sdiv.ll
M llvm/test/CodeGen/X86/combine-udiv.ll
M llvm/test/CodeGen/X86/prefer-avx256-wide-mul.ll
M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-128.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-256.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
M llvm/test/CodeGen/X86/vector-idiv-udiv-128.ll
M llvm/test/CodeGen/X86/vector-idiv-udiv-256.ll
M llvm/test/CodeGen/X86/vector-idiv-udiv-512.ll
Log Message:
-----------
[X86] LowervXi8MulWithUNPCK - remove special case constant folding handling (#163567)
Leave this to shuffle folding instead.
Commit: b00c4ff4b9d6e55a00bb2fcc71dbcd37e1305188
https://github.com/llvm/llvm-project/commit/b00c4ff4b9d6e55a00bb2fcc71dbcd37e1305188
Author: Nathan Corbyn <n_corbyn at apple.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/IR/Verifier.cpp
M llvm/test/Transforms/LowerMatrixIntrinsics/data-layout-multiply-fused.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/data-layout.ll
M llvm/test/Verifier/matrix-intrinsics.ll
Log Message:
-----------
[Matrix][IR] Cap stride bitwidth at 64 (#163729)
a1ef81d added overloads for `llvm.matrix.column.major.store` and
`llvm.matrix.column.major.load` that allow strides to occupy an
arbitrary bitwidth. This change wasn't reflected in the verifier,
causing an assertion to trip when given strides overflowing 64-bit. This
patch explicitly caps the bitwidth at 64, repairing the crash and
avoiding future complexity dealing with strides that overflow 64 bits.
PR: https://github.com/llvm/llvm-project/pull/163729
Commit: 0590c9e828c47053397e9a8ebae3b0ed84f3d593
https://github.com/llvm/llvm-project/commit/0590c9e828c47053397e9a8ebae3b0ed84f3d593
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/test/Transforms/IndVarSimplify/pointer-loop-guards.ll
Log Message:
-----------
[IndVars] Add additional tests with ICMP_NE loop guards.
Extra test coverage for
https://github.com/llvm/llvm-project/pull/163787.
Commit: fbbffc11690c0f47bdc74939b290696df4c1c061
https://github.com/llvm/llvm-project/commit/fbbffc11690c0f47bdc74939b290696df4c1c061
Author: Keshav Vinayak Jha <31160700+keshavvinayak01 at users.noreply.github.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/include/mlir/Conversion/MathToROCDL/MathToROCDL.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/MathToROCDL/CMakeLists.txt
M mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
M mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
Log Message:
-----------
[MLIR][ROCDL] Add math.clampf -> rocdl.fmed3 conversion (#163520)
Added Pattern for lowering `Math::ClampFOp` to `ROCDL::FMED3`.
Also added `chipet` option to `MathToRocdl` pass to check for arch
support ISA instructions
Solves [#15072](https://github.com/llvm/llvm-project/issues/157052)
Reapplies https://github.com/llvm/llvm-project/pull/160100
Un-reverts the merged https://github.com/llvm/llvm-project/pull/163259,
and fixes the error.
---------
Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>
Commit: 38ce641e9cef28dbb1fd8c6227c01dfb2ff6ee8f
https://github.com/llvm/llvm-project/commit/38ce641e9cef28dbb1fd8c6227c01dfb2ff6ee8f
Author: Nathan Gauër <brioche at google.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M .ci/premerge_advisor_upload.py
Log Message:
-----------
[CI] Fix unpacking in premerge advisor upload (#163944)
Seems like the function returns a dict, not a list of tuples like the
other.
Not sure of the schema or the design for this, so fixing the code
without using the test-suite name. But this might have to be addressed
once the owner can take a look.
Commit: 8fd558dc2563d870925ce1a9587171aed2e96cf3
https://github.com/llvm/llvm-project/commit/8fd558dc2563d870925ce1a9587171aed2e96cf3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/avx-shift.ll
M llvm/test/CodeGen/X86/avx2-arith.ll
M llvm/test/CodeGen/X86/combine-mul.ll
M llvm/test/CodeGen/X86/combine-shl.ll
M llvm/test/CodeGen/X86/combine-srem.ll
M llvm/test/CodeGen/X86/combine-urem.ll
M llvm/test/CodeGen/X86/madd.ll
M llvm/test/CodeGen/X86/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
M llvm/test/CodeGen/X86/pmul.ll
M llvm/test/CodeGen/X86/sdiv-exact.ll
M llvm/test/CodeGen/X86/shrink_vmul.ll
M llvm/test/CodeGen/X86/slow-pmulld.ll
M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/srem-seteq-vec-splat.ll
M llvm/test/CodeGen/X86/udiv-exact.ll
M llvm/test/CodeGen/X86/undo-mul-and.ll
M llvm/test/CodeGen/X86/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-nonzero.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-splat.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-tautological.ll
M llvm/test/CodeGen/X86/var-permute-128.ll
M llvm/test/CodeGen/X86/vec_reassociate.ll
M llvm/test/CodeGen/X86/vector-fshl-128.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-sub128.ll
M llvm/test/CodeGen/X86/vector-fshr-128.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-mul.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-ssse3.ll
M llvm/test/CodeGen/X86/vector-trunc-math.ll
M llvm/test/CodeGen/X86/vselect-avx.ll
M llvm/test/CodeGen/X86/vselect-pcmp.ll
Log Message:
-----------
[X86] addConstantComments - add vector constant printing for (V)PMULLD instructions (#163949)
Commit: 5d0a4a1305dca6aa3a9b37fe391661fc8b35b862
https://github.com/llvm/llvm-project/commit/5d0a4a1305dca6aa3a9b37fe391661fc8b35b862
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
Log Message:
-----------
[mlir][spirv] Emit error when block to be unlinked has uses after structurization (#163942)
This fixes the bug where deserializer would fail, with as assert, during
the control flow structurization when a block to be removed still had
uses. This indicates that the block that was sunk still is being
referenced outside the region as the control flow is not structured.
closes #163099
Commit: d74c9768c59d343d5be3d46e6aacf277312bf548
https://github.com/llvm/llvm-project/commit/d74c9768c59d343d5be3d46e6aacf277312bf548
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/docs/Dialects/Shard.md
M mlir/include/mlir/Dialect/Shard/IR/ShardOps.td
Log Message:
-----------
[NFC][MLIR][shard] improving shard docs (#163782)
This PR seeks to improve the clarity of the Shard dialect documentation,
in particular the descriptions of the communication operations.
Commit: d17d32a6cb6d477becc528c94f01aa883101da92
https://github.com/llvm/llvm-project/commit/d17d32a6cb6d477becc528c94f01aa883101da92
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/any_all_true.ll
M llvm/test/Transforms/InstSimplify/ConstProp/bitcount.ll
A llvm/test/Transforms/InstSimplify/ConstProp/bitreverse.ll
M llvm/test/Transforms/InstSimplify/ConstProp/bswap.ll
M llvm/test/Transforms/InstSimplify/ConstProp/vecreduce.ll
Log Message:
-----------
[LLVM][ConstProp] Enable intrinsic simplifications for vector ConstantInt based operands. (#159358)
Simplifcation of vector.reduce intrinsics are prevented by an early
bailout for ConstantInt base operands. This PR removes the bailout and
updates the tests to show matching output when
-use-constant-int-for-*-splat is used.
Commit: a358043ac1ee17bdcb0224a193a6e8812fb0960e
https://github.com/llvm/llvm-project/commit/a358043ac1ee17bdcb0224a193a6e8812fb0960e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/vector-mul.ll
M llvm/test/CodeGen/X86/vector-trunc-math.ll
Log Message:
-----------
[X86] addConstantComments - add vector constant printing for VPMULLQ instructions (#163953)
Commit: 0cefd5c3c2277f24d195aa6d6a730e41515e6495
https://github.com/llvm/llvm-project/commit/0cefd5c3c2277f24d195aa6d6a730e41515e6495
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
Log Message:
-----------
CodeGen: Fix hardcoded libcall names in insertSSPDeclarations (NFC) (#163710)
Commit: f44f83a35d0faa2393e63d7e3a0343277366a695
https://github.com/llvm/llvm-project/commit/f44f83a35d0faa2393e63d7e3a0343277366a695
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/typeid.cpp
Log Message:
-----------
[clang][bytecode] Reject typeid pointers from OffsetHelper (#163793)
Commit: 936e03867f5ef803cb628b0e1d5a29f4f7a8aff3
https://github.com/llvm/llvm-project/commit/936e03867f5ef803cb628b0e1d5a29f4f7a8aff3
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for performance-unnecessary-value-param in OpenMPToLLVMIRTranslation.cpp (NFC)
Commit: 0fdfad37d85582344e3c2a8067e13190152f7d3b
https://github.com/llvm/llvm-project/commit/0fdfad37d85582344e3c2a8067e13190152f7d3b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/last-non-copyable-inst-used-outside-bb.ll
Log Message:
-----------
[SLP]Fix insert point for copyable node with the last inst, used only outside the block
If the copyable entry has the last instruction, used only outside the
block, tha insert ion point for the vector code should be the last
instruction itself, not the following one. It prevents wrong def-use
sequences, which might be generated for the buildvector nodes.
Fixes #163404
Commit: f404517cb9d762e035f7bc2b5201990465b32853
https://github.com/llvm/llvm-project/commit/f404517cb9d762e035f7bc2b5201990465b32853
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/combine-multiplies.ll
M llvm/test/CodeGen/X86/combine-pmuldq.ll
M llvm/test/CodeGen/X86/combine-rotates.ll
M llvm/test/CodeGen/X86/combine-shl.ll
M llvm/test/CodeGen/X86/dagcombine-shifts.ll
M llvm/test/CodeGen/X86/funnel-shift.ll
M llvm/test/CodeGen/X86/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
M llvm/test/CodeGen/X86/known-pow2.ll
M llvm/test/CodeGen/X86/madd.ll
M llvm/test/CodeGen/X86/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
M llvm/test/CodeGen/X86/sdiv-exact.ll
M llvm/test/CodeGen/X86/shrink_vmul.ll
M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/udiv-exact.ll
M llvm/test/CodeGen/X86/undo-mul-and.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-splat.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-tautological.ll
M llvm/test/CodeGen/X86/vector-fshl-128.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-fshl-rot-sub128.ll
M llvm/test/CodeGen/X86/vector-fshl-sub128.ll
M llvm/test/CodeGen/X86/vector-fshr-128.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-fshr-rot-sub128.ll
M llvm/test/CodeGen/X86/vector-mul.ll
M llvm/test/CodeGen/X86/vector-rotate-128.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-ssse3.ll
M llvm/test/CodeGen/X86/vector-trunc-math.ll
Log Message:
-----------
[X86] addConstantComments - add vector constant printing for (V)PMULDQ/(V)PMULUDQ instructions (#163958)
Commit: f3cd6b749c809b3b6fbe0de4e8fd2daa94493d3f
https://github.com/llvm/llvm-project/commit/f3cd6b749c809b3b6fbe0de4e8fd2daa94493d3f
Author: Chris B <chris.bieneman at me.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CodeGenHLSL/Operators/logical-not.hlsl
A clang/test/SemaHLSL/Operators/logical-not.hlsl
Log Message:
-----------
[HLSL] Convert vectors to bool for unary ! (#163857)
HLSL extends C++'s requirement that unary `!` apply to boolean arguments
and produces boolean results to apply to vectors. This change implements
implicit conversion for non-boolean vector operands to boolean vectors.
I've noted this behavior in the issue tracking writing the HLSL
specification section on unary operators
(https://github.com/microsoft/hlsl-specs/issues/686).
Fixes #162913
---------
Co-authored-by: Farzon Lotfi <farzonl at gmail.com>
Co-authored-by: Erich Keane <ekeane at nvidia.com>
Commit: 98a6b6e78ae4cf53329ef5b5464a055fed259014
https://github.com/llvm/llvm-project/commit/98a6b6e78ae4cf53329ef5b5464a055fed259014
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Improve code using SCEVPatternMatch (NFC) (#163946)
Commit: ed1716f8deede2eb3b2e04b84ea7fd9667ef0d41
https://github.com/llvm/llvm-project/commit/ed1716f8deede2eb3b2e04b84ea7fd9667ef0d41
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/docs/CodeOfConduct.rst
Log Message:
-----------
[docs][Coc] Add link to most recent transparency report (#163964)
Commit: 728e925476c6c8c54cf2f3403dec014be63b4379
https://github.com/llvm/llvm-project/commit/728e925476c6c8c54cf2f3403dec014be63b4379
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
Log Message:
-----------
[AMDPGU] Auto-upgrade ELF mangling in the data layout (#163644)
Summary:
The changes in https://github.com/llvm/llvm-project/pull/163011 caused
all ELF platforms to default to ELF mangling. We want to auto upgrade
this for linking in new programs to old ones.
Commit: 1c11c6004c820bf43eb2356da93e7bc8cb38f51e
https://github.com/llvm/llvm-project/commit/1c11c6004c820bf43eb2356da93e7bc8cb38f51e
Author: Justin Holewinski <jholewinski at nvidia.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Remarks/BitstreamRemarkParser.h
Log Message:
-----------
Fix MSVC compile error in BitstreamRemarkParser.h when targeting C++17
The following errors are seen in our builds using MSVC 2022:
BitstreamRemarkParser.h(115): error C2990: 'llvm::remarks::BitstreamBlockParserHelper': non-class template has already been declared as a class template
BitstreamRemarkParser.h(66): note: see declaration of 'llvm::remarks::BitstreamBlockParserHelper'
This change fixes the build issue by adding an explicit template
argument to the `friend class` statements.
This issue is not seen if using `-std:c++20`, but we still support
building as C++17.
Commit: 041ac7a193e0da962f2f9822fb4a7a720b36105a
https://github.com/llvm/llvm-project/commit/041ac7a193e0da962f2f9822fb4a7a720b36105a
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
A llvm/test/DebugInfo/X86/shrink-wrap-frame-setup-no-loc.mir
Log Message:
-----------
[DWARF] Don't leak line numbers onto frame-setup instructions (#161845)
Fixes issue #157887
Commit: 1dfbfbd637a67b58c4ab24f78ef30e5c0491ea48
https://github.com/llvm/llvm-project/commit/1dfbfbd637a67b58c4ab24f78ef30e5c0491ea48
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROpsEnums.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/Comment.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/lib/Tooling/Execution.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/unittests/StaticAnalyzer/RangeSetTest.cpp
M clang/unittests/StaticAnalyzer/SValTest.cpp
Log Message:
-----------
[clang] Replace LLVM_ATTRIBUTE_UNUSED with [[maybe_unused]] (NFC) (#163914)
This patch replaces LLVM_ATTRIBUTE_UNUSED with [[maybe_unused]],
introduced as part of C++17.
Commit: a2263812ed120960d5287a149b352b0b6905ef8c
https://github.com/llvm/llvm-project/commit/a2263812ed120960d5287a149b352b0b6905ef8c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-tidy/ClangTidyForceLinker.h
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/unittests/FileDistanceTests.cpp
M clang-tools-extra/clangd/unittests/QualityTests.cpp
M clang-tools-extra/clangd/unittests/URITests.cpp
Log Message:
-----------
[clang-tools-extra] Replace LLVM_ATTRIBUTE_UNUSED with [[maybe_unused]] (NFC) (#163915)
This patch replaces LLVM_ATTRIBUTE_UNUSED with [[maybe_unused]],
introduced as part of C++17.
Commit: 7d25ba39c8ac4a08c30620463bdc5f586b43c1cd
https://github.com/llvm/llvm-project/commit/7d25ba39c8ac4a08c30620463bdc5f586b43c1cd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
Log Message:
-----------
[flang] Replace LLVM_ATTRIBUTE_UNUSED with [[maybe_unused]] (NFC) (#163916)
This patch replaces LLVM_ATTRIBUTE_UNUSED with [[maybe_unused]],
introduced as part of C++17.
Commit: 098664603e9695806235ed3ec8fa5b4afd8b4e77
https://github.com/llvm/llvm-project/commit/098664603e9695806235ed3ec8fa5b4afd8b4e77
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp
Log Message:
-----------
[mlir] Replace LLVM_ATTRIBUTE_UNUSED with [[maybe_unused]] (NFC) (#163917)
This patch replaces LLVM_ATTRIBUTE_UNUSED with [[maybe_unused]],
introduced as part of C++17.
Commit: ad3de39853111252af3384b6ea715a131ed60e13
https://github.com/llvm/llvm-project/commit/ad3de39853111252af3384b6ea715a131ed60e13
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/docs/TableGen/BackEnds.rst
Log Message:
-----------
[llvm] Proofread TableGen/BackEnds.rst (#163918)
Commit: 4b1d7827c07381610ad4fa7bd9d1a9659008b963
https://github.com/llvm/llvm-project/commit/4b1d7827c07381610ad4fa7bd9d1a9659008b963
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[X86] addConstantComments - merge (V)PMADDUBSW handling with all other mul opcode (#163963)
These now all use the same asm printout code
Commit: 7c02ca846c3477bcda6b3e630377e30ab39370bf
https://github.com/llvm/llvm-project/commit/7c02ca846c3477bcda6b3e630377e30ab39370bf
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[NFC][LLVM] Namespace cleanup in LowerMatrixIntrinsics (#163760)
Commit: 1e1ff21b0017464e1d39d34121020e61f1c4df60
https://github.com/llvm/llvm-project/commit/1e1ff21b0017464e1d39d34121020e61f1c4df60
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Transforms/CFGuard/CFGuard.cpp
Log Message:
-----------
[NFC][LLVM] Code cleanup in CFGuard.cpp (#163773)
Commit: 9ab16778c6e37e3d34e28b990bdb8839e5961805
https://github.com/llvm/llvm-project/commit/9ab16778c6e37e3d34e28b990bdb8839e5961805
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.h
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
A flang/test/Fir/OpenACC/pointer-like-interface-alloc.mlir
A flang/test/Fir/OpenACC/pointer-like-interface-copy.mlir
A flang/test/Fir/OpenACC/pointer-like-interface-free.mlir
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/fir-opt/fir-opt.cpp
Log Message:
-----------
[flang][acc] Implement PointerLikeType API gen[Allocate/Free/Copy] (#163660)
Implements genAllocate, genFree, and genCopy for FIR pointer types
(fir.ref, fir.ptr, fir.heap, fir.llvm_ptr) in the OpenACC
PointerLikeType interface.
- genAllocate: Uses fir.alloca for stack types, fir.allocmem for heap
types. Returns null for dynamic/unknown types (unlimited polymorphic,
dynamic arrays, dynamic character lengths, box types).
- genFree: Generates fir.freemem for heap allocations. Returns false if
original allocation cannot be found.
- genCopy: Uses fir.load+fir.store for trivial types (scalars),
hlfir.assign for non-trivial types (arrays, derived types, characters).
Returns false for unsupported dynamic types and box types.
Adds comprehensive MLIR tests covering various FIR types and edge cases.
Commit: 8fe71e0bdfb9102c607001289010698e51e38711
https://github.com/llvm/llvm-project/commit/8fe71e0bdfb9102c607001289010698e51e38711
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Support/SourceMgr.cpp
Log Message:
-----------
[support] Don't require VFS in `SourceMgr` for loading includes (#163862)
This commit more gracefully handles situations where `SourceMgr` isn't
initialized with a VFS and tries to resolve an include. That's what
happens with the test case `clang -flto=thin -c test.c -o /dev/null`
where test.c contains `asm(" .incbin \"foo.i\" \n");`. Propagating the
actual VFS all the way is very difficult.
This is a follow-up to #162903.
Commit: 212eb8107363c55de511c155dc3c4ad6337414c3
https://github.com/llvm/llvm-project/commit/212eb8107363c55de511c155dc3c4ad6337414c3
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/test/Lower/polymorphic-temp.f90
Log Message:
-----------
To support unlimited polymorphic argument for intrinsic MERGE. (#163866)
This PR will allow unlimited polymorphic arguments `class(*)` for
intrinsics.
Fixes #143582
Commit: a55c4c812ee84b2948db6bdd656bce57d7f5b55c
https://github.com/llvm/llvm-project/commit/a55c4c812ee84b2948db6bdd656bce57d7f5b55c
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/exp2m1f.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp2m1f.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp2m1f.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 exp2m1f implementation to header-only in src/__support/math folder. (#162017)
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: 997560090e791558ca41ff3e5f4eec717102046c
https://github.com/llvm/llvm-project/commit/997560090e791558ca41ff3e5f4eec717102046c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pr162812.ll
Log Message:
-----------
[X86] combineSelect - remove X86ISD::BLENDV if the condition signbit is known (#163974)
Fixes part of #162812
Commit: bde0a8cd632ec714ea26e04dea0b7bd0f3231cfa
https://github.com/llvm/llvm-project/commit/bde0a8cd632ec714ea26e04dea0b7bd0f3231cfa
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/Headers/__clang_hip_runtime_wrapper.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/CodeGenCUDA/Inputs/cuda.h
A clang/test/CodeGenCUDA/cluster_dims.cu
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/SemaCUDA/Inputs/cuda.h
A clang/test/SemaCUDA/cluster_dims.cu
Log Message:
-----------
[Clang][HIP][CUDA] Add `__cluster_dims__` and `__no_cluster__` attribute (#156686)
This PR adds basic frontend support for `__cluster_dims__` and
`__no_cluster__` attribute.
In CUDA/HIP programming, the ``__cluster_dims__`` attribute can be
applied to a kernel function to set the dimensions of a thread block
cluster. The ``__no_cluster__`` attribute can be applied to a kernel
function to indicate that the thread block cluster feature will not be
enabled at both compile time and kernel launch time. Note that
`__no_cluster__` is a LLVM/Clang only attribute.
Co-authored-by: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Co-authored-by: Jay Foad <jay.foad at amd.com>
Commit: c4ceb8d7e515859686ff6966a756c8c9b6ab089f
https://github.com/llvm/llvm-project/commit/c4ceb8d7e515859686ff6966a756c8c9b6ab089f
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M libc/include/llvm-libc-macros/netinet-in-macros.h
M libc/test/include/netinet_in_test.cpp
Log Message:
-----------
[libc] add IPV6 related macros (#162219)
Commit: 404099dcf23db0b093263aff46d6f9416e0d8a27
https://github.com/llvm/llvm-project/commit/404099dcf23db0b093263aff46d6f9416e0d8a27
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M libc/test/src/arpa/inet/CMakeLists.txt
Log Message:
-----------
[libc][NFC] Remove cpp20 requirement for arpa/inet test (#163983)
Address
https://github.com/llvm/llvm-project/pull/162651#discussion_r2417151569.
Commit: f7a5264890fe050124cd576410695a7c90c4d8d8
https://github.com/llvm/llvm-project/commit/f7a5264890fe050124cd576410695a7c90c4d8d8
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
Log Message:
-----------
[mlir][vector] Add support for yielding loop bounds in `scf.for` distribution. (#163443)
In some cases, loop bounds (lower, upper and step) of `scf.for` can come
locally from the parent warp op the `scf.for`. Current logic will not
yield the loop bounds in the new warp op generated during lowering
causing sinked `scf.for` to have non dominating use.
In this PR, we have added logic to yield loop bounds by default (treat
them as other operands of `scf.for`) which fixes this bug.
Commit: fcb5293ad0a13b665cbaee26edf33cbfaab6404d
https://github.com/llvm/llvm-project/commit/fcb5293ad0a13b665cbaee26edf33cbfaab6404d
Author: kper <kevin.per at protonmail.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-trunc.ll
Log Message:
-----------
[InstCombine]: Canonicalize to a mask when trunc nuw (#163628)
The canonicalize is also triggered when the `trunc` is `nuw`.
Proof: https://alive2.llvm.org/ce/z/eWvWe3
Fixes: https://github.com/llvm/llvm-project/issues/162451
Commit: 7bbb03d516251a3dee09ee2fe2a37c0f15f1ddbc
https://github.com/llvm/llvm-project/commit/7bbb03d516251a3dee09ee2fe2a37c0f15f1ddbc
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
Log Message:
-----------
[NFC][SROA][DebugInfo] Reuse existing dbg_assigns where possible (#163938)
Addresses issue #145937
Without this patch SROA generates new dbg_assign for new stores. We can
simply steal the existing dbg_assigns linked to the old store when the
store is not being split.
Commit: a99e32b23a1f074149ebdfafdcc735b8ceadd548
https://github.com/llvm/llvm-project/commit/a99e32b23a1f074149ebdfafdcc735b8ceadd548
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M polly/docs/ReleaseNotes.rst
M polly/include/polly/LinkAllPasses.h
R polly/include/polly/ScopInliner.h
M polly/lib/Support/PollyPasses.def
M polly/lib/Support/RegisterPasses.cpp
M polly/lib/Transform/ScopInliner.cpp
M polly/test/ScopInliner/ignore-declares.ll
M polly/test/ScopInliner/invariant-load-func.ll
M polly/test/ScopInliner/simple-inline-loop.ll
Log Message:
-----------
Revert "[Polly] Update ScopInliner for NPM (#125427)"
This reverts commit 0b9a7b80c0674c5c6f746139912111bea7eae63b.
This is causing test failures under LLVM:
1. Other/pass-pipeline-parsing.ll
This broke premerge. This was notably not caught by premerge testing on
the original PR because the original PR only touches polly, and premerge
does not test LLVM when only polly is touched.
Commit: 1e78d332223415f35cc5ce24000eb6159b9a355e
https://github.com/llvm/llvm-project/commit/1e78d332223415f35cc5ce24000eb6159b9a355e
Author: Muzammil <55665739+Muzammiluddin-Syed-ECE at users.noreply.github.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
Log Message:
-----------
[mlir][arith][nfc] Adding examples to scaling_extf/truncf descriptions (#163980)
Signed-off-by: Muzammiluddin Syed <muzasyed at amd.com>
Commit: df2ff3a1b2c231f8ec78c244950687cdc54b507b
https://github.com/llvm/llvm-project/commit/df2ff3a1b2c231f8ec78c244950687cdc54b507b
Author: don <122427011+donneypr at users.noreply.github.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][x86][bytecode] remove trailing returns type from interp__builtin_elementwise_int_unaryop callbacks (#163905)
Regarding the discussion in #162346, this PR is to remove the trailing type from the 'interp__builtin_elementwise_int_unaryop' callbacks.
Commit: 92757f9de34a5f08873064be0e30d7cdeaae895f
https://github.com/llvm/llvm-project/commit/92757f9de34a5f08873064be0e30d7cdeaae895f
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/IR/invalid-try-catch.cir
Log Message:
-----------
[CIR] TryOp add arg default value and update diagnostic (#163856)
- Add a default value to handler_types to be able to construct TryOp,
then modify the handlers.
- Move empty region diagnostic from tablegen constraints to C++, because
we need the ability to add an empty region, then modify it later, for
example, in the handlers builder, but we need to report an error when we
find it in the IR while parsing.
Issue https://github.com/llvm/llvm-project/issues/154992
Commit: 6b36cfaef8fc26fe0e9538c095fa0d1ee5703756
https://github.com/llvm/llvm-project/commit/6b36cfaef8fc26fe0e9538c095fa0d1ee5703756
Author: J. Ryan Stinnett <jryans at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/Value.h
M llvm/lib/IR/DebugInfo.cpp
Log Message:
-----------
[NFC][IR][DebugInfo] Fix typos in comments (#163957)
This fixes a few typos noticed while browsing around IR-related files.
Commit: d6191b8b23fc5c23c61bba0bccd61e7578ea1f6e
https://github.com/llvm/llvm-project/commit/d6191b8b23fc5c23c61bba0bccd61e7578ea1f6e
Author: Omar Hossam <moar.ahmed at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/test/CIR/CodeGen/throws.cpp
Log Message:
-----------
[CIR] Add VTable class name for enum type (#163612)
This commit adds the RTTI support for enum in the vtable.
Issue #163601
Commit: a76c71b205db9e28ffe33432caef5efbea7f088f
https://github.com/llvm/llvm-project/commit/a76c71b205db9e28ffe33432caef5efbea7f088f
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/test/Dialect/AMDGPU/invalid.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][amdgpu] Add scaled_ext_packed{8,16} operations (#159830)
Commit: 64c511f6a88f607798db29a1af59aab4dd13ff20
https://github.com/llvm/llvm-project/commit/64c511f6a88f607798db29a1af59aab4dd13ff20
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/test/MC/AMDGPU/gfx1250_asm_vds_alias.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat_alias.s
Log Message:
-----------
[AMDGPU] Add additional aliases for load transpose instructions (#163900)
Commit: 56ee43a863c1d09ec41e1a5260e42faa74e7f2a7
https://github.com/llvm/llvm-project/commit/56ee43a863c1d09ec41e1a5260e42faa74e7f2a7
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
AMDGPU: Document address spaces as reserved (#163996)
They are going to be used for internal work downstream that we do expect
to upstream eventually.
Commit: e29cf8e22aaa3a7d1a6d5061cc6c8e7763074c0b
https://github.com/llvm/llvm-project/commit/e29cf8e22aaa3a7d1a6d5061cc6c8e7763074c0b
Author: Ian Li <ian.li at intel.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/test/Conversion/MathToXeVM/math-to-xevm.mlir
Log Message:
-----------
[MLIR][MathToXeVM] Remove requirement for ModuleOp op type for MathToXeVM (#163619)
This dependency is not needed. This PR removes it and checks that
MathToXeVM works and respects pass pipelines specified by the user.
Commit: 40d4ea6342c736cb1c71af350a0cf7953a3bbb80
https://github.com/llvm/llvm-project/commit/40d4ea6342c736cb1c71af350a0cf7953a3bbb80
Author: Alex Langford <alangford at apple.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M lldb/include/lldb/Utility/DataExtractor.h
Log Message:
-----------
[lldb] Fix misaligned loads violation in DataExtractor (#163880)
The implementation of the templated `Get` function contains UB. For
example, the "GetDoubleUnaligned" unit test causes `Get` to perform an
unaligned 8 byte read. This violates the `double` alignment requirement.
Furthermore, it violates strict aliasing rules in C++. (We construct a
`const double *` from a `const uint8_t *` and perform a read on the
resulting double pointer).
DataExtractor should be able to read unaligned data to deal with
different data formats, but we need to be careful to not perform
unaligned reads/writes or violate strict aliasing rules.
rdar://160385383
Commit: b8c70130607468e9ff8fbfd7e012bd1f1e23bf46
https://github.com/llvm/llvm-project/commit/b8c70130607468e9ff8fbfd7e012bd1f1e23bf46
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
A llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3cx_nowarn.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3c_nowarn.txt
Log Message:
-----------
[AMDGPU][MC] Fix disassembler warning for v_cmpx instructions in GFX9 (#163825)
In GFX10+, the v_cmpx_* instructions use EXEC as the implicit dst and do
not have explicit dst. Therefore a warning is issued by the disassembler
when the dst is not EXEC. However, in GFX9 and earlier, those
instructions have EXEC as the implicit dst as well as an explicit dst.
The aforementioned warning should not be issued.
Commit: 7be2d7598c29eb3ac62889d2051939a8ae3ed160
https://github.com/llvm/llvm-project/commit/7be2d7598c29eb3ac62889d2051939a8ae3ed160
Author: Sohaib Iftikhar <sohaib1692 at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR][BUILD]: Add deps after fbbffc11 (#163999)
[MLIR][BUILD]: Add deps after fbbffc11
Commit: ac193bc20fac9ce203073bbe7326f232c4e81733
https://github.com/llvm/llvm-project/commit/ac193bc20fac9ce203073bbe7326f232c4e81733
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/build-vector-packed-partial-undef.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
M llvm/test/CodeGen/AMDGPU/fneg-fabs.bf16.ll
M llvm/test/CodeGen/AMDGPU/fneg.bf16.ll
M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.bf16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-and.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-or.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-xor.ll
M llvm/test/CodeGen/AMDGPU/vector_rebroadcast.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] S_PACK_XX_B32_B16 lowering for true16 mode (#162389)
S_PACK_XX_B32_B16 requires special lowering for true16 mode when it's
being lowered to VALU in fix-sgpr-copy pass.
Added test cases in fix-sgpr-copies-f16-true16.mir
Commit: f5ed0b7d328cd87d56232e8a554704fc3c08d9dd
https://github.com/llvm/llvm-project/commit/f5ed0b7d328cd87d56232e8a554704fc3c08d9dd
Author: Nico Weber <thakis at chromium.org>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/utils/gn/secondary/lld/test/BUILD.gn
Log Message:
-----------
[gn] port f5885de2cd49
Commit: 783b050f88260c0d412c705110f00ce6c45bd7be
https://github.com/llvm/llvm-project/commit/783b050f88260c0d412c705110f00ce6c45bd7be
Author: Adam Nemet <anemet at apple.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
A llvm/test/Transforms/LowerMatrixIntrinsics/multiply-remainder-rm.ll
A llvm/test/Transforms/LowerMatrixIntrinsics/multiply-remainder.ll
Log Message:
-----------
[LMI] Support non-power-of-2 types for the matmul remainder (#163987)
In the inner loop of matmul, instead of continuously halving the HW
vector register width, I just use the remainder vector directly if it's
legal.
We don't have in-tree targets that have this so I opted for adding a
hidden flag to simulate this for testing purposes:
-matrix-split-matmul-remainder-over-threshold
The tests are the vectorization-friendly 3x3x1 matrix-vector and 1x3x3
vector-matrix multiplies for CM, RM respectively.
Commit: dc27696e9e252f318d978ced61865c72cb12c4d7
https://github.com/llvm/llvm-project/commit/dc27696e9e252f318d978ced61865c72cb12c4d7
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/DeclSpec.cpp
M clang/test/Parser/c2x-auto.c
Log Message:
-----------
[Clang] disallow constexpr with auto and explicit type in C23 (#163469)
Fixes #163090
---
This PR addresses the issue of Clang not diagnosing the invalid
combination of `constexpr`,
`auto`, and an explicit type
```c
constexpr auto int x = 0
```
Commit: 2f70482f32a9ffe2b4fc0f6291d1132cbcab4de3
https://github.com/llvm/llvm-project/commit/2f70482f32a9ffe2b4fc0f6291d1132cbcab4de3
Author: Muzammil <55665739+Muzammiluddin-Syed-ECE at users.noreply.github.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[ROCDL] Add gfx1250 WMMA intrinsics (#162343)
Signed-off-by: Muzammiluddin Syed <muzasyed at amd.com>
Commit: db2a75d082743d139ab93351b3639cbcda96fa84
https://github.com/llvm/llvm-project/commit/db2a75d082743d139ab93351b3639cbcda96fa84
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
A flang/test/Fir/OpenACC/recipe-populate-firstprivate.mlir
A flang/test/Fir/OpenACC/recipe-populate-private.mlir
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[flang][acc] Add recipe populate testing through type interfaces (#163990)
This PR does the following:
- Updates createAndPopulate implementation so instead of first building
detached blocks it directly builds them in appropriate place - because
the MappableType implementation in FIR is relying on properly connected
regions in order to look up module
- Updates createAndPopulate to properly create destroy region with newly
introduced generatePrivateDestroy API for MappableType
- Adds recipe-populate-private.mlir test with comprehensive type
coverage including scalars, arrays (1D/3D), derived types, and extensive
box type tests (heap/ptr scalars, dynamic arrays in 1D/2D, ptr arrays,
and boxed derived types)
- Adds recipe-populate-firstprivate.mlir test with coverage for types
with well-supported copy operations (scalars, static arrays, derived
types); intentionally limits box type testing as copy implementation for
complex box types is not yet complete
Commit: 024dd569223d00da55412bff8fffffebd1cb799b
https://github.com/llvm/llvm-project/commit/024dd569223d00da55412bff8fffffebd1cb799b
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
A clang/test/CodeGenHLSL/resources/ByteAddressBuffers-methods.hlsl
M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl
M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/resources/TypedBuffers-methods.hlsl
Log Message:
-----------
[HLSL] GetDimensions methods for buffer resources (#161929)
Adds `GetDimensions` methods to all supported buffer resource classes (`{RW}Buffer`, `*StructuredBuffer`, `{RW}ByteAddressBuffer`). The method is implemented by calling one of both built-in functions `__builtin_hlsl_resource_getdimensions_x` and `__builtin_hlsl_resource_getstride` as described in proposal https://github.com/llvm/wg-hlsl/pull/350.
The `__builtin_hlsl_resource_getstride` is implemented directly by Clang codegen by setting the buffer stride to the output variable.
The `__building_hlsl_buffer_getdimensions` built-in function gets translated to LLVM intrinsic `@llvm.dx.resource.getdimensions.x`.
Closes #112984
Commit: 89d1143a90b7bf9b9ebabab1d8b7ed519c6ec5eb
https://github.com/llvm/llvm-project/commit/89d1143a90b7bf9b9ebabab1d8b7ed519c6ec5eb
Author: Md Abdullah Shahneous Bari <98356296+mshahneo at users.noreply.github.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/Pipelines/Passes.h
M mlir/lib/Dialect/GPU/Pipelines/CMakeLists.txt
A mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
M mlir/lib/RegisterAllPasses.cpp
A mlir/test/Integration/Dialect/XeGPU/LANE/lit.local.cfg
A mlir/test/Integration/Dialect/XeGPU/LANE/simple_gemm.mlir
A mlir/test/Integration/Dialect/XeGPU/SG/lit.local.cfg
A mlir/test/Integration/Dialect/XeGPU/SG/simple_gemm.mlir
A mlir/test/Integration/Dialect/XeGPU/WG/lit.local.cfg
A mlir/test/Integration/Dialect/XeGPU/WG/simple_gemm.mlir
Log Message:
-----------
[mlir][gpu]Add GPUToXeVM lowering pipeline pass. (#161216)
It's the default GPU to XeVM lowering pipeline. It starts by lowering
GPU code to the specified compilation target (default is fatbin), then
lowers the host code.
If XeGPU ops are used, it expects the MLIR code to have XeGPU ops
already embedded in gpu code.
Commit: c0e0a33f48ff956ceeb606d83dac80b0e82b8648
https://github.com/llvm/llvm-project/commit/c0e0a33f48ff956ceeb606d83dac80b0e82b8648
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M libc/src/__support/CPP/algorithm.h
M libc/src/__support/CPP/array.h
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/mutex.h
M libc/src/__support/CPP/optional.h
M libc/src/__support/CPP/span.h
M libc/src/__support/CPP/string.h
M libc/src/__support/CPP/string_view.h
M libc/src/__support/CPP/stringstream.h
M libc/src/__support/CPP/utility/forward.h
M libc/src/__support/CPP/utility/move.h
M libc/src/__support/macros/attributes.h
Log Message:
-----------
[libc] add basic lifetime annotations for support data structures (#145933)
fix #145932
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: 12ec050b9b43b59b7735e726ffd52e62bd294647
https://github.com/llvm/llvm-project/commit/12ec050b9b43b59b7735e726ffd52e62bd294647
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
M llvm/test/Transforms/LoopVectorize/pr48832.ll
Log Message:
-----------
[LV] Remove some unnecessary uses of poison from tests.
Commit: 9324afbac2082c95ca2a11e4f45b1748e6e103b5
https://github.com/llvm/llvm-project/commit/9324afbac2082c95ca2a11e4f45b1748e6e103b5
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/Maintainers.md
Log Message:
-----------
maintainer change for xegpu (#163867)
as title
Commit: e101afc595d9cf7bd006ff610cbbf815f2a2ad05
https://github.com/llvm/llvm-project/commit/e101afc595d9cf7bd006ff610cbbf815f2a2ad05
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenValue.h
Log Message:
-----------
[CIR][NFC] Fix maybe_unused build issues (#163997)
This fixes a build failure that occurs with some versions of clang.
There was a problem in clang, which has been fixed in more recent
versions, where mixing GNU-style attributes with C++-style attributes
caused a failure. A recent code change updated a few uses of
`LLVM_ATTRIBUTE_UNUSED` to `[[maybe_unused]]`, triggering this problem.
This change reorders the attributes in a way that avoids the issue.
Commit: 2505df0a4f792ec0d927b2bdee221a4e1971f168
https://github.com/llvm/llvm-project/commit/2505df0a4f792ec0d927b2bdee221a4e1971f168
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M libc/src/__support/CPP/algorithm.h
M libc/src/__support/CPP/array.h
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/mutex.h
M libc/src/__support/CPP/optional.h
M libc/src/__support/CPP/span.h
M libc/src/__support/CPP/string.h
M libc/src/__support/CPP/string_view.h
M libc/src/__support/CPP/stringstream.h
M libc/src/__support/CPP/utility/forward.h
M libc/src/__support/CPP/utility/move.h
M libc/src/__support/macros/attributes.h
Log Message:
-----------
Revert "[libc] add basic lifetime annotations for support data structures" (#164012)
Reverts llvm/llvm-project#145933 due to broken aarch64 buildbots.
Commit: 7a73a8b47cf79fa4b8398ec28bc1b50c2e0a0805
https://github.com/llvm/llvm-project/commit/7a73a8b47cf79fa4b8398ec28bc1b50c2e0a0805
Author: kvpanch <223931578+kvpanch at users.noreply.github.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/div_minsize.ll
Log Message:
-----------
[RISCV] Allow large div peephole optimization for minsize (#163679)
When `minsize` function attribute is set, division of large integers by
power-of-2 is not optimized as it's expected by ExpandLargeDivRem pass,
which results to compiler crash
Co-authored-by: kvp <mammal_windier8j at icloud.com>
Commit: 90e0933ac49b38d4f2310ad6292865a512e01405
https://github.com/llvm/llvm-project/commit/90e0933ac49b38d4f2310ad6292865a512e01405
Author: David Justo <david.justo.1996 at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
A compiler-rt/test/asan/TestCases/Windows/basic_exception_handling.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
A llvm/test/Instrumentation/AddressSanitizer/asan-win-dont-instrument-catchpad.ll
Log Message:
-----------
[ASan] Do not instrument catch block parameters on Windows (#159618)
**Mitigation for:** https://github.com/google/sanitizers/issues/749
**Disclosure:** I'm not an ASan compiler expert yet (I'm trying to
learn!), I primarily work in the runtime. Some of this PR was developed
with the help of AI tools (primarily as a "fuzzy `grep` engine"), but
I've manually refined and tested the output, and can speak for every
line. In general, I used it only to orient myself and for
"rubberducking".
**Context:**
The msvc ASan team (👋 ) has received an internal request to improve
clang's exception handling under ASan for Windows. Namely, we're
interested in **mitigating** this bug:
https://github.com/google/sanitizers/issues/749
To summarize, today, clang + ASan produces a false-positive error for
this program:
```C++
#include <cstdio>
#include <exception>
int main()
{
try {
throw std::exception("test");
}catch (const std::exception& ex){
puts(ex.what());
}
return 0;
}
```
The error reads as such:
```
C:\Users\dajusto\source\repros\upstream>type main.cpp
#include <cstdio>
#include <exception>
int main()
{
try {
throw std::exception("test");
}catch (const std::exception& ex){
puts(ex.what());
}
return 0;
}
C:\Users\dajusto\source\repros\upstream>"C:\Users\dajusto\source\repos\llvm-project\build.runtimes\bin\clang.exe" -fsanitize=address -g -O0 main.cpp
C:\Users\dajusto\source\repros\upstream>a.exe
=================================================================
==19112==ERROR: AddressSanitizer: access-violation on unknown address 0x000000000000 (pc 0x7ff72c7c11d9 bp 0x0080000ff960 sp 0x0080000fcf50 T0)
==19112==The signal is caused by a READ memory access.
==19112==Hint: address points to the zero page.
#0 0x7ff72c7c11d8 in main C:\Users\dajusto\source\repros\upstream\main.cpp:8
#1 0x7ff72c7d479f in _CallSettingFrame C:\repos\msvc\src\vctools\crt\vcruntime\src\eh\amd64\handlers.asm:49
#2 0x7ff72c7c8944 in __FrameHandler3::CxxCallCatchBlock(struct _EXCEPTION_RECORD *) C:\repos\msvc\src\vctools\crt\vcruntime\src\eh\frame.cpp:1567
#3 0x7ffb4a90e3e5 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18012e3e5)
#4 0x7ff72c7c1128 in main C:\Users\dajusto\source\repros\upstream\main.cpp:6
#5 0x7ff72c7c33db in invoke_main C:\repos\msvc\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
#6 0x7ff72c7c33db in __scrt_common_main_seh C:\repos\msvc\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
#7 0x7ffb49b05c06 (C:\WINDOWS\System32\KERNEL32.DLL+0x180035c06)
#8 0x7ffb4a8455ef (C:\WINDOWS\SYSTEM32\ntdll.dll+0x1800655ef)
==19112==Register values:
rax = 0 rbx = 80000ff8e0 rcx = 27d76d00000 rdx = 80000ff8e0
rdi = 80000fdd50 rsi = 80000ff6a0 rbp = 80000ff960 rsp = 80000fcf50
r8 = 100 r9 = 19930520 r10 = 8000503a90 r11 = 80000fd540
r12 = 80000fd020 r13 = 0 r14 = 80000fdeb8 r15 = 0
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: access-violation C:\Users\dajusto\source\repros\upstream\main.cpp:8 in main
==19112==ABORTING
```
The root of the issue _appears to be_ that ASan's instrumentation is
incompatible with Window's assumptions for instantiating `catch`-block's
parameters (`ex` in the snippet above).
The nitty gritty details are lost on me, but I understand that to make
this work without loss of ASan coverage, a "serious" refactoring is
needed. In the meantime, users risk false positive errors when pairing
ASan + catch-block parameters on Windows.
**To mitigate this** I think we should avoid instrumenting catch-block
parameters on Windows. It appears to me this is as "simple" as marking
catch block parameters as "uninteresting" in
`AddressSanitizer::isInterestingAlloca`. My manual tests seem to confirm
this.
I believe this is strictly better than today's status quo, where the
runtime generates false positives. Although we're now explicitly
choosing to instrument less, the benefit is that now more programs can
run with ASan without _funky_ macros that disable ASan on exception
blocks.
**This PR:** implements the mitigation above, and creates a simple new
test for it.
_Thanks!_
---------
Co-authored-by: Antonio Frighetto <me at antoniofrighetto.com>
Commit: 228dae786b94bb85fb34bc157a43ca6c16932b6d
https://github.com/llvm/llvm-project/commit/228dae786b94bb85fb34bc157a43ca6c16932b6d
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
A llvm/test/CodeGen/X86/zero-call-used-regs-simd.ll
Log Message:
-----------
[X86] Use pseudo instructions to zero registers in `buildClearRegister` (#163358)
In `buildClearRegister` use the correct pseudo-opcode for each register
class:
- For `VR128`, use `V_SET0`
- For `VR256`, use `AVX_SET0`
- For `VR512`, use `AVX512_512_SET0`
- For `VK*`, use `KSET0Q/KSET0W`
This avoids illegal register/opcode pairings and machine verifier errors
when clearing call-used registers under `-fzero-call-used-regs=used`.
Fixes: #163053
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: ab2ece03ae49877f0a8a9149b19fee3ee7326791
https://github.com/llvm/llvm-project/commit/ab2ece03ae49877f0a8a9149b19fee3ee7326791
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M libcxx/utils/compare-benchmarks
Log Message:
-----------
[libc++] Compute geomean in compare-benchmarks
Commit: f7c9618d5772af690fc8313ff735fbe6c846442f
https://github.com/llvm/llvm-project/commit/f7c9618d5772af690fc8313ff735fbe6c846442f
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/abs_i16.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/bypass-div.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
Log Message:
-----------
[AMDGPU] 32-bit ABS is a legal DAG node (#163907)
32-bit ABS can be lowered legally.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 62f91152fbb3b0a0f581e18a923ee0aec3f77ebd
https://github.com/llvm/llvm-project/commit/62f91152fbb3b0a0f581e18a923ee0aec3f77ebd
Author: Lucie Choi <ychoi0407 at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
A llvm/test/CodeGen/SPIRV/hlsl-resources/DynamicIdx/RWBufferDynamicIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/DynamicIdx/RWStructuredBufferDynamicIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/NonUniformIdx/RWBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/NonUniformIdx/RWStructuredBufferNonUniformIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/NonUniformIdx/StructuredBufferNonUniformIdx.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageConstIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
Log Message:
-----------
[SPIR-V] Add capability for non-uniform indexing for `StructuredBuffer` types. (#163424)
- Capability `StorageBufferArrayNonUniformIndexing` is required if the
non-uniform index accesses "arrays in the StorageBuffer [storage
class](https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#Storage_Class)
or
BufferBlock-[decorated](https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#Decoration)
arrays." (e.g. `RWStructuredBuffer`, `StructuredBuffer`)
- Also fix the wrong unit test name: `StructuredBufferNonUniformIdx.ll`
-> `RWBufferNonUniformIdx.ll`
Resolves https://github.com/llvm/llvm-project/issues/162889
Addresses https://github.com/llvm/llvm-project/issues/161852
Commit: 9a74abcd5126f79f0287e471e666bd13782fe139
https://github.com/llvm/llvm-project/commit/9a74abcd5126f79f0287e471e666bd13782fe139
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M libcxx/utils/compare-benchmarks
Log Message:
-----------
[libc++] Fix bugs in geomean calculation
Commit: 79d8a26832fc72a28969305b72b782642f44ff6c
https://github.com/llvm/llvm-project/commit/79d8a26832fc72a28969305b72b782642f44ff6c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Update deprecated fatbin command line option (#163571)
Commit: 8b2fc00609f40e57512c9651aecb7b4ee1579596
https://github.com/llvm/llvm-project/commit/8b2fc00609f40e57512c9651aecb7b4ee1579596
Author: Akash Dutta <137309513+akadutta at users.noreply.github.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
Log Message:
-----------
[AMDGPU][NFC]: Minor Unpacking Fixes. (#163992)
Optimize condition checks, Remove compilation overhead for unsupported
archs
Commit: 0319951ef7e831e8ef58fb39555e016992c93b0d
https://github.com/llvm/llvm-project/commit/0319951ef7e831e8ef58fb39555e016992c93b0d
Author: Abhinav Gaba <abhinav.gaba at intel.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
Log Message:
-----------
[docs][OpenMP] Update support doc with the planned/in-progress pointer-attachment work. (#163908)
Commit: 9522f989b06c6e7eb031758e71cd1c69755e7f32
https://github.com/llvm/llvm-project/commit/9522f989b06c6e7eb031758e71cd1c69755e7f32
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/test/DebugInfo/Generic/compileunit-source-language-name.ll
Log Message:
-----------
[llvm][DebugInfo] Add support for emitting DW_AT_language_version (#163147)
Depends on:
* https://github.com/llvm/llvm-project/pull/162632
Emit `DW_AT_language_version` (new in DWARFv6) if DICompileUnit has a
`sourceLanguageVersion` field. Omit it if it has the default value of
`0` (since it's the default lower bound of any language without a
version scheme).
Commit: bf2d84db8e95cf0dbf782f6609b034427ab1c07d
https://github.com/llvm/llvm-project/commit/bf2d84db8e95cf0dbf782f6609b034427ab1c07d
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
A lldb/test/API/lang/objc/ivar-in-framework-base/Makefile
A lldb/test/API/lang/objc/ivar-in-framework-base/TestIvarInFrameworkBase.py
A lldb/test/API/lang/objc/ivar-in-framework-base/lib.h
A lldb/test/API/lang/objc/ivar-in-framework-base/lib.m
A lldb/test/API/lang/objc/ivar-in-framework-base/main.m
Log Message:
-----------
[lldb][ObjC] Consult Objective-C runtime decl vendor when completing type (#164011)
(Note, this upstreams code that has been deployed on Apple's Swift LLDB
for many years at this point).
When a `ValueObject` computes its "complete type"
(`MaybeCalculateCompleteType`), it gives the language runtimes a chance
to override the type known to it. The current implementation of
`ObjCLanguageRuntime::GetRuntimeType`, however, didn't consult the
`AppleObjCDeclVendor` to look for types.
As demonstrated in the attached test, when we don't have debug-info for
a base class type (most commonly happens when inheriting from system
framework types) we would not be able to deduce ivars of that type.
However, the runtime knows about the ivars, so we should be able to
retrieve them.
There's still a couple of caveats for future follow-up/investigation:
1. `frame var` isn't able to access such backing ivars explicitly (even
if they do exist)
2. When compiling with `-gmodules`, LLDB gets confused about what is
correct source of information for these decls is.
rdar://162069497
Commit: 64c8ebb87f8aa33b647c1b445744b5af3049f904
https://github.com/llvm/llvm-project/commit/64c8ebb87f8aa33b647c1b445744b5af3049f904
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/docs/CommandGuide/dsymutil.rst
Log Message:
-----------
[dsymutil] Remove old --minimize option from docs (#164027)
This option was removed in 5d07dc897707f877c45cab6c7e4b65dad7d3ff6d
Commit: fe5b72a0e84cf2ebf6572e02bce3abb72ee0a8a0
https://github.com/llvm/llvm-project/commit/fe5b72a0e84cf2ebf6572e02bce3abb72ee0a8a0
Author: James Newling <james.newling at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][Vector] Pattern to linearize broadcast (#163845)
The PR https://github.com/llvm/llvm-project/pull/162167 removed a
pattern to linearize vector.splat, without adding the equivalent pattern
for vector.broadcast. This PR adds such a pattern, hopefully brining
vector.broadcast up to full parity with vector.splat that has now been
removed.
---------
Signed-off-by: James Newling <james.newling at gmail.com>
Commit: df8956442feda0171fda79393778f698eb0385cf
https://github.com/llvm/llvm-project/commit/df8956442feda0171fda79393778f698eb0385cf
Author: Luke Lau <luke at igalia.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAnalysisManager.h
M llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/test/Other/loop-pm-invalidation.ll
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
R llvm/test/Transforms/LoopPredication/preserve-bpi.ll
A llvm/test/Transforms/PhaseOrdering/unswitch-cold-func.ll
R llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch.ll
M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-markloopasdeleted.ll
M polly/lib/Transform/Canonicalization.cpp
Log Message:
-----------
[SimpleLoopUnswitch] Don't use BlockFrequencyInfo to skip cold loops (#159522)
In https://reviews.llvm.org/D129599, non-trivial switching was disabled
for cold loops in the interest of code size. This added a dependency on
BlockFrequencyInfo with PGO, but in loop passes this is only available
on a lossy basis: see https://reviews.llvm.org/D86156
LICM moved away from BFI so as of today SimpleLoopUnswitch is the only
remaining loop pass that uses BFI, for the sole reason to prevent code
size increases in PGO builds. It doesn't use BFI if there's no profile
summary available.
After some investigation on llvm-test-suite it turns out that the lossy
BFI causes very significant deviations in block frequency, since when
new loops are deleted/created during the loop pass manager it can return
frequencies for different loops altogether.
This results in unswitchable loops being mistakenly skipped because they
are thought to be cold.
This patch removes the use of BFI from SimpleLoopUnswitch and thus the
last remaining use of BFI in a loop pass.
To recover the original intent of not unswitching cold code,
PGOForceFunctionAttrs can be used to annotate functions which can be
optimized for code size, since SimpleLoopUnswitch will respect OptSize:
https://reviews.llvm.org/D94559
This isn't 100% the same behaviour since the previous behaviour checked
for coldness at the loop level and this is now at the function level. We
could expand PGOForceFunctionAttrs to be more granular at the loop
level, https://github.com/llvm/llvm-project/issues/159595 tracks this
idea.
Commit: 1508a8ec8d62ab1e9bdc8b7e0dbaaec9075b631f
https://github.com/llvm/llvm-project/commit/1508a8ec8d62ab1e9bdc8b7e0dbaaec9075b631f
Author: James Newling <james.newling at gmail.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp
Log Message:
-----------
[MLIR][Linalg] Modify `rewriteAsPaddedOp` to not remove pre-padded op (#163467)
Refactor/redesign `FailureOr<TilingInterface> rewriteAsPaddedOp(...)` to
not remove unpadded operation. This is more in line with how other
transformations like tiling work, where the user of the transformation
decides when to replace the actual operation. Instead of this, return
all info as a struct.
---------
Signed-off-by: James Newling <james.newling at gmail.com>
Commit: fe029934eb0782f011c839f0c6641bfa56ef3d1b
https://github.com/llvm/llvm-project/commit/fe029934eb0782f011c839f0c6641bfa56ef3d1b
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
A clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h
M clang/lib/Analysis/FlowSensitive/Models/CMakeLists.txt
A clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
A clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTest.cpp
A clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
A clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.h
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/Models/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
[FlowSensitive] [StatusOr] [2/N] Add minimal model (#162932)
This model implements a dataflow analysis for reporting instances of
unchecked use of absl::StatusOr values. It makes sure that every use
the value of a StatusOr object is dominated by a check that the
StatusOr object is ok.
This is an example of code that will be flagged by the analysis:
```cpp
int f(absl::StatusOr<int> SOR) {
return SOR.value();
}
```
This is an example of code that will not be flagged by the analysis:
```cpp
int f(absl::StatusOr<int> SOR) {
if (SOR.ok())
return SOR.value();
return 0;
}
```
This model has successfully been used by Google for some time now.
This is the initial commit that adds the simplest possible model, that
only models calls to `ok()` and checks for unsafe accesses. I will add
more fidelity to the model in follow up changes.
The test setup is notable in that it has an extra indirection. This is
because we have an internal model that extends the model we intend to
upstream, in order to model special constructs only found in our code
base. The parametrized test allows us (and anyone who chooses to do
this) to make sure our extensions do not break the base functionality.
RFC:
https://discourse.llvm.org/t/rfc-abseil-unchecked-statusor-use-check/87998
Commit: d83363245d583b38c301282c027937c3c42fd237
https://github.com/llvm/llvm-project/commit/d83363245d583b38c301282c027937c3c42fd237
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-10-17 (Fri, 17 Oct 2025)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
Add asan-win-dont-instrument-catchpad.ll to xfail list (#164042)
Commit: eed8d3aa4aa6efe01fcf7bd56015b671f5f18e29
https://github.com/llvm/llvm-project/commit/eed8d3aa4aa6efe01fcf7bd56015b671f5f18e29
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
R clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h
M clang/lib/Analysis/FlowSensitive/Models/CMakeLists.txt
R clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
R clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTest.cpp
R clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
R clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.h
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/Models/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
Revert "[FlowSensitive] [StatusOr] [2/N] Add minimal model" (#164040)
Reverts llvm/llvm-project#162932
Failed Tests (1):
Clang-Unit :: ./AllClangUnitTests/failed_to_discover_tests_from_gtest
Commit: f4fe7145df9f952808884f653b5bb4bb992b7b06
https://github.com/llvm/llvm-project/commit/f4fe7145df9f952808884f653b5bb4bb992b7b06
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Fir/basic-program.fir
A flang/test/Lower/OpenMP/workdistribute-multiple.f90
A flang/test/Lower/OpenMP/workdistribute-saxpy-1d.f90
A flang/test/Lower/OpenMP/workdistribute-saxpy-2d.f90
A flang/test/Lower/OpenMP/workdistribute-saxpy-3d.f90
A flang/test/Lower/OpenMP/workdistribute-saxpy-and-scalar-assign.f90
A flang/test/Lower/OpenMP/workdistribute-saxpy-two-2d.f90
A flang/test/Lower/OpenMP/workdistribute-scalar-assign.f90
A flang/test/Lower/OpenMP/workdistribute-target-teams-clauses.f90
A flang/test/Lower/OpenMP/workdistribute-teams-unsupported-after.f90
A flang/test/Lower/OpenMP/workdistribute-teams-unsupported-before.f90
A flang/test/Transforms/OpenMP/lower-workdistribute-doloop.mlir
A flang/test/Transforms/OpenMP/lower-workdistribute-fission-host.mlir
A flang/test/Transforms/OpenMP/lower-workdistribute-fission-target.mlir
A flang/test/Transforms/OpenMP/lower-workdistribute-fission.mlir
A flang/test/Transforms/OpenMP/lower-workdistribute-runtime-assign-scalar.mlir
Log Message:
-----------
[Flang][OpenMP] Implement workdistribute construct lowering (#140523)
This PR introduces a new pass "lower-workdistribute"
Fortran array statements are lowered to fir as fir.do_loop unordered.
"lower-workdistribute" pass works mainly on identifying "fir.do_loop
unordered" that is nested in target{teams{workdistribute{fir.do_loop
unordered}}} and lowers it to
target{teams{parallel{wsloop{loop_nest}}}}. It hoists all the other ops
outside target region. Relaces heap allocation on target with
omp.target_allocmem and deallocation with omp.target_freemem from host.
Also replaces runtime function "Assign" with omp.target_memcpy from
host.
This pass implements following rewrites and optimisations:
- **FissionWorkdistribute**: finds the parallelizable ops within teams
{workdistribute} region and moves them to their own
teams{workdistribute} region.
- **WorkdistributeRuntimeCallLower**: finds the FortranAAssign calls
nested in teams {workdistribute{}} and lowers it to unordered do loop if
src is scalar and dest is array. Other runtime calls are not handled
currently.
- **WorkdistributeDoLower**: finds the fir.do_loop unoredered nested in
teams {workdistribute{fir.do_loop unoredered}} and lowers it to teams
{parallel { distribute {wsloop {loop_nest}}}}.
- **TeamsWorkdistributeToSingle**: hoists all the ops inside teams
{workdistribute{}} before teams op.
The work in this PR is C-P and updated from @ivanradanov commits from
coexecute implementation:
[flang_workdistribute_iwomp_2024](https://github.com/ivanradanov/llvm-project/commits/flang_workdistribute_iwomp_2024)
Paper related to this work by @ivanradanov ["Automatic Parallelization
and OpenMP Offloadingof Fortran Array
Notation"](https://www.osti.gov/servlets/purl/[2449728](https://www.osti.gov/servlets/purl/2449728))
Commit: f37bdc24e6e647ce1744dd608718fd55430f8e3a
https://github.com/llvm/llvm-project/commit/f37bdc24e6e647ce1744dd608718fd55430f8e3a
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseTemplate.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
[Clang] Add the template depth when parsing type constraints (#163960)
The lambdas can introduce new template parameters, and things would go
wrong if the new template parameters still lived in the depth of the
parent, when we evaluate the type constraints.
Fixes https://github.com/llvm/llvm-project/issues/162092
Commit: a3557c3abde66c7001f12f6fec7a13885574e55a
https://github.com/llvm/llvm-project/commit/a3557c3abde66c7001f12f6fec7a13885574e55a
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][rocdl] Adds `cvt.scalef32.pk16.*` and `cvt.scalef32.sr.pk16.*` operations (#164014)
Commit: a70efbd6cc5d052ff06a0be79b606b8d836eac03
https://github.com/llvm/llvm-project/commit/a70efbd6cc5d052ff06a0be79b606b8d836eac03
Author: Giuliano Belinassi <giulianobelinassi at users.noreply.github.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/attr-print.c
Log Message:
-----------
Always register `asm` attribute first in a Decl. (#162687)
Previously, clang's SemaDecl processed `asm` attributes after every
other attribute in the Decl, unlike gcc and clang's own parser which
requires `asm` attributes to be the first one in the declaration (see
#162556). Therefore, move the processing of `asm` attributes to be the
first one in the attributes list.
Closes #162126
Signed-off-by: Giuliano Belinassi <gbelinassi at suse.de>
Commit: b4b7aaeeb3ca2f05cba2c3c8fe3c9b171a3b4af6
https://github.com/llvm/llvm-project/commit/b4b7aaeeb3ca2f05cba2c3c8fe3c9b171a3b4af6
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
Log Message:
-----------
[mlir][affine] Make AffineForEmptyLoopFolder as folder function (#163929)
Removed the hasCanonicalizer from AffineForOp.Make
AffineForEmptyLoopFolder as folder function.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 908b1164c0c433765364623fd14c9d0d2a975f92
https://github.com/llvm/llvm-project/commit/908b1164c0c433765364623fd14c9d0d2a975f92
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-umax.ll
M llvm/test/CodeGen/X86/combine-umin.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vselect-avx.ll
Log Message:
-----------
[X86] SimplifyDemandedBitsForTargetNode - PCMPGT(0,X) only demands the signbit of X (#163981)
PCMPGT(0,X) is a sign-splat pattern - we only need the signbit of X
The vector-compress.ll simplification is a side effect of the inner
SimplifyDemandedBits call passing through the DemandedElts mask, only
demanding the lowest 4 elements of a legalised v16i8 type.
Commit: eb5de5c60cbdae063880420955fd4f21b4704337
https://github.com/llvm/llvm-project/commit/eb5de5c60cbdae063880420955fd4f21b4704337
Author: Mikhail Gudim <mgudim at gmail.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLPVectorizer] Refactor isStridedLoad, NFC. (#163844)
Move the checks that all strides are the same from `isStridedLoad` to a
new function `analyzeConstantStrideCandidate`. This is to reduce the
diff for the following MRs which will modify the logic in
`analyzeConstantStrideCandidate` to cover the case of widening of the
strided load. All the checks that are left in `isStridedLoad` will be
reused.
Commit: 0f68dc6cffd93954188f73bff8aced93aab63687
https://github.com/llvm/llvm-project/commit/0f68dc6cffd93954188f73bff8aced93aab63687
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
Log Message:
-----------
[APFloat] Inline static getters (#163794)
This patch exposes the declaration of fltSemantics to inline
PPCDoubleDouble() calls in the IEEEFloat/DoubleAPFloat dispatch.
It slightly improves the compile time:
https://llvm-compile-time-tracker.com/compare.php?from=f4359301c033694d36865c7560714164d2050240&to=68de94d77d5bd33603193e8769829345b18fbae3&stat=instructions:u
With https://github.com/llvm/llvm-project/pull/111544, the improvement
is more significant:
https://llvm-compile-time-tracker.com/compare.php?from=e438bae71d1fd55640d942b9ad795de2f60e44f2&to=04751477940890c092dc4edb74e284de8f746d5a&stat=instructions:u
Address comment
https://github.com/llvm/llvm-project/pull/111544#issuecomment-3405281695.
If breaking changes are allowed, we can encode all the properties of
fltSemantics within a 64-bit integer. Then we don't need `Semantics <->
const fltSemantic` conversion.
Commit: c491c6e80945258750e7f4e3af4e69ae97353586
https://github.com/llvm/llvm-project/commit/c491c6e80945258750e7f4e3af4e69ae97353586
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port 89d1143a90b7bf9b9ebabab1d8b7ed519c6ec5eb
Commit: a5d3522c137bdaf270480dfe0e5b3fb977e4cc73
https://github.com/llvm/llvm-project/commit/a5d3522c137bdaf270480dfe0e5b3fb977e4cc73
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Transforms/IndVarSimplify/pointer-loop-guards.ll
Log Message:
-----------
[SCEV] Rewrite A - B = UMin(1, A - B) lazily for A != B loop guards. (#163787)
Follow-up to 2d027260b0f8
(https://github.com/llvm/llvm-project/pull/160500)
Creating the SCEV subtraction eagerly is very expensive. To soften the
blow, just collect a map with inequalities and check if we can apply the
subtract rewrite when rewriting SCEVAddExpr.
Restores most of the regression:
http://llvm-compile-time-tracker.com/compare.php?from=0792478e4e133be96650444f3264e89d002fc058&to=7fca35db60fe6f423ea6051b45226046c067c252&stat=instructions:u
stage1-O3: -0.10%
stage1-ReleaseThinLTO: -0.09%
stage1-ReleaseLTO-g: -0.10%
stage1-O0-g: +0.02%
stage1-aarch64-O3: -0.09%
stage1-aarch64-O0-g: +0.00%
stage2-O3: -0.17%
stage2-O0-g: -0.05%
stage2-clang: -0.07%
There is still some negative impact compared to before 2d027260b0f8, but
there's probably not much we could do reduce this even more.
Compile-time improvement with 2d027260b0f8 reverted on top of the
current PR:
http://llvm-compile-time-tracker.com/compare.php?from=7fca35db60fe6f423ea6051b45226046c067c252&to=98dd152bdfc76b30d00190d3850d89406ca3c21f&stat=instructions:u
stage1-O3: 60628M (-0.03%)
stage1-ReleaseThinLTO: 76388M (-0.04%)
stage1-ReleaseLTO-g: 89228M (-0.02%)
stage1-O0-g: 18523M (-0.03%)
stage1-aarch64-O3: 67623M (-0.03%)
stage1-aarch64-O0-g: 22595M (+0.01%)
stage2-O3: 52336M (+0.01%)
stage2-O0-g: 16174M (+0.00%)
stage2-clang: 34890032M (-0.03%)
PR: https://github.com/llvm/llvm-project/pull/163787
Commit: 8e5f6dd37cc7d5312a00c24af42026d239c1e9f8
https://github.com/llvm/llvm-project/commit/8e5f6dd37cc7d5312a00c24af42026d239c1e9f8
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ballot.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ballot.i64.ll
M llvm/test/CodeGen/AMDGPU/addsub64_carry.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/optimize-compare.mir
M llvm/test/CodeGen/AMDGPU/s_cmp_0.ll
M llvm/test/CodeGen/AMDGPU/s_uaddo_usubo_pseudo.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
M llvm/test/CodeGen/AMDGPU/uaddo.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/usubo.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/workitem-intrinsic-opts.ll
Log Message:
-----------
[AMDGPU] Remove redundant s_cmp_lg_* sX, 0 (#162352)
Remove redundant s_cmp_lg_* sX, 0 if SALU instruction already sets SCC
if sX!=0.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 48a0a3b98c5705724ed69d41c5fcc077fd859c8e
https://github.com/llvm/llvm-project/commit/48a0a3b98c5705724ed69d41c5fcc077fd859c8e
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-instructions-alloca.ll
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
Log Message:
-----------
[llvm-reduce] Do not replace alloca with null pointers (#164075)
The lifetime intrinsics only accept allocas or poison. This patch uses
poison as the replacement value of alloca.
Commit: 035f81138888f30aab67ee12ce09982cd03370cb
https://github.com/llvm/llvm-project/commit/035f81138888f30aab67ee12ce09982cd03370cb
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
Log Message:
-----------
[APFloat] Outline special member functions (#164073)
As discussed in
https://github.com/llvm/llvm-project/pull/111544#issuecomment-3405281695,
large special member functions in APFloat prevent function inlining and
cause compile-time regression. This patch moves them into the cpp file.
Compile-time improvement (-0.1%):
https://llvm-compile-time-tracker.com/compare.php?from=0f68dc6cffd93954188f73bff8aced93aab63687&to=d3105c0860920651a7e939346e67c040776b2278&stat=instructions:u
Commit: 0727e7a8a9fdc83867d875326f1f5afd301ddd1c
https://github.com/llvm/llvm-project/commit/0727e7a8a9fdc83867d875326f1f5afd301ddd1c
Author: Brandon Wu <songwu0813 at gmail.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
A llvm/test/CodeGen/RISCV/rvv/mixed-float-bf16-arith.ll
A llvm/test/CodeGen/RISCV/rvv/vfadd-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfclass-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfmacc-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfmadd-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfmax-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfmerge-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfmin-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfmsac-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfmsub-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfmul-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfmv-bf-s.ll
A llvm/test/CodeGen/RISCV/rvv/vfmv-s-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfmv-v-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfncvt-rod-bf-f.ll
A llvm/test/CodeGen/RISCV/rvv/vfncvt-rtz-x-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfncvt-rtz-xu-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfncvt-x-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfncvt-xu-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfnmacc-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfnmadd-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfnmsac-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfnmsub-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfrec7-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfrsqrt7-bf16.ll
A llvm/test/CodeGen/RISCV/rvv/vfrsub-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfsgnj-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfsgnjn-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfsgnjx-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfslide1down-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfslide1up-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfsub-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfwadd-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfwadd-w-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfwcvt-bf-x.ll
A llvm/test/CodeGen/RISCV/rvv/vfwcvt-bf-xu.ll
A llvm/test/CodeGen/RISCV/rvv/vfwmsac-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfwmul-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfwnmacc-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfwnmsac-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfwsub-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vfwsub-w-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vmfeq-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vmfge-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vmfgt-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vmfle-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vmflt-bf.ll
A llvm/test/CodeGen/RISCV/rvv/vmfne-bf.ll
Log Message:
-----------
[RISCV] Support Zvfbfa codegen (#161158)
- [RISCV][llvm] Support Zvfbfa codegen and vsetvli insertion
- [RISCV][clang] Support Zvfbfa C intrinsics
The original PR is split into 2 PRs, this is codegen PR and other is
here: https://github.com/llvm/llvm-project/pull/164094
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 04e8edcc6ce4fb0693fa9ece24da5f920ccf064b
https://github.com/llvm/llvm-project/commit/04e8edcc6ce4fb0693fa9ece24da5f920ccf064b
Author: Brandon Wu <songwu0813 at gmail.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfclass.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmax.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmerge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmin.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfncvt_rod.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfncvt_rtz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfnmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfnmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfrec7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfrsqrt7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfrsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfsgnj.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfsgnjn.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfsgnjx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfslide1down.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfslide1up.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vmfeq.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vmfge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vmfgt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vmfle.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vmflt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vmfne.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfclass.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmax.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmerge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmin.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfncvt_rod.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfncvt_rtz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfnmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfnmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfrec7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfrsqrt7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfrsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfsgnj.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfsgnjn.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfsgnjx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfslide1down.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfslide1up.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vmfeq.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vmfge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vmfgt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vmfle.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vmflt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vmfne.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfclass.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmax.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmerge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmin.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfncvt_rod.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfncvt_rtz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfnmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfnmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfrec7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfrsqrt7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfrsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfsgnj.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfsgnjn.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfsgnjx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfslide1down.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfslide1up.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vmfeq.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vmfge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vmfgt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vmfle.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vmflt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vmfne.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfclass.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmax.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmerge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmin.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfncvt_rod.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfncvt_rtz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfnmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfnmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfrec7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfrsqrt7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfrsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfsgnj.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfsgnjn.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfsgnjx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfslide1down.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfslide1up.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vmfeq.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vmfge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vmfgt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vmfle.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vmflt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vmfne.c
Log Message:
-----------
[RISCV][clang] Support Zvfbfa C intrinsics (#164094)
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 6420da68972782c37c4f147409dadcb970583d9e
https://github.com/llvm/llvm-project/commit/6420da68972782c37c4f147409dadcb970583d9e
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
Log Message:
-----------
[analyzer] Avoid use of `CallEvent`s with obsolete state (#160707)
The method `ExprEngine::evalCall` handles multiple state transitions and
activates various checker callbacks that take a `CallEvent` parameter
(among other parameters). Unfortunately some of these callbacks
(EvalCall and pointer escape) were called with a `CallEvent` instance
whose attached state was obsolete. This commit fixes this inconsistency
by attaching the right state to the `CallEvent`s before their state
becomes relevant.
I found these inconsistencies as I was trying to understand this part of
the source code, so I don't know about any concrete bugs that are caused
by them -- but they are definitely fishy. I evaluated this change on 10+
open source projects and it did not change the set of analyzer findings.
Commit: 5d22980ed46c175848e8f9e896216eb64e0f54a7
https://github.com/llvm/llvm-project/commit/5d22980ed46c175848e8f9e896216eb64e0f54a7
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
Log Message:
-----------
[LVI][SCCP] Avoid copying ValueLatticeElement (#163901)
Copying ValueLatticeElement becomes expensive after
https://github.com/llvm/llvm-project/pull/111544. This patch eliminates
some redundant copies to improve performance. The code change has been
carefully reviewed to ensure that there is no dangling reference.
Compile-time improvement:
https://llvm-compile-time-tracker.com/compare.php?from=f4359301c033694d36865c7560714164d2050240&to=4ea449bd53feef43403c35d8b815ddca752dbc17&stat=instructions%3Au
Commit: 49149261a908a7662bcbe36a73e632e84e726ddb
https://github.com/llvm/llvm-project/commit/49149261a908a7662bcbe36a73e632e84e726ddb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/STLForwardCompat.h
M llvm/include/llvm/Support/MathExtras.h
Log Message:
-----------
[ADT, Support] Move llvm::numbers to STLForwardCompat.h (NFC) (#164053)
This patch moves llvm::numbers to STLForwardCompat.h for those
constants defined in C++20 to facilitate the migration to C++20.
"float" constants like ef and pif are not part of C++20, so they stay
in MathExtras.h but are reimplemented in terms of e_v, pi_v, etc.
sqrtpi and sqrtpif are not part of C++20, so they also stay in
MathExtras.h, but they are redefined in terms of sqrtpi_v in the same
style as other constants.
I've verified the new C++17-style implementation to be bit-for-bit
identical to the original definitions using static_assert:
static_assert(e == llvm::numbers_new::e_v<double>);
static_assert(ef == llvm::numbers_new::e_v<float>);
before replacing the original definitions of e and ef in MathExtras.h,
where llvm::numbers_new was a namesapce I used in STLForwardCompat.h
for testing purposes.
Commit: e3609ae585088789bd5d5ca5425a2ca66b4c58df
https://github.com/llvm/llvm-project/commit/e3609ae585088789bd5d5ca5425a2ca66b4c58df
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/bit.h
Log Message:
-----------
[ADT] Simplify rotl/rotr implementations (NFC) (#164055)
This patch simplifies rotl and rotr by ANDing the rotate amount with
N - 1. This way, we can remove the mutual dependencies and the
forward declaration of rotr.
Commit: df6d5f207d853d18229159c1617de6cc92cf4dda
https://github.com/llvm/llvm-project/commit/df6d5f207d853d18229159c1617de6cc92cf4dda
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/include/llvm/Support/DOTGraphTraits.h
Log Message:
-----------
[Support] Use an inherited constructor in DOTGraphTraits (NFC) (#164056)
This patch simplifies DOTGraphTraits with an inherited constructor.
This way, we do not need to repeat the constructor signature or
manually forward constructor arguments.
Commit: f36c73e015a27b1e1fbe294daa4b673f59596935
https://github.com/llvm/llvm-project/commit/f36c73e015a27b1e1fbe294daa4b673f59596935
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M clang/docs/InternalsManual.rst
Log Message:
-----------
[clang] Proofread InternalsManual.rst (#164057)
Commit: 49180d832978596297a92ed64a0029e378188c7c
https://github.com/llvm/llvm-project/commit/49180d832978596297a92ed64a0029e378188c7c
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/scmp.ll
Log Message:
-----------
[InstCombine] Add missing patterns for scmp and ucmp (#149225)
Fixes: [#146178](https://github.com/llvm/llvm-project/issues/146178)
https://alive2.llvm.org/ce/z/ZitMnX
https://alive2.llvm.org/ce/z/aJZ2BQ
Commit: 3bb9d4a24e40eea1988f6bdc6a79e7a128a2fad9
https://github.com/llvm/llvm-project/commit/3bb9d4a24e40eea1988f6bdc6a79e7a128a2fad9
Author: owenca <owenpiano at gmail.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Annotate ::operator and Foo::operator correctly (#164048)
This effectively reverts commit b5f6689dc93216f9272e790e787548cf29250566
and fixes #111011 more narrowly.
Fixes #160513
Commit: 44a77f21045906d39fc8740a323e0ce63e15a12c
https://github.com/llvm/llvm-project/commit/44a77f21045906d39fc8740a323e0ce63e15a12c
Author: owenca <owenpiano at gmail.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/FormatToken.cpp
M clang/unittests/Format/AlignBracketsTest.cpp
Log Message:
-----------
[clang-format] Fix a crash on BAS_BlockIndent (#164047)
Fixes #163355
Commit: 321bc219745ee13001e5100a3527f27e3ebd75d0
https://github.com/llvm/llvm-project/commit/321bc219745ee13001e5100a3527f27e3ebd75d0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github] Add Timeouts to Premerge Jobs (#164038)
The premerge jobs currently use the default timeouts. If something ends
up hanging, they run for the full six hours. Given our jobs never
actually take six hours other than when something hangs, we should set
the timeouts lower to not use up machine capacity when something does go
wrong. These limits were currently chosen conservatively, being a decent
amount above the maximum run times I have seen over the past couple
months, excluding six hour timeouts.
Commit: ee530f0fb10f8d9680a7b42ae3cd3673484b401e
https://github.com/llvm/llvm-project/commit/ee530f0fb10f8d9680a7b42ae3cd3673484b401e
Author: Temperz87 <58375877+Temperz87 at users.noreply.github.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/avx512vlbwintrin.h
M clang/lib/Headers/tmmintrin.h
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/avx512vlbw-builtins.c
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/ssse3-builtins.c
Log Message:
-----------
[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add MMX/SSE/AVX/AVX512 PMULHRSW intrinsics to be used in constexpr (#160636)
This PR resolves #155805 and updates the following builtins to handle
constant expressions:
```
_mm_mulhrs_pi16
mm_mulhrs_epi16 mm256_mulhrs_epi16 mm512_mulhrs_epi16
```
Commit: 876911902726fa36584fcae59ab0ddabe3e0c584
https://github.com/llvm/llvm-project/commit/876911902726fa36584fcae59ab0ddabe3e0c584
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
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/VPlanUtils.h
Log Message:
-----------
[VPlan] Add VPRecipeBase::getRegion helper (NFC).
Multiple places retrieve the region for a recipe. Add a helper to make
the code more compact and clearer.
Commit: 023b1f6a8ed79b9a0d415522dbb3032a5c5df791
https://github.com/llvm/llvm-project/commit/023b1f6a8ed79b9a0d415522dbb3032a5c5df791
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ballot.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ballot.i64.ll
M llvm/test/CodeGen/AMDGPU/addsub64_carry.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/optimize-compare.mir
M llvm/test/CodeGen/AMDGPU/s_cmp_0.ll
M llvm/test/CodeGen/AMDGPU/s_uaddo_usubo_pseudo.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
M llvm/test/CodeGen/AMDGPU/uaddo.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/usubo.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/workitem-intrinsic-opts.ll
Log Message:
-----------
Revert "[AMDGPU] Remove redundant s_cmp_lg_* sX, 0 " (#164116)
Reverts llvm/llvm-project#162352
Broke our buildbot:
https://lab.llvm.org/buildbot/#/builders/10/builds/15674
To reproduce
cd llvm-project
cmake -S llvm -B thebuild -C offload/cmake/caches/AMDGPULibcBot.cmake
-GNinja
cd thebuild
ninja
ninja check-libc-amdgcn-amd-amdhsa
Commit: 0f6f13bdccd3345522b7d38294a72b802b6ffc28
https://github.com/llvm/llvm-project/commit/0f6f13bdccd3345522b7d38294a72b802b6ffc28
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h
Log Message:
-----------
[NFCI][analyzer] Make CallEvent::getState protected (#162673)
`CallEvent` instances have a reference to a state object instead having
separate data members for storing the arguments (as `SVal` instances),
the return value (as `SVal`, if available), the dynamic type information
and similar things.
Previously this state was publicly available, which meant that many
checker callbacks had two ways to access the state: either through the
`CallEvent` or through the `CheckerContext`. This redundancy is
inelegant and bugprone (e.g. the recent commit
6420da68972782c37c4f147409dadcb970583d9e fixed a situation where the
state attached to the `CallEvent` could be obsolete in `EvalCall` and
`PointerEscape` callbacks), so this commit limits access to the state
attached to a `CallEvent` and turns it into a protected implementation
detail.
In the future it may be a good idea to completely remove the state
instance from the `CallEvent` and explicitly store the few parts of the
state which are relevant for the call and do not change during the
evaluation of the call.
In theory this commit should be a non-functional change (because AFAIK
the `CallEvent` and `CheckerContext` provide the same state after the
recent fix), but there is a small chance that it fixes some bugs that I
do not know about.
---------
Co-authored-by: Artem Dergachev <noqnoqneo at gmail.com>
Commit: 695cf012e1325590fc497a0d39762a2aad0eb314
https://github.com/llvm/llvm-project/commit/695cf012e1325590fc497a0d39762a2aad0eb314
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
M clang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
M clang-tools-extra/clang-tidy/utils/DesignatedInitializers.cpp
Log Message:
-----------
[clang-tidy][NFC] Fix llvm-prefer-static-over-anonymous-namespace warnings 2/N (#164083)
Continue https://github.com/llvm/llvm-project/pull/153885.
Commit: cf28a476fb0fae2b19112ce0532b308e79d7bf39
https://github.com/llvm/llvm-project/commit/cf28a476fb0fae2b19112ce0532b308e79d7bf39
Author: Björn Schäpers <bjoern at hazardy.de>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestCSharp.cpp
M clang/unittests/Format/FormatTestComments.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/FormatTestTextProto.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
Log Message:
-----------
[clang-format] Remove special handling of comments after brace/paren (#71672)
Fixes http://llvm.org/PR55487 (#55487)
The code did not match the documentation about Cpp11BracedListStyle.
Changed handling of comments after opening braces, which are supposedly
function call like to behave exactly like their parenthesis counter
part.
Commit: 6e92f7e9584c257b91e7b28e68e90f9edd718cbc
https://github.com/llvm/llvm-project/commit/6e92f7e9584c257b91e7b28e68e90f9edd718cbc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/include/llvm/ADT/bit.h
M llvm/unittests/ADT/BitTest.cpp
Log Message:
-----------
[ADT] Add bit_ceil_constexpr (#164115)
This patch adds llvm::bit_ceil_constexpr, a constexpr version of
llvm::bit_ceil.
The new function is intended to serve as a marker. When we switch to
C++20, we will most likely go through functions in llvm/ADT/bit.h and
replace them with their counterparts from <bit>. With
llvm::bit_ceil_constexpr, we can easily replace its use with
std::bit_ceil.
This patch replaces RoundUpToPowerOfTwo in SmallPtrSet.h the new
function.
Commit: 84dbe575fa98defcf1b1ab7c1deb2211fa78e158
https://github.com/llvm/llvm-project/commit/84dbe575fa98defcf1b1ab7c1deb2211fa78e158
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
Log Message:
-----------
[AMDGPU] Use std::array in GCNRegPressure (NFC) (#164117)
With std::array, we can simplify clear and operator==.
Commit: 61e21f42b04dc04e32c3bfc06c857c52c12d994a
https://github.com/llvm/llvm-project/commit/61e21f42b04dc04e32c3bfc06c857c52c12d994a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/include/llvm/Support/ELFAttributes.h
Log Message:
-----------
[Support] Remove a redundant constructor in SubsectionAndTagToTagName (NFC) (#164118)
This patch simplifies the struct by switching to C++ aggregate
initialization.
Commit: 34ed1dcf61d04533f6a919ab659b7dd3aa064e5c
https://github.com/llvm/llvm-project/commit/34ed1dcf61d04533f6a919ab659b7dd3aa064e5c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/DepthFirstIterator.h
M llvm/include/llvm/ADT/ImmutableSet.h
M llvm/include/llvm/ADT/PostOrderIterator.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/Support/Alignment.h
M llvm/include/llvm/Support/Casting.h
M llvm/include/llvm/Support/CommandLine.h
M llvm/include/llvm/Support/DOTGraphTraits.h
M llvm/include/llvm/Support/LSP/Protocol.h
M llvm/include/llvm/Support/MD5.h
M llvm/include/llvm/Support/Timer.h
Log Message:
-----------
[ADT, Support] Drop "public" from public inheritance (NFC) (#164119)
Commit: 9351ad638be5f5cb2f7de300f0518f5ff0923fbf
https://github.com/llvm/llvm-project/commit/9351ad638be5f5cb2f7de300f0518f5ff0923fbf
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
M mlir/include/mlir/Dialect/Transform/SMTExtension/SMTExtensionOps.h
M mlir/include/mlir/Dialect/Transform/SMTExtension/SMTExtensionOps.td
M mlir/lib/Dialect/Transform/SMTExtension/SMTExtensionOps.cpp
M mlir/python/mlir/dialects/transform/smt.py
M mlir/test/Dialect/Transform/test-smt-extension-invalid.mlir
M mlir/test/Dialect/Transform/test-smt-extension.mlir
M mlir/test/python/dialects/transform_smt_ext.py
Log Message:
-----------
[MLIR][Transform][SMT] Allow for declarative computations in schedules (#160895)
By allowing `transform.smt.constrain_params`'s region to yield SMT-vars,
op instances can declare relationships, through constraints, on incoming
params-as-SMT-vars and outgoing SMT-vars-as-params. This makes it
possible to declare that computations on params should be performed.
The semantics are that the yielded SMT-vars should be from any valid
satisfying assignment/model of the constraints in the region.
Commit: 5a20b72fce52244e7c2de1c69c6cea36e00d8bb5
https://github.com/llvm/llvm-project/commit/5a20b72fce52244e7c2de1c69c6cea36e00d8bb5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/Bitfields.h
Log Message:
-----------
[ADT] Simplify ResolveUnderlyingType (NFC) (#164114)
We have three implementations of ResolveUnderlyingType:
- enum
- bool
- neither
This patch combines the latter two with std::conditional_t.
Without this patch, we use "void" to trigger a compilation failure
downstream when sizeof(bool) != 1, which is not very friendly. This
patch instead uses static_assert to catch the case where the user
chooses to use bool but sizeof(bool) != 1.
Commit: 08484d9395814a9c640d9953ae42a9676cd0703a
https://github.com/llvm/llvm-project/commit/08484d9395814a9c640d9953ae42a9676cd0703a
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/abs_i32.ll
Log Message:
-----------
[AMDGPU] 32-bit abs is not legal on R600 (#164103)
Fix bug introduced in https://github.com/llvm/llvm-project/pull/163907.
32-bit abs is not legal on R600.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 52f568302a5dfac5979910d303a37c31de107ba5
https://github.com/llvm/llvm-project/commit/52f568302a5dfac5979910d303a37c31de107ba5
Author: David Justo <david.justo.1996 at gmail.com>
Date: 2025-10-18 (Sat, 18 Oct 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/Windows/basic_exception_handling.cpp
Log Message:
-----------
Remove non-standard use of `std::exception` in `compiler-rt/test/asan/TestCases/Windows/basic_exception_handling.cpp` (#164137)
**Follow up to:** #159618
**Context**
The linked PR ^ introduced a new test to ensure that ASan on Windows no
longer instruments catch-parameters. This test used a non-standard
constructor of `std::exception`,one that accepted strings as their
input, which _somehow_ passed the PR CI but would fail to compile on
mingw with libc++.
This was originally reported by @mstorsjo, in this comment:
```
This testcase fails to compile in mingw environments, with libc++ as a C++ standard library - https://github.com/mstorsjo/llvm-mingw/actions/runs/18608410056/job/53074081871:
D:\a\llvm-mingw\llvm-mingw\llvm-project\compiler-rt\test\asan\TestCases\Windows\basic_exception_handling.cpp:11:32: error: no matching conversion for functional-style cast from 'const char[6]' to 'std::exception'
11 | void throwInFunction() { throw std::exception("test2"); }
| ^~~~~~~~~~~~~~~~~~~~~~~
C:/llvm-mingw/include/c++/v1/__exception/exception.h:75:25: note: candidate constructor not viable: no known conversion from 'const char[6]' to 'const exception' for 1st argument
75 | _LIBCPP_HIDE_FROM_ABI exception(const exception&) _NOEXCEPT = default;
| ^ ~~~~~~~~~~~~~~~~
C:/llvm-mingw/include/c++/v1/__exception/exception.h:74:25: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
74 | _LIBCPP_HIDE_FROM_ABI exception() _NOEXCEPT {}
| ^
D:\a\llvm-mingw\llvm-mingw\llvm-project\compiler-rt\test\asan\TestCases\Windows\basic_exception_handling.cpp:16:11: error: no matching conversion for functional-style cast from 'const char[6]' to 'std::exception'
16 | throw std::exception("test1");
| ^~~~~~~~~~~~~~~~~~~~~~~
C:/llvm-mingw/include/c++/v1/__exception/exception.h:75:25: note: candidate constructor not viable: no known conversion from 'const char[6]' to 'const exception' for 1st argument
75 | _LIBCPP_HIDE_FROM_ABI exception(const exception&) _NOEXCEPT = default;
| ^ ~~~~~~~~~~~~~~~~
C:/llvm-mingw/include/c++/v1/__exception/exception.h:74:25: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
74 | _LIBCPP_HIDE_FROM_ABI exception() _NOEXCEPT {}
| ^
2 errors generated.
Looking at https://en.cppreference.com/w/cpp/error/exception/exception.html, I don't see any std::exception constructor taking a const char* parameter.
```
_from:_
https://github.com/llvm/llvm-project/pull/159618#issuecomment-3418802209
**This PR** adjusts the faulty test case to rely on
`std::runtime_error`, which contains a standard constructor accepting a
string. This should suffice to make the test pass on mingw. I tested
this on godbolt: https://godbolt.org/z/M4hPv5Wvx
Commit: d5ce81dc8143eed18a7342093b991a63b025e2d9
https://github.com/llvm/llvm-project/commit/d5ce81dc8143eed18a7342093b991a63b025e2d9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/benchmarks/SpecialCaseListBM.cpp
Log Message:
-----------
[NFC][GlobMatcher] Add benchmark for globs at both sides and in the middle. (#164139)
Commit: a3082c9d9004e2017c86a76cdf91ba02d2f84bce
https://github.com/llvm/llvm-project/commit/a3082c9d9004e2017c86a76cdf91ba02d2f84bce
Author: aokblast <aokblast at FreeBSD.org>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/test/Transforms/SCCP/constant-range-struct.ll
Log Message:
-----------
[SCCP] Support constant structure in PhiNode (#163713)
This patch adds support for constant propagation of individual structure
members through Phi nodes. Each member is handled independently,
allowing optimization opportunities when specific members become
constant.
Also, update the testcase since we are able to optimize the call
parameter now.
Commit: ef46f8a7d73c1657b2448fc2f3f41ff6eecc4c0f
https://github.com/llvm/llvm-project/commit/ef46f8a7d73c1657b2448fc2f3f41ff6eecc4c0f
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateInstantiate.cpp
Log Message:
-----------
[Clang][NFC] Fix a warning in TransformNestedRequirement (#164148)
The logical or expression should be parenthesized.
The issue was brought by #161671
Fixes https://github.com/llvm/llvm-project/issues/164104
Commit: 4b7b728f3f113ebf4122f309237460f3e4a2ca9e
https://github.com/llvm/llvm-project/commit/4b7b728f3f113ebf4122f309237460f3e4a2ca9e
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
Log Message:
-----------
[flang] Fix OpenACCTransforms linking to libMLIR (#164066)
Regression introduced in #163543.
Signed-off-by: Michał Górny <mgorny at gentoo.org>
Commit: 3a15687d1c789ebac04bf394ec31f95331c74bf8
https://github.com/llvm/llvm-project/commit/3a15687d1c789ebac04bf394ec31f95331c74bf8
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaCXX/warn-implicit-unicode-conversions.cpp
Log Message:
-----------
[Clang] Do not warn on UTF-16 -> UTF-32 conversions. (#163927)
UTF-16 to UTF-16 conversions seems widespread,
and lone surrogate have a distinct representation in UTF-32.
Lets not warn on this case to make the warning easier to adopt. This
follows SG-16 guideline
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3695r2.html#changes-since-r1
Fixes #163719
Commit: cecde430093ae24c0a544929bc5a23cc61d3a5f2
https://github.com/llvm/llvm-project/commit/cecde430093ae24c0a544929bc5a23cc61d3a5f2
Author: A. Jiang <de34 at live.cn>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++][docs] Retarget completion of P2944R3 to LLVM 22 (#163753)
The completion of P2944R3 (4a509f853fa4821ecdb0f6bc3b90ddd48794cc8c)
just missed LLVM 21 release, and it seems controversial that whether
such feature completion should be backported.
I'm aware of following-up cleanup and bugfix about `<tuple>`. Perhaps it
will become more and more unwise to backport the changes. So let's
retarget P2944R3 to LLVM 22 in documentations.
Drive-by: Also fixes the formatting of the entry of P3379R0.
Commit: cb79d8f77c12dedbbd32cf5fe94f9651582795d3
https://github.com/llvm/llvm-project/commit/cb79d8f77c12dedbbd32cf5fe94f9651582795d3
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.cpp
M clang-tools-extra/clang-tidy/misc/NewDeleteOverloadsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.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/SuspiciousCallArgumentCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Fix miscellaneous clang-tidy warnings over codebase (#164096)
Co-authored-by: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Commit: f5ae102745bd5c2abf7b9bcdc1f7e765951c648b
https://github.com/llvm/llvm-project/commit/f5ae102745bd5c2abf7b9bcdc1f7e765951c648b
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang-tools-extra/clang-tidy/android/CloexecCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCheck.h
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Fix llvm-prefer-static-over-anonymous-namespace warnings 3/N (#164085)
Continue https://github.com/llvm/llvm-project/pull/153885.
Commit: a51e498ea6e14cdfbed587a7901ea237706b9ccb
https://github.com/llvm/llvm-project/commit/a51e498ea6e14cdfbed587a7901ea237706b9ccb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
Log Message:
-----------
[DAG] combineTruncationShuffle - ensure the *_EXTEND_VECTOR_INREG node didn't come from a smaller type (#164160)
The *_EXTEND_VECTOR_INREG source vector must be the same size as the destination
We already have a similar TODO to handle more types.
Fixes #164107
Commit: 21af72d0231c3ef2791c74e2fb4307a4516614c7
https://github.com/llvm/llvm-project/commit/21af72d0231c3ef2791c74e2fb4307a4516614c7
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
Log Message:
-----------
[libc++][NFC] Cleanup is_implicit_life_time test (#164154)
Removed unsupported compilers and simplified the test a bit.
Commit: 110fcb27e8fb5b16cbb96ab1579c01922ca9ce47
https://github.com/llvm/llvm-project/commit/110fcb27e8fb5b16cbb96ab1579c01922ca9ce47
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/X86/addsub-inseltpoison.ll
M llvm/test/Transforms/PhaseOrdering/X86/addsub.ll
Log Message:
-----------
[PhaseOrdering][X86] Ensure middleend has equivalent addsub pattern test coverage to backend (#164163)
Small step towards #144489
Commit: a0a840a83c19418ed897bcc9a0f3f1605fcc16aa
https://github.com/llvm/llvm-project/commit/a0a840a83c19418ed897bcc9a0f3f1605fcc16aa
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
R llvm/test/CodeGen/X86/fcmove.ll
A llvm/test/CodeGen/X86/isel-select-fcmov.ll
Log Message:
-----------
[X86][GlobalISel] Precommit tests for fcmov (NFC)
Tests are for #157377
Commit: 5805e4d1a05e5faf805bb28b5ba5604d58834e45
https://github.com/llvm/llvm-project/commit/5805e4d1a05e5faf805bb28b5ba5604d58834e45
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/PackedVector.h
Log Message:
-----------
[ADT] Use static_assert in PackedVector (#164142)
This patch replaces an intentionally undefined template
specialization:
template <typename T> class PackedVector<T, 0>;
with:
static_assert(BitNum > 0, "BitNum must be > 0");
This way, the compiler diagnostic on a use of PackedVector<T, 0>
improves from:
error: implicit instantiation of undefined template
'llvm::PackedVector<unsigned int, 0>'
to:
error: static assertion failed due to requirement '0U > 0': BitNum
must be > 0
Commit: 622605e69482862914febfaeaf036aae011e0786
https://github.com/llvm/llvm-project/commit/622605e69482862914febfaeaf036aae011e0786
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/STLForwardCompat.h
M llvm/unittests/ADT/STLForwardCompatTest.cpp
Log Message:
-----------
[ADT] Add C++20-style llvm::identity_cxx20 (#164143)
Currently, our llvm::identity<T> is not quite like std::identity from
C++20. Ours is a template struct while std::identity is a
non-template struct with templatized operator(). This difference
means that we cannot mechanically replace llvm::identity with
std::identity when we switch to C++20 in the future.
This patch implements llvm::identity_cxx20, which behaves exactly like
std::identity.
Once this patch lands, I'm planning to migrate users of llvm::identity
to the new style. There aren't that many:
- 4 instances of SparseSet<...>
- 3 instances of SparseMultiSet<...>
- about 50 instances of IndexedMap<...>
Commit: 3b74d54bff08521701bea60aeb25491c88aaad7a
https://github.com/llvm/llvm-project/commit/3b74d54bff08521701bea60aeb25491c88aaad7a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandImm.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[Target] Use llvm::rotl (NFC) (#164144)
Commit: 062c5330b333c79638f4303d08beaf3009c7fa80
https://github.com/llvm/llvm-project/commit/062c5330b333c79638f4303d08beaf3009c7fa80
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M mlir/unittests/IR/RemarkTest.cpp
Log Message:
-----------
[mlir] Remove an unused local variable (#164146)
Commit: 77d8972372ef46ee4fe848fc04e42ba18a4fb720
https://github.com/llvm/llvm-project/commit/77d8972372ef46ee4fe848fc04e42ba18a4fb720
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/test/CodeGen/X86/GlobalISel/legalize-leading-zeros.mir
M llvm/test/CodeGen/X86/GlobalISel/legalize-select.mir
M llvm/test/CodeGen/X86/isel-select-fcmov.ll
Log Message:
-----------
[X86][GlobalISel] Support G_SELECT for x86_fp80 (#157377)
G_SELECT for x86_fp80 is required to implement G_FPTOUI and G_UITOFP.
Legalize the predicate operand first to prevent clamping of fp80 type.
Since every G_SELECT initially uses s8 for the predicate type, we were
always clamping the input. To keep this behavior, we add additional
conditions for legal types, such as Is64Bit and HasCMOV.
Commit: aa70f66fe2405a0fb33c79d2027627312b27efc2
https://github.com/llvm/llvm-project/commit/aa70f66fe2405a0fb33c79d2027627312b27efc2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
Log Message:
-----------
[RISCV] Remove vfmerge isel patterns under Zvfbfmin predicate. (#164105)
vfmerge isn't a valid instruction for Zvfbfmin. These look to have been
mistakenly added as part of Zvfbfa.
Commit: 6762cfe9d534f1cf7c6de3836c4644abe929474e
https://github.com/llvm/llvm-project/commit/6762cfe9d534f1cf7c6de3836c4644abe929474e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
Log Message:
-----------
[RISCV] Remove duplicate Zvfbfmin patterns that use base Zve instructions. (#164110)
These patterns already exist in our other V extension files using
AllFloatAndBF16Vectors without Zvfbfmin predicate. Which is good because
we need them for Zvfbfa without depending on Zvfbfmin.
Commit: 47c77a0c5553835d3a016675914175cfa94c962f
https://github.com/llvm/llvm-project/commit/47c77a0c5553835d3a016675914175cfa94c962f
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Clang][NFC] Fix a spelling issue OuterMost -> Outermost in concepts (#164167)
This corrects a spelling issue to make ourself consistent.
Commit: fd073a3fbaf0b05fae61cca5def80ce0adaeadb3
https://github.com/llvm/llvm-project/commit/fd073a3fbaf0b05fae61cca5def80ce0adaeadb3
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaCXX/libstdcxx_pair_swap_hack.cpp
M clang/test/SemaTemplate/instantiate-self.cpp
Log Message:
-----------
[clang] separate recursive instantiation check from CodeSynthesisContext (#162224)
This makes pushing / popping CodeSynthesisContexts much cheaper, as it
delegates to another class this functionality which is not actually
needed in most cases.
It also converts a bunch of these uses into just asserts.
This improves compiler performance a little bit:
<img width="1460" height="35" alt="image"
src="https://github.com/user-attachments/assets/ed1f7f39-e85e-481d-938f-e227c62994be"
/>
Some diagnostics changes, because we avoid printing redundant context
notes.
Commit: 8b74582591ba22d8e8454efe35c96fa1c393571a
https://github.com/llvm/llvm-project/commit/8b74582591ba22d8e8454efe35c96fa1c393571a
Author: Thurston Dang <thurston at google.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/allow_user_segv.cpp
Log Message:
-----------
[sanitizer][test] Clean up allow_user_segv.cpp test case (#163870)
This test case has two issues:
- it has some special treatment of SIGBUS, ostensibly to handle old
Darwin platforms, but this been silently broken for years because the
assertions only check for SEGV.
- it has `XFAIL: !compiler-rt-optimized && tsan` [*], because the null
pointer dereference will trigger an assertion (invalid app memory)
rather than a segfault.
We fix both issues by directly raising SIGSEGV. We also considerably
simplify the test case, while maintaining the core test of chaining the
segfault handlers.
[*] This test might also fail when other sanitizer runtimes are compiled
with assertions, though those combinations are not well-tested by
buildbots.
Commit: b2574c9dad487be92605316efd929738a5f6d851
https://github.com/llvm/llvm-project/commit/b2574c9dad487be92605316efd929738a5f6d851
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang/lib/CodeGen/CGAtomic.cpp
M clang/test/CodeGen/c11atomics-ios.c
A clang/test/CodeGenCXX/builtin-atomic-compare_exchange.cpp
A libcxx/test/std/atomics/atomics.types.generic/cas_non_power_of_2.pass.cpp
Log Message:
-----------
[clang] [libc++] fix _Atomic c11 compare exchange does not update expected results (#78707)
fixes #30023
The issue is that for compare exchange builtin, if the type's size is
not power of 2, it creates a temporary of size power of 2, then emit the
compare exchange operation. And later, the results of the compare
exchange operation has two components: 1. a boolean whether or not the
exchange happens. 2. the old value
we are supposed to write the old value into user's "expected" value.
However, in case the type is not power of 2, what we actually wrote to
is the temporary that was created.
The fix is to pass the "expected" address all the way down so it can
wrote to the correct address
Commit: f0720363d39746c906647a23147f17185f5c1433
https://github.com/llvm/llvm-project/commit/f0720363d39746c906647a23147f17185f5c1433
Author: owenca <owenpiano at gmail.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/DefinitionBlockSeparator.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format][NFC] Annotate attribute squares more effectively (#164052)
Annotate left/right attribute squares distinctively and only annotate
the outer pair of C++ attribute squares.
Commit: b9ce7656e93a8cd54b2e9f44d8bae49c55a76a4b
https://github.com/llvm/llvm-project/commit/b9ce7656e93a8cd54b2e9f44d8bae49c55a76a4b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-insertelt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/AArch64/wider-VF-for-callinst.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-conditional-branches.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-ptradd-with-replicated-operand.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-hoist-load-across-store.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-sink-store-across-load.ll
M llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/X86/vplan-native-inner-loop-only.ll
M llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/X86/x86_fp80-vector-store.ll
M llvm/test/Transforms/LoopVectorize/assume.ll
M llvm/test/Transforms/LoopVectorize/bsd_regex.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/histograms.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/loop-scalars.ll
M llvm/test/Transforms/LoopVectorize/metadata.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction-index-width-smaller-than-iv-width.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr34681.ll
M llvm/test/Transforms/LoopVectorize/pr39417-optsize-scevchecks.ll
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/struct-return-replicate.ll
M llvm/test/Transforms/LoopVectorize/uniform-args-call-variants.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_and.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_div_urem.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_lshr.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
M llvm/test/Transforms/LoopVectorize/vplan-native-path-inner-loop-with-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
Log Message:
-----------
[VPlan] Add VPInstruction to unpack vector values to scalars. (#155670)
Add a new Unpack VPInstruction (name to be improved) to explicitly
extract scalars values from vectors.
Test changes are movements of the extracts: they are no generated
together and also directly after the producer.
Depends on https://github.com/llvm/llvm-project/pull/155102 (included in
PR)
PR: https://github.com/llvm/llvm-project/pull/155670
Commit: e6b0be376412bf0599f6e75aa5e67f95cd36b411
https://github.com/llvm/llvm-project/commit/e6b0be376412bf0599f6e75aa5e67f95cd36b411
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/num-uses-for-copyable-elements.ll
Log Message:
-----------
[SLP]Correctly calculate number of copyable operands
The compiler shall not check for overflow of the number of copyable
operands counter, otherwise non-copyable operand can be counted as
copyable and lead to a compiler crash.
Fixes #164164
Commit: 8091dcea7fdeaaa78de9fb8872c8227629706a14
https://github.com/llvm/llvm-project/commit/8091dcea7fdeaaa78de9fb8872c8227629706a14
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaCXX/libstdcxx_pair_swap_hack.cpp
M clang/test/SemaTemplate/instantiate-self.cpp
Log Message:
-----------
Revert "[clang] separate recursive instantiation check from CodeSynthesisContext" (#164174)
Reverts llvm/llvm-project#162224
Broke buildbot here:
https://github.com/llvm/llvm-project/pull/162224#issuecomment-3419843479
Commit: d43ad92e20072d648a61170acf354bc4eb473b3c
https://github.com/llvm/llvm-project/commit/d43ad92e20072d648a61170acf354bc4eb473b3c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/PagedVector.h
M llvm/include/llvm/Support/GraphWriter.h
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Support/Unix/Signals.inc
Log Message:
-----------
[ADT, Support] Use std::min and std::max (NFC) (#164145)
Commit: e4c97f0fb9788877412f5fa40fb1b50153dac735
https://github.com/llvm/llvm-project/commit/e4c97f0fb9788877412f5fa40fb1b50153dac735
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
Log Message:
-----------
[GitHub][CI] Add missing dependencies to code-lint container (#163873)
Commit: 63ca2fd7a16f532a95e53780220d2eae0debb8d9
https://github.com/llvm/llvm-project/commit/63ca2fd7a16f532a95e53780220d2eae0debb8d9
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaCXX/libstdcxx_pair_swap_hack.cpp
M clang/test/SemaTemplate/instantiate-self.cpp
Log Message:
-----------
[clang] Reland: separate recursive instantiation check from CodeSynthesisContext (#164177)
This makes pushing / popping CodeSynthesisContexts much cheaper, as it
delegates to another class this functionality which is not actually
needed in most cases.
It also converts a bunch of these uses into just asserts.
This improves compiler performance a little bit:
Some diagnostics change a little bit, because we avoid printing a
redundant context notes.
This relands #162224 with no changes, turns out the buildbot failure was
unrelated.
Commit: 227272662a02151ad401c0881da46250944dc3e3
https://github.com/llvm/llvm-project/commit/227272662a02151ad401c0881da46250944dc3e3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang/test/Frontend/rewrite-includes-bom.c
Log Message:
-----------
Reapply "[Clang] Make rewrite-includes-bom.c work with internal shell"
This reverts commit 354ad556e17358db2b22507e3ef07ba39991b189.
This was reverted previously for causing test failures on MacOS. It turns out
that od -t x1 prints two spaces between hexadecimal representations of bytes
rather than one like on other *nix systems. This reland updates the original
patch to match any number of whitespace characters in between the bytes rather
than just a single space.
Commit: ea3dbb8b0061a7e44cba92b6e4e4486c4a416d65
https://github.com/llvm/llvm-project/commit/ea3dbb8b0061a7e44cba92b6e4e4486c4a416d65
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang/test/Frontend/rewrite-includes-bom.c
Log Message:
-----------
[Clang] Disable rewrite-includes-bom.c on Windows
This was failing on
https://lab.llvm.org/buildbot/#/builders/46/builds/25073. This test
seems to have always had portability problems looking at the commit
history. The most recent patch I landed to touch this enabled it on
Windows again, so we are not disabling coverage that was there before.
Commit: 445415709e93a375d4447688bc354eb8a1a3bac8
https://github.com/llvm/llvm-project/commit/445415709e93a375d4447688bc354eb8a1a3bac8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-incomplete-chains.ll
Log Message:
-----------
[LV] Move test for incomplete partial reduction chains to separate file.
Move test to new file, to prepare for adding similar tests in
https://github.com/llvm/llvm-project/pull/162822.
Commit: e45709718f15be9db1c335800f398ae40ba0937c
https://github.com/llvm/llvm-project/commit/e45709718f15be9db1c335800f398ae40ba0937c
Author: David Green <david.green at arm.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
Log Message:
-----------
[AArch64][GlobalISel] Update checks for arm64-vcvt_f.ll. NFC
Commit: dd6a6bac708235fe2ed80670cd873258430264c2
https://github.com/llvm/llvm-project/commit/dd6a6bac708235fe2ed80670cd873258430264c2
Author: Björn Schäpers <bjoern at hazardy.de>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/Format/WhitespaceManager.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Reuse AlignTokens for aligning macros (#164120)
Fixes #52985.
This leaves aligning short case statements with its own logic. But that
is harder to port, because it aligns even with no content of the right
hand side of the :.
Commit: 65fe2d1daff5cd0a3b483676c1d6c66d12db6533
https://github.com/llvm/llvm-project/commit/65fe2d1daff5cd0a3b483676c1d6c66d12db6533
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison-qt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
Log Message:
-----------
[clang-tidy] Fix a broken fix-it provided by `modernize-use-integer-sign-comparison` (#163488)
Fixes #162981.
This is an issue with both named and functional casts, but this check
doesn't have any existing tests for the latter, so I went and added
those.
Commit: 3f9f522a7c0142b7aca8ddb135a718a2f1ccb58e
https://github.com/llvm/llvm-project/commit/3f9f522a7c0142b7aca8ddb135a718a2f1ccb58e
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-wcslen.cpp
Log Message:
-----------
[clang-tidy] Fix broken fix-its with `bugprone-not-null-terminated-result` on Windows (#162874)
(See the test changes for a description of the problem.)
Commit: b9e2f7ac0489b2045aa78475e9663c2d3e5bedf7
https://github.com/llvm/llvm-project/commit/b9e2f7ac0489b2045aa78475e9663c2d3e5bedf7
Author: Wenju He <wenju.he at intel.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Change libclc install dir to ${clang_resource_dir}/lib/libclc in in-tree build (#163896)
Commit df7473673214b placed libclc libraries into clang resource dir
<resource-dir>/lib/libclc at build stage.
This PR does it at install stage as well.
Note that in standalone (not in-tree) build, libclc is still installed
to old ${CMAKE_INSTALL_DATADIR}/clc dir.
Commit: 377148fd60df55e486dc72b26248006ae092725a
https://github.com/llvm/llvm-project/commit/377148fd60df55e486dc72b26248006ae092725a
Author: Wenju He <wenju.he at intel.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M libclc/clc/include/clc/math/clc_sincos_helpers.inc
M libclc/clc/include/clc/math/clc_sincos_helpers_fp64.inc
R libclc/clc/include/clc/math/clc_sincos_piby4.h
R libclc/clc/include/clc/math/clc_sincos_piby4.inc
M libclc/clc/lib/generic/math/clc_cos.cl
M libclc/clc/lib/generic/math/clc_cospi.cl
M libclc/clc/lib/generic/math/clc_sin.cl
M libclc/clc/lib/generic/math/clc_sincos_helpers.inc
M libclc/clc/lib/generic/math/clc_sincos_helpers_fp64.inc
M libclc/clc/lib/generic/math/clc_sinpi.cl
M libclc/clc/lib/generic/math/clc_tan.cl
M libclc/clc/lib/generic/math/clc_tanpi.cl
Log Message:
-----------
[libclc] Move functions definition from header clc_sincos_piby4.inc into clc_sincos_helpers.cl (#164028)
inline functions defined in clc_sincos_piby4.inc miss static specifier
and are deleted by EliminateAvailableExternallyPass when not inlined.
This PR fix the problem by removing inline and moving function
definition
into clc/lib/generic/math/clc_sincos_helpers.cl. It makes sense to put
all sin/cos helpers definitions in one file clc_sincos_helpers.cl.
Commit: 7539fc5b33ad9344cca75e55ecfec7cc71dfccdc
https://github.com/llvm/llvm-project/commit/7539fc5b33ad9344cca75e55ecfec7cc71dfccdc
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
[ExprMutation] handle return non-const type (#161396)
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
Commit: 4f5374bef554eb7f5429c1a86d90833e4a3c98de
https://github.com/llvm/llvm-project/commit/4f5374bef554eb7f5429c1a86d90833e4a3c98de
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/test/Lexer/minimize_source_to_dependency_directives_utf8bom.c
Log Message:
-----------
[Clnag] Prefer octal to hex for printf
The printf implementation on MacOS that gets picked up by the internal
shell does not support the \xff form as it is not mandated by POSIX.
Prefer octal which is supported and mandated by POSIX.
This is similar to c745c5497069a966a43e5ba03d137e0189921073.
Commit: 04fc1aee564373e72048333a789c7b277e68f25a
https://github.com/llvm/llvm-project/commit/04fc1aee564373e72048333a789c7b277e68f25a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/test/Modules/crash-vfs-relative-incdir.m
M clang/test/Modules/crash-vfs-run-reproducer.m
Log Message:
-----------
[Clang] Explicitly invoke bash to run shell scripts
Otherwise these tests run into an exec format error when attempting to run
them with the internal shell. This is similar to other patches that have
done the same for similar tests.
Commit: 6afccac4148253d4f9a90ad0a51cba0995f92fad
https://github.com/llvm/llvm-project/commit/6afccac4148253d4f9a90ad0a51cba0995f92fad
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
Log Message:
-----------
[RISCV] Remove untested Zvfbfmin isel patterns (#164111)
These were added with the Zvfbfa instrinsics but aren't tested. We
should probably have these patterns but they should be applicable to
Zvfbfmin and Zvbfa and would need to be tested.
Commit: 550a708294183eaa7b14705d767b01222b99fc0b
https://github.com/llvm/llvm-project/commit/550a708294183eaa7b14705d767b01222b99fc0b
Author: Mark Danial <mark.danial at ibm.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/test/DebugInfo/Generic/compileunit-source-language-name.ll
M llvm/test/DebugInfo/Generic/compileunit-source-language.ll
M llvm/test/DebugInfo/dwarf-complex-int.ll
Log Message:
-----------
[AIX] Fix dwarf testcases on AIX (#163822)
These test cases break the aix bots starting
https://lab.llvm.org/buildbot/#/builders/64/builds/6062 and are not
supported on AIX
Commit: 04623afefcb9b3f84270b2a5c22476b1033e0384
https://github.com/llvm/llvm-project/commit/04623afefcb9b3f84270b2a5c22476b1033e0384
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/SCCIterator.h
Log Message:
-----------
[ADT] Use try_emplace in SCCIterator.h (NFC) (#164187)
This patch replaces an unidiomatic operator[] usage with try_emplace
to ensure in-place NodeInfo construction and correct Group field
initialization.
This patch also clarifies the comment. In particular, "insertion
operation" by itself isn't clear whether it's referring to insert() or
all of insertion operations like insert(), insert_or_assign(),
try_emplace(), etc.
Commit: f744cce89a14a29872e22f61303800643c7a5b7c
https://github.com/llvm/llvm-project/commit/f744cce89a14a29872e22f61303800643c7a5b7c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M clang/include/clang/Basic/DirectoryEntry.h
M clang/include/clang/Basic/FileEntry.h
Log Message:
-----------
[Basic] clean up MapEntryOptionalStorage and its derived classes (NFC) (#164189)
This patch modernizes a couple of things:
- Use in-class member initializers in MapEntryOptionalStorage.
- Inherit constructors in OptionalStorage<clang::DirectoryEntryRef>
and OptionalStorage<clang::FileEntryRef>.
Commit: ad8f7f4e733cb2420331675f268b70c14ff643ad
https://github.com/llvm/llvm-project/commit/ad8f7f4e733cb2420331675f268b70c14ff643ad
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-19 (Sun, 19 Oct 2025)
Changed paths:
M llvm/include/llvm/Support/DebugLog.h
M llvm/include/llvm/Support/ELFAttrParserCompact.h
M llvm/include/llvm/Support/ELFAttrParserExtended.h
M llvm/include/llvm/Support/FormatAdapters.h
M llvm/include/llvm/Support/ScopedPrinter.h
M llvm/include/llvm/Support/SuffixTreeNode.h
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/include/llvm/Support/VirtualOutputFile.h
M llvm/include/llvm/Support/raw_socket_stream.h
Log Message:
-----------
[Support] Add "override" where appropriate (NFC) (#164190)
Note that "override" makes "virtual" redundant.
Identified with modernize-use-override.
Commit: e65522e596522faca391eea0adb440542b9f8f15
https://github.com/llvm/llvm-project/commit/e65522e596522faca391eea0adb440542b9f8f15
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[NFC][doc] Mark P1857R3 as partial implemented (#164095)
Since the following 2 patches was landed, mark P1857R3 as partial
implemented.
- [[C++][Modules] A module directive may only appear as the first
preprocessing tokens in a
file](https://github.com/llvm/llvm-project/pull/144233).
- [[clang] Allow trivial pp-directives before C++ module
directive](https://github.com/llvm/llvm-project/pull/153641).
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Co-authored-by: h-vetinari <h.vetinari at gmx.com>
Co-authored-by: Hubert Tong <hubert.reinterpretcast at gmail.com>
Commit: 1943c9e9b9de4b920fb4ed9352f5721407fc01c7
https://github.com/llvm/llvm-project/commit/1943c9e9b9de4b920fb4ed9352f5721407fc01c7
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/test/lit.cfg.py
Log Message:
-----------
Reapply "[Clang] Enable lit internal shell by default"
This reverts commit 5b13d99357d5113b0ee4cde2066a024e1df58222.
Commit: 54eaf22269ebd9433196602acc152152928f9a0d
https://github.com/llvm/llvm-project/commit/54eaf22269ebd9433196602acc152152928f9a0d
Author: Wenju He <wenju.he at intel.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M libclc/clc/lib/generic/common/clc_degrees.cl
A libclc/clc/lib/generic/common/clc_degrees.inc
M libclc/clc/lib/generic/common/clc_radians.cl
A libclc/clc/lib/generic/common/clc_radians.inc
M libclc/clc/lib/generic/common/clc_smoothstep.cl
A libclc/clc/lib/generic/common/clc_smoothstep.inc
M libclc/clc/lib/generic/common/clc_step.cl
M libclc/opencl/lib/generic/common/smoothstep.cl
A libclc/opencl/lib/generic/common/smoothstep.inc
Log Message:
-----------
[NFC][libclc] Simplify degrees, radians and smoothstep macros (#164203)
Implementation doesn't change.
Commit: 4ba30c6eb6b9b358556563e6b8a0b1dbbba8a2e7
https://github.com/llvm/llvm-project/commit/4ba30c6eb6b9b358556563e6b8a0b1dbbba8a2e7
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
R flang/include/flang/Optimizer/Builder/Runtime/Coarray.h
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/FIRType.h
A flang/include/flang/Optimizer/Dialect/MIF/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/MIF/MIFDialect.h
A flang/include/flang/Optimizer/Dialect/MIF/MIFDialect.td
A flang/include/flang/Optimizer/Dialect/MIF/MIFOps.h
A flang/include/flang/Optimizer/Dialect/MIF/MIFOps.td
M flang/include/flang/Optimizer/Support/InitFIR.h
A flang/include/flang/Optimizer/Transforms/MIFOpConversion.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/Runtime.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
R flang/lib/Optimizer/Builder/Runtime/Coarray.cpp
M flang/lib/Optimizer/Builder/Runtime/Main.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/FIRType.cpp
A flang/lib/Optimizer/Dialect/MIF/CMakeLists.txt
A flang/lib/Optimizer/Dialect/MIF/MIFDialect.cpp
A flang/lib/Optimizer/Dialect/MIF/MIFOps.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
A flang/test/Fir/MIF/co_broadcast.mlir
A flang/test/Fir/MIF/co_max.mlir
A flang/test/Fir/MIF/co_min.mlir
A flang/test/Fir/MIF/co_sum.mlir
A flang/test/Fir/MIF/init.mlir
A flang/test/Fir/MIF/num_images.mlir
A flang/test/Fir/MIF/sync_all.mlir
A flang/test/Fir/MIF/sync_images.mlir
A flang/test/Fir/MIF/sync_memory.mlir
A flang/test/Fir/MIF/this_image.mlir
M flang/test/Fir/basic-program.fir
R flang/test/Lower/Coarray/co_broadcast.f90
R flang/test/Lower/Coarray/co_max.f90
R flang/test/Lower/Coarray/co_min.f90
R flang/test/Lower/Coarray/co_sum.f90
R flang/test/Lower/Coarray/coarray-init.f90
R flang/test/Lower/Coarray/num_images.f90
R flang/test/Lower/Coarray/sync_all.f90
R flang/test/Lower/Coarray/sync_images.f90
R flang/test/Lower/Coarray/sync_memory.f90
R flang/test/Lower/Coarray/this_image.f90
A flang/test/Lower/MIF/co_broadcast.f90
A flang/test/Lower/MIF/co_max.f90
A flang/test/Lower/MIF/co_min.f90
A flang/test/Lower/MIF/co_sum.f90
A flang/test/Lower/MIF/coarray-init.f90
A flang/test/Lower/MIF/num_images.f90
A flang/test/Lower/MIF/sync_all.f90
A flang/test/Lower/MIF/sync_images.f90
A flang/test/Lower/MIF/sync_memory.f90
A flang/test/Lower/MIF/this_image.f90
M flang/tools/bbc/CMakeLists.txt
M flang/tools/fir-lsp-server/CMakeLists.txt
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/tco/CMakeLists.txt
M flang/unittests/Optimizer/CMakeLists.txt
Log Message:
-----------
[flang][Multi-Image] Moving Mutli-image lowering to PRIF into the MIF dialect (#161179)
Support for multi-image features has begun to be integrated into LLVM. A
new dialect which simplifies lowering to PRIF wil be proposed in this
PR.
The initial definition of this dialect (MIF) is based only on operations
already upstreamed in LLVM and the current lowering will be moved to
this dialect.
---------
Co-authored-by: Dan Bonachea <dobonachea at lbl.gov>
Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Commit: d4b504ff2038385bbe162e33a7a2560ed564731f
https://github.com/llvm/llvm-project/commit/d4b504ff2038385bbe162e33a7a2560ed564731f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
Log Message:
-----------
AMDGPU: Remove triple field from subtarget (#164208)
This is redundant and already exists in the base class, and
is also unused.
Commit: 4d6f43d64f07f5adc9f37212756794e20b4ae8c5
https://github.com/llvm/llvm-project/commit/4d6f43d64f07f5adc9f37212756794e20b4ae8c5
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-as-xvshuf4i.ll
Log Message:
-----------
[LoongArch][NFC] Pre-commit tests for `xvshuf4i.d` (#164210)
Commit: 36bc9b7a6b3da2c6ce74174cefc5047444fe5c95
https://github.com/llvm/llvm-project/commit/36bc9b7a6b3da2c6ce74174cefc5047444fe5c95
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/shufflevector-reverse.ll
A llvm/test/CodeGen/LoongArch/lsx/shufflevector-reverse.ll
Log Message:
-----------
[LoongArch][NFC] Pre-commit tests for reversing vector using shufflevector (#163145)
Commit: 086666de834a72eadc302a18e2bc51ba2bce1937
https://github.com/llvm/llvm-project/commit/086666de834a72eadc302a18e2bc51ba2bce1937
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Improve code using drop_begin, append_range (NFC) (#163934)
Commit: a2ddd722f842f4698840cd9ec0f82631c6d313f2
https://github.com/llvm/llvm-project/commit/a2ddd722f842f4698840cd9ec0f82631c6d313f2
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Clean up and slightly optimize `modernize-use-integer-sign-comparison` (#163492)
Commit: aa63949428b3e3052e06214ce97eeee84d48567b
https://github.com/llvm/llvm-project/commit/aa63949428b3e3052e06214ce97eeee84d48567b
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/int-mac-reduction-loops.ll
Log Message:
-----------
[WebAssembly] Avoid dot for v16i8 partial_smla (#163796)
The sequence is shorter, by two extend operations, if we just use extmul
and extadd_pairwise.
Commit: 46a866ab7735aaa0f89fde209d516271c4825c49
https://github.com/llvm/llvm-project/commit/46a866ab7735aaa0f89fde209d516271c4825c49
Author: Frederik Harwath <frederik.harwath at amd.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/ExpandFp.cpp
M llvm/test/CodeGen/AMDGPU/frem.ll
Log Message:
-----------
expand-fp: Refactor modification status handling (NFC) (#163542)
Modify the return value of the runImpl function which indicates whether or not the IR has been changed in a
single place instead of doing it separately for each instruction at the insertion into the worklist.
Further changes: Replace if-else in worklist processing loop by switch and add test cases which demonstrate that the "scalarize" function does not always add items to the worklist and hence a worklist emptiness check cannot be used for the runImpl return value.
Commit: 8774128fcbff455baa2ac4b49cc7877f78ec8ff8
https://github.com/llvm/llvm-project/commit/8774128fcbff455baa2ac4b49cc7877f78ec8ff8
Author: Björn Schäpers <bjoern at hazardy.de>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/Format/WhitespaceManager.cpp
Log Message:
-----------
[clang-format][NFC] Simplify AlignMacroMatches (#164122)
Just return early based on the SpacedRequiredBefore.
Commit: 573ca36753e9141f25b941ea9a84d0599e3baae7
https://github.com/llvm/llvm-project/commit/573ca36753e9141f25b941ea9a84d0599e3baae7
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sb.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sh.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sw.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ub.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1uh.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1uw.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1b.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1h.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1w.c
M clang/test/CodeGen/X86/avx10_2bf16-builtins.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512fp16-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vlbw-builtins.c
M clang/test/CodeGen/arm-mve-intrinsics/cplusplus.cpp
M clang/test/CodeGen/arm-mve-intrinsics/load-store.c
M clang/test/CodeGen/builtin-masked.c
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemProfInstrumentation.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/InferAlignment.cpp
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/test/Analysis/BasicAA/intrinsics.ll
M llvm/test/Analysis/BasicAA/ptr-vector.ll
M llvm/test/Analysis/BasicAA/scalable-dse-aa.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst_vls.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/sve-gather.ll
M llvm/test/Analysis/CostModel/AArch64/sve-illegal-types.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/AArch64/sve-scatter.ll
M llvm/test/Analysis/CostModel/ARM/cast_ldst.ll
M llvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/ARM/mve-gather-scatter-cost.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-gather.ll
M llvm/test/Analysis/CostModel/RISCV/fixed-vector-scatter.ll
M llvm/test/Analysis/CostModel/RISCV/gep.ll
M llvm/test/Analysis/CostModel/RISCV/masked_ldst.ll
M llvm/test/Analysis/CostModel/RISCV/scalable-gather.ll
M llvm/test/Analysis/CostModel/RISCV/scalable-scatter.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.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/TypeBasedAliasAnalysis/intrinsics.ll
M llvm/test/Assembler/masked-load-store-intrinsics-attributes.ll
M llvm/test/Bitcode/upgrade-masked-keep-metadata.ll
M llvm/test/CodeGen/AArch64/sve-lsr-scaled-index-addressing-mode.ll
M llvm/test/CodeGen/AArch64/sve2-vscale-sinking.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-tbaa.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-negative.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/clear-maskedinsts.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/nested.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-basic.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-const.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-reduce.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-widen.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-reduce-mve-tail.ll
M llvm/test/Instrumentation/AddressSanitizer/asan-masked-load-store.ll
M llvm/test/Instrumentation/HeapProfiler/masked-load-store.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512bw-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/masked-store-load.ll
M llvm/test/Transforms/Attributor/readattrs.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/dont-sink-scalable-vector-compare.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/gather-scatter-opt-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/gather-scatter-opt.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/sink-gather-scatter-addressing.ll
M llvm/test/Transforms/CodeGenPrepare/X86/gather-scatter-opt-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/gather-scatter-opt.ll
M llvm/test/Transforms/CodeGenPrepare/X86/masked-gather-struct-gep.ll
M llvm/test/Transforms/DeadStoreElimination/masked-dead-store-inseltpoison.ll
M llvm/test/Transforms/DeadStoreElimination/masked-dead-store.ll
M llvm/test/Transforms/EarlyCSE/masked-intrinsics-unequal-masks.ll
M llvm/test/Transforms/EarlyCSE/masked-intrinsics.ll
M llvm/test/Transforms/EarlyCSE/opaque-ptr.ll
M llvm/test/Transforms/FunctionAttrs/readattrs.ll
M llvm/test/Transforms/FunctionAttrs/vector-of-pointers-getunderlyingobject-crash.ll
M llvm/test/Transforms/GVN/2016-08-30-MaskedScatterGather-inseltpoison.ll
M llvm/test/Transforms/GVN/2016-08-30-MaskedScatterGather.ll
M llvm/test/Transforms/GVN/masked-load-store-no-mem-dep.ll
M llvm/test/Transforms/GVN/masked-load-store-vn-crash.ll
M llvm/test/Transforms/GVN/masked-load-store.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/masked-load-store.ll
M llvm/test/Transforms/InferAddressSpaces/masked-gather-scatter.ll
M llvm/test/Transforms/InferAlignment/masked.ll
M llvm/test/Transforms/Inline/pr50589.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-gatherscatter.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-loadstore.ll
M llvm/test/Transforms/InstCombine/X86/x86-masked-memops.ll
M llvm/test/Transforms/InstCombine/intrinsic-select.ll
M llvm/test/Transforms/InstCombine/load-store-masked-constant-array.ll
M llvm/test/Transforms/InstCombine/masked_intrinsics-inseltpoison.ll
M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
M llvm/test/Transforms/InstCombine/pr83947.ll
M llvm/test/Transforms/InstCombine/select-masked_gather.ll
M llvm/test/Transforms/InstCombine/select-masked_load.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
M llvm/test/Transforms/LICM/licm-ci.ll
M llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll
M llvm/test/Transforms/LoopIdiom/AArch64/find-first-byte.ll
M llvm/test/Transforms/LoopIdiom/RISCV/byte-compare-index.ll
M llvm/test/Transforms/LoopUnroll/ARM/mve-upperbound.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fixed-wide-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invalid-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/multiple-result-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-large-strides.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vfabi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-wide-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/ARM/active-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-saddsatcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-store-with-gap.ll
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-conditional-branches.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-sink-store-across-load.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/X86/pr48340.ll
M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/scev-checks-unprofitable.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory-gaps.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
M llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-inner-latch-successors.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-vec-phi-predecessor-order.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_hcfg_construction.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_test2.ll
M llvm/test/Transforms/LoopVectorize/vplan-vectorize-inner-loop-reduction.ll
M llvm/test/Transforms/LoopVectorize/vplan-widen-call-instruction.ll
M llvm/test/Transforms/LoopVectorize/vplan-widen-select-instruction.ll
M llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll
M llvm/test/Transforms/NewGVN/2016-08-30-MaskedScatterGather-xfail.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_add_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll
M llvm/test/Transforms/PhaseOrdering/X86/masked-memory-ops-with-cf.ll
M llvm/test/Transforms/PhaseOrdering/X86/masked-memory-ops.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/PreISelIntrinsicLowering/expand-vp-gather-scatter.ll
M llvm/test/Transforms/PreISelIntrinsicLowering/expand-vp-load-store.ll
M llvm/test/Transforms/RewriteStatepointsForGC/vector-nonlive-clobber.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalable-vector.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/gather-insert-point-restore.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/gather-node-with-no-users.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/remarks-insert-into-small-vector.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/scatter-vectorize-reversed.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/segmented-loads-simple.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-indices.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-use-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/unordered-loads-operands.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/num-uses-for-copyable-elements.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-insertelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark-masked-loads-consecutive-loads-same-ptr.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/revec-load-compress.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder-non-empty.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
M llvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/expand-masked-load.ll
M llvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/expand-masked-store.ll
M llvm/test/Transforms/SimplifyCFG/X86/hoist-loads-stores-with-cf.ll
M llvm/test/Verifier/intrinsic-bad-arg-type.ll
M llvm/test/Verifier/intrinsic-immarg.ll
R llvm/test/Verifier/masked-load.ll
R llvm/test/Verifier/masked-store.ll
M llvm/test/Verifier/opaque-ptr.ll
M llvm/test/Verifier/scatter_gather.ll
M llvm/unittests/IR/IRBuilderTest.cpp
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/test/Target/LLVMIR/opaque-ptr.mlir
M mlir/test/Target/LLVMIR/ptr.mlir
Log Message:
-----------
[IR] Replace alignment argument with attribute on masked intrinsics (#163802)
The `masked.load`, `masked.store`, `masked.gather` and `masked.scatter`
intrinsics currently accept a separate alignment immarg. Replace this
with an `align` attribute on the pointer / vector of pointers argument.
This is the standard representation for alignment information on
intrinsics, and is already used by all other memory intrinsics. This
means the signatures now match llvm.expandload, llvm.vp.load, etc.
(Things like llvm.memcpy used to have a separate alignment argument as
well, but were already migrated a long time ago.)
It's worth noting that the masked.gather and masked.scatter intrinsics
previously accepted a zero alignment to indicate the ABI type alignment
of the element type. This special case is gone now: If the align
attribute is omitted, the implied alignment is 1, as usual. If ABI
alignment is desired, it needs to be explicitly emitted (which the
IRBuilder API already requires anyway).
Commit: dacd69c1e9a63d858027f342a27e22a44326de54
https://github.com/llvm/llvm-project/commit/dacd69c1e9a63d858027f342a27e22a44326de54
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
Log Message:
-----------
[lldb][test][DAP] Disable TestDAP_attach.py on Arm Linux
Despite #163452, this is still timing out on our Arm bot. Probably
because schedling is unpredicatable, but that's just reality so
I'm not going to fight that.
--
Exit Code: -9
Timeout: Reached timeout of 600 seconds
======================================================================
ERROR: test_by_name_waitFor (TestDAP_attach.TestDAP_attach)
Tests waiting for, and attaching to a process by process name that
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2066, in tearDown
Base.tearDown(self)
File "/home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1106, in tearDown
hook() # try the plain call and hope it works
File "/home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py", line 499, in cleanup
self.dap_server.request_disconnect(terminateDebuggee=True)
File "/home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py", line 926, in request_disconnect
return self._send_recv(command_dict)
File "/home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py", line 548, in _send_recv
raise ValueError(f"no response for {request!r}")
ValueError: no response for {'command': 'disconnect', 'type': 'request', 'arguments': {'terminateDebuggee': True}, 'seq': 3}
Config=arm-/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/bin/clang
----------------------------------------------------------------------
I don't think this is an Arm thing specifically, but it's the most
diplomatic way to stop false negatives from this test.
Commit: fbb15f58b58da6a7529abd6b406c2afc7d8cab67
https://github.com/llvm/llvm-project/commit/fbb15f58b58da6a7529abd6b406c2afc7d8cab67
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/abs.ll
M llvm/test/CodeGen/LoongArch/lsx/abs.ll
Log Message:
-----------
[LoongArch] Lowering vector abs to [x]vsigncov (#162595)
Commit: d0ed8bc1a48f1897d7b756d2a55b85046413dc60
https://github.com/llvm/llvm-project/commit/d0ed8bc1a48f1897d7b756d2a55b85046413dc60
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
M clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp
M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
Log Message:
-----------
[clang-tidy][NFC] Fix llvm-prefer-static-over-anonymous-namespace warnings 4/N (#164158)
Continue https://github.com/llvm/llvm-project/pull/153885.
Commit: eb17a8d599dbcadecba2529dcf9ac234b085088a
https://github.com/llvm/llvm-project/commit/eb17a8d599dbcadecba2529dcf9ac234b085088a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
Log Message:
-----------
[SCEV] Preserve divisor info when adding guard info for ICMP_NE via Sub. (#163250)
Follow-up to https://github.com/llvm/llvm-project/pull/160500 to
preserve divisibiltiy info when creating the UMax.
PR: https://github.com/llvm/llvm-project/pull/163250
Commit: b90a8d385e0d35a2e870aa7b4cf16ee37df10851
https://github.com/llvm/llvm-project/commit/b90a8d385e0d35a2e870aa7b4cf16ee37df10851
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/lcssa-phi-outer-latch.ll
Log Message:
-----------
[LoopInterchange] Add simplifyLCSSAPhis: remove phi from non-exit bb (#160889)
This deals with a corner case of LCSSA phi nodes in the outer loop latch
block: the loop was in LCSSA form, some transformations can come along
(e.g. unswitch) and create an empty block:
BB4:
br label %BB5
BB5:
%old.cond.lcssa = phi i16 [ %cond, %BB4 ]
br outer.header
Interchange then brings it in LCSSA form again and we get:
BB4:
%new.cond.lcssa = phi i16 [ %cond, %BB3 ]
br label %BB5
BB5:
%old.cond.lcssa = phi i16 [ %new.cond.lcssa, %BB4 ]
Which means that we have a chain of LCSSA phi nodes from %new.cond.lcssa
to %old.cond.lcssa. The problem is that interchange can reoder blocks
BB4 and BB5 placing the use before the def if we don't check this. The
solution is to simplify lcssa phis, and remove them from non-exit blocks
if they are 1-input phi nodes.
Fixes #160068
Commit: 96688d4b3c6cc35777e7293fa61e3fa7caa960d2
https://github.com/llvm/llvm-project/commit/96688d4b3c6cc35777e7293fa61e3fa7caa960d2
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M bolt/README.md
M bolt/docs/Heatmaps.md
M bolt/docs/OptimizingClang.md
M bolt/docs/OptimizingLinux.md
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/heatmap-preagg.test
M bolt/test/X86/nolbr.s
M bolt/test/perf2bolt/AArch64/perf2bolt-spe.test
M bolt/tools/heatmap/heatmap.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
Log Message:
-----------
[BOLT][NFC] Use brstack in guides and user outputs (#163950)
Update guides to use brstack, with a mention to BRBE for AArch64. Use
brstack in user-facing outputs.
---------
Co-authored-by: Amir Ayupov <aaupov at fb.com>
Commit: c1852afa4b1ebb17f101b9105d36ace700981dac
https://github.com/llvm/llvm-project/commit/c1852afa4b1ebb17f101b9105d36ace700981dac
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-cluster.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-cluster.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
Log Message:
-----------
[AMDGPU][SIMemoryLegalizer][GFX12] Correctly insert sample/bvhcnt (#161637)
The check used was not strong enough to prevent the insertion of sample/bvhcnt when they were not needed.
I assume SIInsertWaitCnts was trimming those away anyway, but this was a bug nonetheless.
We were inserting SAMPLE/BVHcnt waits in places where we only needed to wait on the previous atomic operation. Neither of these counter have any atomics associated with them.
Commit: 9317975a7abe8f863076576230a7aefe41c83180
https://github.com/llvm/llvm-project/commit/9317975a7abe8f863076576230a7aefe41c83180
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs-max-bandwidth.ll
Log Message:
-----------
[VPlan] Match legacy behavior w.r.t. using pointer phis as scalar addrs.
When the legacy cost model scalarizes loads that are used as addresses
for other loads and stores, it looks to phi nodes, if they are direct
address operands of loads/stores. Match this behavior in
isUsedByLoadStoreAddress, to fix a divergence between legacy and
VPlan-based cost model.
Commit: a4dde449a043f3aeba3d14cd32b9b8da1ece8c3e
https://github.com/llvm/llvm-project/commit/a4dde449a043f3aeba3d14cd32b9b8da1ece8c3e
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU] Remove unused True16 patterns. (#163784)
No tests seem to need them here or downstream.
Commit: 5b5eacc5790365b90878a79893325bfae00ed693
https://github.com/llvm/llvm-project/commit/5b5eacc5790365b90878a79893325bfae00ed693
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/test/CodeGen/arm-mve-intrinsics/dup.c
M clang/test/Headers/wasm.c
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/freeze-noundef.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Teach isGuaranteedNotToBeUndefOrPoison about splats (#163570)
Splats include two poison values, but only the poison-ness of the
splatted value actually matters.
Commit: 9bfaf12c07e3c745ac91010333a66d7730dbe2f7
https://github.com/llvm/llvm-project/commit/9bfaf12c07e3c745ac91010333a66d7730dbe2f7
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
Log Message:
-----------
[VPlan] Handle more replicates in isUniformAcrossVFsAndUFs (#162342)
A single-scalar replicate without side-effects, and with uniform
operands, is uniform. Special-case assumes and stores.
Commit: 136c40667ebc43ffc13b32cb2227dd69a7d85b81
https://github.com/llvm/llvm-project/commit/136c40667ebc43ffc13b32cb2227dd69a7d85b81
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
[Clang] Give empty template parameter mapping an empty MLTAL (#164051)
There are cases where atomic constraints are independent of template
parameters, yet we still have a template parameter mapping.
We don't bother translating template arguments for them. Note that we
retain an empty parameter mapping rather than none at all, as the former
may improve cache hit rates (We don't profile MLTAL but profile the
empty template argument list instead.)
This is a regression on trunk, so there's no release note.
Commit: 94647eea7fc0fcdf1c953b8ff6bd6ef9981d7890
https://github.com/llvm/llvm-project/commit/94647eea7fc0fcdf1c953b8ff6bd6ef9981d7890
Author: Igor Wodiany <igor.wodiany at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/test/Target/SPIRV/function-decorations.mlir
Log Message:
-----------
[mlir][spirv] Remove destroyed values from ValueIDMap (#164098)
When serializing SPIR-V MLIR containing externally linked function with
debug enabled, the serialization crashes as `printValueIDMap` tries to
print a key value that has been already destroyed. This happen as for
externally linked function the body of the function is erased, that
causes arguments to be destroyed as well, but the valueIDMap was never
updated.
Commit: 9fe1f29541109ac10e1399deb85da0507135f836
https://github.com/llvm/llvm-project/commit/9fe1f29541109ac10e1399deb85da0507135f836
Author: Luke Lau <luke at igalia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/test/Transforms/LoopVectorize/cse-casts.ll
Log Message:
-----------
[VPlan] Set flags when constructing zexts using VPWidenCastRecipe (#164198)
createWidenCast doesn't set the flag type, so when we simplify trunc
(zext nneg x) -> zext x we would hit an assertion in CSE that the flag
types don't match with other VPWidenCastRecipes that weren't simplified.
This fixes it the same way trunc flags are handled too.
As an aside I think it should be correct to preserve the nneg flag in
this case since the input operand is still non-negative after the
transform. But that's left to another PR.
Fixes https://github.com/llvm/llvm-project/issues/164171
Commit: b4dbb1cdc46bfe41244f4313582ce3270f5fe845
https://github.com/llvm/llvm-project/commit/b4dbb1cdc46bfe41244f4313582ce3270f5fe845
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/cse-replicate-regions.ll
Log Message:
-----------
[VPlan] Be more careful with CSE in replicate regions. (#162110)
Recipes in replicate regions implicitly depend on the region's
predicate. Limit CSE to recipes in the same block, when either recipe is
in a replicate region.
This allows handling VPPredInstPHIRecipe during CSE. If we perform CSE
on recipes inside a replicate region, we may end up with 2
VPPredInstPHIRecipes sharing the same operand. This is incompatible with
current VPPredInstPHIRecipe codegen, which re-sets the current value of
its operand in VPTransformState. This can cause crashes in the added
test cases.
Note that this patch only modifies ::isEqual to check for replicating
regions and not getHash, as CSE across replicating regions should be
uncommon.
Fixes https://github.com/llvm/llvm-project/issues/157314.
Fixes https://github.com/llvm/llvm-project/issues/161974.
PR: https://github.com/llvm/llvm-project/pull/162110
Commit: 6d663cd365df4e9373e60484c9b67965d01ab4a1
https://github.com/llvm/llvm-project/commit/6d663cd365df4e9373e60484c9b67965d01ab4a1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
R libcxx/include/__tuple/tuple_like_ext.h
M libcxx/include/module.modulemap.in
M libcxx/include/tuple
Log Message:
-----------
[libc++] Simplify tuple_cat further (#163741)
Commit: 7b0c51a43917fdd4dae2f9415b6c041ca4d1c3f1
https://github.com/llvm/llvm-project/commit/7b0c51a43917fdd4dae2f9415b6c041ca4d1c3f1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/Program.cpp
M clang/test/AST/ByteCode/extern.cpp
Log Message:
-----------
[clang][bytecode] Fix a crash when redeclaring extern globals (#164204)
One iteration of this loop might've already fixed up the pointers of
coming globals, so check for that explicitly.
Fixes https://github.com/llvm/llvm-project/issues/164151
Commit: 33a97c92f12f764f61f7dd75188c6a2e1af3c956
https://github.com/llvm/llvm-project/commit/33a97c92f12f764f61f7dd75188c6a2e1af3c956
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 6d663cd365df
Commit: ed9c75aaac9d30fd928ec0b01b447fc1f8890098
https://github.com/llvm/llvm-project/commit/ed9c75aaac9d30fd928ec0b01b447fc1f8890098
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/AST/ASTConcept.cpp
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Clang][NFC] Concepts normalization cleanups (#164229)
- typos
- use insert instead of back inserter to make allocations more efficient
- make sure the constraint cache uses canonicalized keys to avoid
redundant work
Commit: 3027b4a55bf77b1ea10da718bd08a070555ead9a
https://github.com/llvm/llvm-project/commit/3027b4a55bf77b1ea10da718bd08a070555ead9a
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
Log Message:
-----------
[AMDGPU] Fix iterator invalidation during frame lowering (#163952)
I was a bit too eager to remove the SI_WHOLE_WAVE_FUNC_SETUP instruction
during prolog emission. Erasing it invalidates MBBI, which in some cases
is still needed outside of `emitCSRSpillStores`.
Do the erasing at the end of prolog insertion instead.
Commit: 46e88169284aadb06fafcbe18ff440ff0fdebfa3
https://github.com/llvm/llvm-project/commit/46e88169284aadb06fafcbe18ff440ff0fdebfa3
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/__algorithm/generate.h
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/generate.pass.cpp
Log Message:
-----------
[libcxx] Optimize std::generate for segmented iterators (#163006)
Part of #102817.
This patch attempts to optimize the performance of `std::generate` for
segmented iterators. Below are the benchmark numbers from
`libcxx\test\benchmarks\algorithms\modifying\generate.bench.cpp`. Test
cases that use segmented iterators have also been added.
- before
```
std::generate(deque<int>)/32 194 ns 193 ns 3733333
std::generate(deque<int>)/50 276 ns 276 ns 2488889
std::generate(deque<int>)/1024 5096 ns 5022 ns 112000
std::generate(deque<int>)/8192 40806 ns 40806 ns 17231
```
- after
```
std::generate(deque<int>)/32 106 ns 105 ns 6400000
std::generate(deque<int>)/50 139 ns 138 ns 4977778
std::generate(deque<int>)/1024 2713 ns 2699 ns 248889
std::generate(deque<int>)/8192 18983 ns 19252 ns 37333
```
---------
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: b2ad90b8dcafdf3baea10457c4cac73bb34d06ef
https://github.com/llvm/llvm-project/commit/b2ad90b8dcafdf3baea10457c4cac73bb34d06ef
Author: Matej Košík <m4tej.kosik at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/source/Utility/RegisterValue.cpp
M lldb/unittests/Utility/RegisterValueTest.cpp
Log Message:
-----------
[lldb] Fix the "RegisterValue::SetValueFromData" method for 128-bit integer registers (#163646)
Fix the `RegisterValue::SetValueFromData` method so that it works also
for 128-bit registers that contain integers.
Without this change, the `RegisterValue::SetValueFromData` method does
not work correctly
for 128-bit registers that contain (signed or unsigned) integers.
---
Steps to reproduce the problem:
(1)
Create a program that writes a 128-bit number to a 128-bit registers
`xmm0`. E.g.:
```
#include <stdint.h>
int main() {
__asm__ volatile (
"pinsrq $0, %[lo], %%xmm0\n\t" // insert low 64 bits
"pinsrq $1, %[hi], %%xmm0" // insert high 64 bits
:
: [lo]"r"(0x7766554433221100),
[hi]"r"(0xffeeddccbbaa9988)
);
return 0;
}
```
(2)
Compile this program with LLVM compiler:
```
$ $YOUR/clang -g -o main main.c
```
(3)
Modify LLDB so that when it will be reading value from the `xmm0`
register, instead of assuming that it is vector register, it will treat
it as if it contain an integer. This can be achieved e.g. this way:
```
diff --git a/lldb/source/Utility/RegisterValue.cpp b/lldb/source/Utility/RegisterValue.cpp
index 0e99451c3b70..a4b51db3e56d 100644
--- a/lldb/source/Utility/RegisterValue.cpp
+++ b/lldb/source/Utility/RegisterValue.cpp
@@ -188,6 +188,7 @@ Status RegisterValue::SetValueFromData(const RegisterInfo ®_info,
break;
case eEncodingUint:
case eEncodingSint:
+ case eEncodingVector:
if (reg_info.byte_size == 1)
SetUInt8(src.GetMaxU32(&src_offset, src_len));
else if (reg_info.byte_size <= 2)
@@ -217,23 +218,6 @@ Status RegisterValue::SetValueFromData(const RegisterInfo ®_info,
else if (reg_info.byte_size == sizeof(long double))
SetLongDouble(src.GetLongDouble(&src_offset));
break;
- case eEncodingVector: {
- m_type = eTypeBytes;
- assert(reg_info.byte_size <= kMaxRegisterByteSize);
- buffer.bytes.resize(reg_info.byte_size);
- buffer.byte_order = src.GetByteOrder();
- if (src.CopyByteOrderedData(
- src_offset, // offset within "src" to start extracting data
- src_len, // src length
- buffer.bytes.data(), // dst buffer
- buffer.bytes.size(), // dst length
- buffer.byte_order) == 0) // dst byte order
- {
- error = Status::FromErrorStringWithFormat(
- "failed to copy data for register write of %s", reg_info.name);
- return error;
- }
- }
}
if (m_type == eTypeInvalid)
```
(4)
Rebuild the LLDB.
(5)
Observe what happens how LLDB will print the content of this register
after it was initialized with 128-bit value.
```
$YOUR/lldb --source ./main
(lldb) target create main
Current executable set to '.../main' (x86_64).
(lldb) breakpoint set --file main.c --line 11
Breakpoint 1: where = main`main + 45 at main.c:11:3, address = 0x000000000000164d
(lldb) settings set stop-line-count-before 20
(lldb) process launch
Process 2568735 launched: '.../main' (x86_64)
Process 2568735 stopped
* thread #1, name = 'main', stop reason = breakpoint 1.1
frame #0: 0x000055555555564d main`main at main.c:11:3
1 #include <stdint.h>
2
3 int main() {
4 __asm__ volatile (
5 "pinsrq $0, %[lo], %%xmm0\n\t" // insert low 64 bits
6 "pinsrq $1, %[hi], %%xmm0" // insert high 64 bits
7 :
8 : [lo]"r"(0x7766554433221100),
9 [hi]"r"(0xffeeddccbbaa9988)
10 );
-> 11 return 0;
12 }
(lldb) register read --format hex xmm0
xmm0 = 0x7766554433221100ffeeddccbbaa9988
```
You can see that the upper and lower 64-bit wide halves are swapped.
---------
Co-authored-by: Matej Košík <matej.kosik at codasip.com>
Commit: 324bd1588123f7b168e8a9842a96a6f799e4a0db
https://github.com/llvm/llvm-project/commit/324bd1588123f7b168e8a9842a96a6f799e4a0db
Author: David Green <david.green at arm.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/rax1.ll
Log Message:
-----------
[AArch64][GlobalISel] Add rax1.ll test converage. NFC
Commit: 5ac616f3327e0d5a7871b92c91b17fd021b35d0d
https://github.com/llvm/llvm-project/commit/5ac616f3327e0d5a7871b92c91b17fd021b35d0d
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-copy-phys-zero-reg.mir
Log Message:
-----------
[AArch64] Improve lowering of GPR zeroing in copyPhysReg (#163059)
This patch pivots GPR32 and GPR64 zeroing into distinct branches to
simplify the code an improve the lowering.
Zeroing GPR moves are now handled differently than non-zeroing ones.
Zero source registers WZR and XZR do not require register annotations of
undef, implicit and kill. The non-zeroing source now cannot process WZR
removing the ternary expression. This patch also moves GPR64 logic right
after GPR32 for better organization.
Commit: 565e9fa1956802f9c4aefe2dea9a1061f52667b0
https://github.com/llvm/llvm-project/commit/565e9fa1956802f9c4aefe2dea9a1061f52667b0
Author: Matthias Springer <me at m-sp.org>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M mlir/docs/DialectConversion.md
Log Message:
-----------
[mlir][docs] Add documentation for No-rollback Conversion Driver (#164071)
Add documentation for the no-rollback conversion driver. Also improve
the documentation of the old rollback driver. In particular: which
modifications are performed immediately and which are delayed.
Commit: ee50839700af4800a2d72702a5583b72e1ffb81e
https://github.com/llvm/llvm-project/commit/ee50839700af4800a2d72702a5583b72e1ffb81e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstCombine/ptrtoaddr.ll
Log Message:
-----------
[InstSimplify] Support ptrtoaddr in simplifyCastInst()
Handle ptrtoaddr the same way as ptrtoint. The fold already only
operates on the index/address bits.
Commit: 154138c25f358ed812eafc2880225c3d88221e8a
https://github.com/llvm/llvm-project/commit/154138c25f358ed812eafc2880225c3d88221e8a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/div-like-mixed-with-undefs.ll
Log Message:
-----------
[SLP]Do not pack div-like copyable values
If a main instruction in the copyables is a div-like instruction, the
compiler cannot pack duplicates, extending with poisons, these
instructions, being vectorize, will result in undefined behavior.
Fixes #164185
Commit: 74d77dc2ec2f93c151bd98687799ed90e9bea849
https://github.com/llvm/llvm-project/commit/74d77dc2ec2f93c151bd98687799ed90e9bea849
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CodeGenTypeCache.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
Log Message:
-----------
[Clang][NFC] Rename UnqualPtrTy to DefaultPtrTy (#163207)
`UnqualPtrTy` didn't always match `llvm::PointerType::getUnqual`:
sometimes it returned a pointer that is not in address space 0 (notably
for SPIRV).
Since `UnqualPtrTy` was used as the "generic" or "default" pointer type,
this patch renames it to `DefaultPtrTy` to avoid confusion with LLVM's
`PointerType::getUnqual`.
Commit: 2e7afb11706e474af6801e63daa8085479cdd08d
https://github.com/llvm/llvm-project/commit/2e7afb11706e474af6801e63daa8085479cdd08d
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
R llvm/test/Transforms/InstCombine/ptrtoaddr.ll
A llvm/test/Transforms/InstSimplify/ptrtoaddr.ll
Log Message:
-----------
[InstCombine] Move ptrtoaddr tests to InstSimplify (NFC)
All the existing tests test code either in ConstantFolding or
InstSimplify, so move them to use -passes=instsimplify instead of
-passes=instcombine. This makes sure we keep InstSimplify coverage
even if there are subsuming InstCombine folds.
This requires writing some of the constant folding tests in a
different way, as InstSimplify does not try to re-fold already
existing constant expressions.
Commit: 32de3b9ef9e7e8debc14416e968456ca13b48bea
https://github.com/llvm/llvm-project/commit/32de3b9ef9e7e8debc14416e968456ca13b48bea
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/test/lit.cfg.py
Log Message:
-----------
Revert "Reapply "[Clang] Enable lit internal shell by default""
This reverts commit 1943c9e9b9de4b920fb4ed9352f5721407fc01c7.
This took out quite a few buildbots. Some of the Z3 test cases are failing
and enabling this is causing some LLVM tests to begin failing.
Commit: 3590a912daba875e0f2019039b8372501f13453c
https://github.com/llvm/llvm-project/commit/3590a912daba875e0f2019039b8372501f13453c
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang/include/flang/Lower/OpenMP/Clauses.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Parser/OpenMP/requires.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP] Frontend support for DEVICE_SAFESYNC (#163560)
Add parsing and semantic checks for DEVICE_SAFESYNC clause. No lowering.
Commit: 907335c00c283e72373d4dd1b86bd057357c7f01
https://github.com/llvm/llvm-project/commit/907335c00c283e72373d4dd1b86bd057357c7f01
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRAttributes.cpp
Log Message:
-----------
[mlir:python] Prevent crash in DenseElementsAttr. (#163564)
This PR fixes a crash in the `bf_getbuffer` implementation of
`PyDenseElementsAttribute` that occurred when an element type was not
supported, such as `bf16`. I believe that supportion `bf16` is not
possible with that protocol but that's out of the scope of this PR.
Previsouly, the code raised an `std::exception` out of `bf_getbuffer`
that nanobind does not catch (see also pybind/pybind11#3336). The PR
makes the function catch all `std::exception`s and manually raises a
Python exception instead.
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: 0731f18ba9caee809bca43a67d0a4893a147011e
https://github.com/llvm/llvm-project/commit/0731f18ba9caee809bca43a67d0a4893a147011e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
M llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll
Log Message:
-----------
[SCEV] Add extra test coverage with URem & AddRec guards.
Add test with urem guard with non-constant divisor and AddRec guards.
Extra test coverage for https://github.com/llvm/llvm-project/pull/163021
Commit: 941d2fdb947f6613607ca03b1b15218fbaccd9a4
https://github.com/llvm/llvm-project/commit/941d2fdb947f6613607ca03b1b15218fbaccd9a4
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[acc][mlir] Add 'if-condition' to 'atomic' operations. (#164003)
OpenACC 3.4 includes the ability to add an 'if' to an atomic operation.
>From the change log:
`Added the if clause to the atomic construct to enable conditional
atomic operations based867
on the parallelism strategy employed`
In 2.12, the C/C++ grammar is changed to say:
`#pragma acc atomic [ atomic-clause ] [ if( condition ) ] new-line`
With corresponding changes to the Fortran standard
This patch adds support to this for the dialect, so that Clang can use
it soon.
Commit: c0d731e7594a89cc49b00155ca4917c2d90db241
https://github.com/llvm/llvm-project/commit/c0d731e7594a89cc49b00155ca4917c2d90db241
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-unstructured.f90
Log Message:
-----------
[flang][OpenACC] add TODO for unstructured loops in acc loop directives (#163972)
The lowering of `!$acc loop` loops with an early exit currently ends-up
"duplicating" the control flow in the acc.loop and inside it as explicit
control flow (as if each iteration executes each iteration until the
early exit).
Add a TODO for now.
Commit: c7da79e0a10bd79c4e3b8ac494b6d5710fe70c07
https://github.com/llvm/llvm-project/commit/c7da79e0a10bd79c4e3b8ac494b6d5710fe70c07
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/unittests/DAP/TestBase.cpp
Log Message:
-----------
[lldb] Remove a redundant call to std::unique_ptr<T>::get (NFC) (#164191)
Commit: 385ea0dbc132300ee6c716f77ad1de42918687d3
https://github.com/llvm/llvm-project/commit/385ea0dbc132300ee6c716f77ad1de42918687d3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Move and clarify names of prev/next divisor helpers (NFC).
Move getPreviousSCEVDivisibleByDivisor from a lambda to a static
function and clarify the name (DividesBy -> DivisibleBy).
Split off refactoring from https://github.com/llvm/llvm-project/pull/163021.
Commit: 7d356e901b85b9cc0998690ec01f8f3c005329d8
https://github.com/llvm/llvm-project/commit/7d356e901b85b9cc0998690ec01f8f3c005329d8
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-early-ifcvt.ll
M llvm/test/CodeGen/AArch64/peephole-csel.ll
Log Message:
-----------
[AArch64] Convert `CSEL(X, 1)` into `CSINC(X, XZR)` in early-ifcvt (#162993)
Early if conversion can create instruction sequences such as
```
mov x1, #1
csel x0, x1, x2, eq
```
which could be simplified into the following instead
```
csinc x0, x2, xzr, ne
```
One notable example that generates code like this is `cmpxchg weak`.
This is fixed by handling an immediate value of 1 as `add(wzr, 1)` so
that the addition can be folded into CSEL by using CSINC instead.
Commit: fbc2d06c54d03c97053c79b81ad92aeed252a576
https://github.com/llvm/llvm-project/commit/fbc2d06c54d03c97053c79b81ad92aeed252a576
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
Log Message:
-----------
[NFC][SPIRV] Remove useless static_cast (#164239)
Commit: b9f9b3b7eb3cc5e93fabcf68068bce5cedc21639
https://github.com/llvm/llvm-project/commit/b9f9b3b7eb3cc5e93fabcf68068bce5cedc21639
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
Log Message:
-----------
[SPIRV][NFC] Use DenseMap's lookup instead of find (#164237)
[lookup](https://llvm.org/doxygen/classllvm_1_1DenseMapBase.html#a0b2ca98dc28c61793ff5c90d23e5f14e)
does a find and returns the default if no matching element was found.
Commit: c8cf3937e7cb017be6e07512ccd63c126c639d61
https://github.com/llvm/llvm-project/commit/c8cf3937e7cb017be6e07512ccd63c126c639d61
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Analysis/MLInlineAdvisor.cpp
A llvm/test/Transforms/Inline/ML/recursive.ll
Log Message:
-----------
[mlgo][inliner] Handle recursive cases when skipping non-cold functions (#164099)
The `MLInlineAdvisor` currently skips over recursive cases, except that when we delegate to the default policy for non-cold functions, that policy could allow such inlining. The code updating internal state afterwards needs to handle that case.
Fix for https://issues.chromium.org/issues/369637577#comment14
Commit: 6dda3b1848435a62bdb84edb6474e69369ce6e8c
https://github.com/llvm/llvm-project/commit/6dda3b1848435a62bdb84edb6474e69369ce6e8c
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang/lib/Semantics/check-omp-loop.cpp
M flang/test/Semantics/OpenMP/combined-constructs.f90
M flang/test/Semantics/OpenMP/do05.f90
M flang/test/Semantics/OpenMP/linear-iter.f90
M flang/test/Semantics/OpenMP/nested-distribute.f90
Log Message:
-----------
[flang][OpenMP]: Allow orphaned distribute construct (#163546)
If there is a call inside a TEAMS construct, and that call contains a
DISTRIBUTE construct, the DISTRIBUTE region is considered to be enclosed
by the TEAMS region (based on the dynamic extent of the construct).
Currently, Flang diagnoses this as an error, which is incorrect.
For eg :
```
subroutine f
!$omp distribute
do i = 1, 100
...
end do
end subroutine
subroutine g
!$omp teams
call f ! this call is ok, distribute enclosed by teams
!$omp end teams
end subroutine
```
This patch adjusts the nesting check for the OpenMP DISTRIBUTE
directive. It retains the error for DISTRIBUTE directives that are
incorrectly nested lexically but downgrades it to a warning for orphaned
directives to allow dynamic nesting, such as when a subroutine with
DISTRIBUTE is called from within a TEAMS region.
Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>
Commit: 2ec549ad119a9c9979fbaa1af2acf3726028bdea
https://github.com/llvm/llvm-project/commit/2ec549ad119a9c9979fbaa1af2acf3726028bdea
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
A llvm/test/Transforms/GVNSink/ptrtoaddr.ll
Log Message:
-----------
[GVNSink] Add support for ptrtoaddr
Commit: 4a5dbd5633d80fafc7750c8d42462e7922cc0a46
https://github.com/llvm/llvm-project/commit/4a5dbd5633d80fafc7750c8d42462e7922cc0a46
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
Log Message:
-----------
[lldb-dap][NFC] avoid copy in launch process (#164243)
Commit: 5a983921c29f6da73e1d841665a9be6720eca66f
https://github.com/llvm/llvm-project/commit/5a983921c29f6da73e1d841665a9be6720eca66f
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M mlir/lib/Dialect/Quant/IR/TypeParser.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for misc-use-internal-linkage in TypeParser.cpp (NFC)
Commit: cceca04ae380bc0d3d8bde83d3753640709fa7e5
https://github.com/llvm/llvm-project/commit/cceca04ae380bc0d3d8bde83d3753640709fa7e5
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/test/Transforms/SpeculativeExecution/spec-casts.ll
Log Message:
-----------
[SpeculativeExecution] Generate test checks (NFC)
Also replace the undef values with function arguments.
Commit: 80b311a9443f46826ed3a9a0003b83771bd53124
https://github.com/llvm/llvm-project/commit/80b311a9443f46826ed3a9a0003b83771bd53124
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/test/Transforms/SpeculativeExecution/spec-casts.ll
Log Message:
-----------
[SpeculativeExecution] Add support for ptrtoaddr
Commit: c332952ed06a9e74dfd1a416fba3ba536c55661c
https://github.com/llvm/llvm-project/commit/c332952ed06a9e74dfd1a416fba3ba536c55661c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/test/AST/ByteCode/c.c
Log Message:
-----------
[clang][bytecode] Check param types against function prototype (#163920)
If the type of the ParmVarDecl and the parameter type from the
FunctionProtoType don't match, we're in for trouble. Just reject those
functions.
Fixes #163568
Commit: 2ecf1221560cfd320626cc8c78cec08cd353c722
https://github.com/llvm/llvm-project/commit/2ecf1221560cfd320626cc8c78cec08cd353c722
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
A mlir/include/mlir/Dialect/OpenACC/OpenACCUtils.h
M mlir/lib/Dialect/OpenACC/CMakeLists.txt
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
A mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp
M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
A mlir/unittests/Dialect/OpenACC/OpenACCUtilsTest.cpp
Log Message:
-----------
[mlir][acc] Add utilities for acc dialect (#164022)
Created new OpenACC utilities library (MLIROpenACCUtils) containing
helper functions for region analysis, value usage checking, default
attribute lookup, and type categorization. Includes comprehensive unit
tests and refactors existing getEnclosingComputeOp function into the new
library.
Commit: 77ade8905fe2102255ebb84de905f376043b68c5
https://github.com/llvm/llvm-project/commit/77ade8905fe2102255ebb84de905f376043b68c5
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
Log Message:
-----------
[NFC] Use F->isDeclaration instead of (*F).isDeclaration (#164238)
Commit: 38372df53fd7f6c8bd8c46bf720b676e12f481d9
https://github.com/llvm/llvm-project/commit/38372df53fd7f6c8bd8c46bf720b676e12f481d9
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
Log Message:
-----------
[clang][analyzer] Add SyntaxRunningTime per-entry-point metric (#163341)
Per-entry-point metrics are captured during the path-sensitive analysis
time. For that reason, it is not trivial to add the syntax-only analysis
time as it runs in a separate stage. Luckily syntax-only analysis is
done before path-senstivie analysis.
I use the function summary field to keep the syntax-only anlaysis time
once syntax analysis is done, and then forward it to the per-EP metrics
snapshot during the path-sensitive analysis.
Note that some of the entry points that were analyzed by syntax-only
rules may be missing in the CSV export if they were never analyzed by
path-sensitive rules. Conversely, if a function is analyzed with
path-sensitive analysis but not syntax-only analysis, its
`SyntaxRunningTime` will be empty.
--
CPP-7099
Commit: 66b7d38faf81c43a061a1f591a38645f312cb21e
https://github.com/llvm/llvm-project/commit/66b7d38faf81c43a061a1f591a38645f312cb21e
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[NFC][SPIRV] Use hasLocalLinkage instead of hasInternalLinkage or hasPrivateLinkage (#164236)
Commit: 4e882805dc8ec7fd80bb1b9e1e533b858decc8fc
https://github.com/llvm/llvm-project/commit/4e882805dc8ec7fd80bb1b9e1e533b858decc8fc
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
Log Message:
-----------
[NFC][SPIRV] Use hasLocalLinage instead of manual comparison against InteralLinkage/PrivateLinkage (#164240)
Same as https://github.com/llvm/llvm-project/pull/164236, but I found this one later.
Commit: d86da4efee20cc11cd8f3a46f2483379cea6eca5
https://github.com/llvm/llvm-project/commit/d86da4efee20cc11cd8f3a46f2483379cea6eca5
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/unittests/Driver/MultilibBuilderTest.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M lld/ELF/ScriptParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/unittests/ADT/StringSwitchTest.cpp
Log Message:
-----------
[ADT] Prepare for deprecation of StringSwitch cases with 4+ args. NFC. (#164173)
Update `.Cases` and `.CasesLower` with 4+ args to use the
`initializer_list` overload. The deprecation of these functions will
come in a separate PR.
For more context, see: https://github.com/llvm/llvm-project/pull/163405.
Commit: 2d550b98cac5faff715ed2f3f6078eb1e27288f5
https://github.com/llvm/llvm-project/commit/2d550b98cac5faff715ed2f3f6078eb1e27288f5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/test/Analysis/z3-crosscheck-max-attempts.cpp
M clang/test/Analysis/z3/D83660.c
Log Message:
-----------
[Clang] Make Z3 Tests Work with Internal Shell
These tests were setting environment variables, which needs to be done
explicitly with env when using the internal shell.
Commit: 8c826066e91a53a71322c178e8dec7d5ebf9db2e
https://github.com/llvm/llvm-project/commit/8c826066e91a53a71322c178e8dec7d5ebf9db2e
Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/test/Preprocessor/predefined-arch-macros.c
M llvm/lib/Target/X86/X86.td
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
[X86] Remove USER_MSR from DMR (#164232)
Per Intel Architecture Instruction Set Extensions Programming Reference
rev. 59 (https://cdrdv2.intel.com/v1/dl/getContent/671368), table 1-2,
DMR doesn't support USER_MSR (URDMSR and UWRMSR instructions)
Commit: 5a112dedff3be9485940dfe5b14b574b08a0d9a1
https://github.com/llvm/llvm-project/commit/5a112dedff3be9485940dfe5b14b574b08a0d9a1
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M mlir/include/mlir-c/Target/LLVMIR.h
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/CAPI/Target/LLVMIR.cpp
M mlir/python/CMakeLists.txt
M mlir/test/python/dialects/llvm.py
Log Message:
-----------
[MLIR][Python] expose translate_module_to_llvmir (#163881)
This PR exposes `translate_module_to_llvmir` in the Python bindings.
Commit: 3d94f837f7270d50fcb7aed64fe31dc39bd77fb0
https://github.com/llvm/llvm-project/commit/3d94f837f7270d50fcb7aed64fe31dc39bd77fb0
Author: Julian Nagele <j.nagele at apple.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
Log Message:
-----------
[X86] Update test to not iterate past array boundaries. (#163991)
This test has loop iterating past (`61`) the array boundaries (`58`). So
far this didn't seem to matter, but recently with this change
https://github.com/llvm/llvm-project/pull/155253 the constraint
elimination in swift has been able to figure this out and is
transforming the loop into an infinite one like this
```
*** IR Dump After ConstraintEliminationPass on test_known_trip_count ***
define void @test_known_trip_count() local_unnamed_addr {
entry:
br label %for.body
for.body: ; preds = %entry, %for.body
%indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
%arrayidx = getelementptr inbounds nuw double, ptr @b, i64 %indvars.iv
%0 = load double, ptr %arrayidx, align 8
%arrayidx2 = getelementptr inbounds nuw double, ptr @c, i64 %indvars.iv
%1 = load double, ptr %arrayidx2, align 8
%add = fadd double %0, %1
%arrayidx4 = getelementptr inbounds nuw double, ptr @a, i64 %indvars.iv
store double %add, ptr %arrayidx4, align 8
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
br i1 false, label %exit, label %for.body
exit: ; preds = %for.body
ret void
}%
```
causing the test to fail. This is trying to address the root cause here.
Commit: 6b83e6896c7fba52730da52d0f370b4f3b52af0d
https://github.com/llvm/llvm-project/commit/6b83e6896c7fba52730da52d0f370b4f3b52af0d
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
Log Message:
-----------
[gsymutil] Fix how invalid LLVM_stmt_seq is set and used (#164015)
Previously, invalid offset is set to UINT64_MAX, this is not right when
DWARF32, which leads to incorrect debug into in GSYM, the branch:
```
if (StmtSeqVal != UNIT64_MAX)
StmtSeqOffset = StmtSeqVal;
```
will always be true.
In this PR, [commit
1](https://github.com/llvm/llvm-project/pull/164015/commits/b1983d671e0fd3b1f23627d7fc124550f183ebcc)
sets up a test that demonstrates the problem, [commit
2](https://github.com/llvm/llvm-project/pull/164015/commits/0d58ce4695c7909252a7d343f242b895ea128b52)
fixes it.
[Diffing commit 1 and
2](https://github.com/llvm/llvm-project/pull/164015/commits/0d58ce4695c7909252a7d343f242b895ea128b52#diff-019bdbc9922ad34fdfbcb524a9805f5af26c432540e76b87a6a5f73d9e0e853aL44)
in this PR shows how after the PR the symbolicated line number changed
from function definition to function body
Commit: af4fbcaed7acb58119f67c0055e80accdd2b70dc
https://github.com/llvm/llvm-project/commit/af4fbcaed7acb58119f67c0055e80accdd2b70dc
Author: ddubov100 <155631080+ddubov100 at users.noreply.github.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/test/Dialect/SCF/for-loop-peeling-front.mlir
M mlir/test/Dialect/SCF/for-loop-peeling.mlir
Log Message:
-----------
[mlir][SCF] Fix UB adjustment during `scf.for` loop peeling
Currently when peeling the first iteration, any mentioning of UB within the loop body is replaced with the new UB in the peeled out first iteration. This introduces a bug in the following scenario: Operations inside of the loop that intentionally use the original UB are incorrectly updated.
Commit: 7152d4e2541696ccbd6074c6961720cbc5fd580b
https://github.com/llvm/llvm-project/commit/7152d4e2541696ccbd6074c6961720cbc5fd580b
Author: Brad Smith <brad at comstyle.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/include/clang/Driver/Distro.h
M clang/lib/Driver/Distro.cpp
Log Message:
-----------
[clang] Updates for support for Ubuntu, Debian and RHEL (#162796)
Remove support for long unsupported Ubuntu, Debian and RHEL.
Add support for RHEL 8, 9 and 10 and recognize Rocky and AlmaLinux
as RHEL.
Commit: e25e43a9d9cffb36986dd5cfa0cf9b22638963d9
https://github.com/llvm/llvm-project/commit/e25e43a9d9cffb36986dd5cfa0cf9b22638963d9
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAArch64.td
Log Message:
-----------
[AArch64] Remove trailing whitespace in IntrinsicsAArch64.td (NFC) (#164267)
Commit: a5bab28de7b44df77fe45709f89a96a2b68dd0a8
https://github.com/llvm/llvm-project/commit/a5bab28de7b44df77fe45709f89a96a2b68dd0a8
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
Log Message:
-----------
[NFC][SPIRV] Move common SPIRV::LinkageType deduction code to a helper in SPIRVUtils (#164248)
There was some repeated code that was used to deduce the
SPIRV::LinkageType from a GlobalVariable/Function.
At several related parts of the code we also had functions taking 2
parameters:
a 'hasLinkage' bool, and a 'LinkageType'. This is error-prone since the
later parameter's meaning depends on the first. This patch also merges
these
two options into a single `std::optional<SPIRV::LinkageType>`.
Commit: 58dd7a60939e1dfc7fe4ff956cbef93d6f14e451
https://github.com/llvm/llvm-project/commit/58dd7a60939e1dfc7fe4ff956cbef93d6f14e451
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/docs/CodingStandards.rst
Log Message:
-----------
[LLVM][CodingStandard] Extend namespace qualifier rule to variables/classes (#163588)
Extend CS rule to use namespace qualifiers to define previously declared
functions to variables and classes as well.
Commit: 2bcb42fdbb295551f5fd8060f37daf955eeed451
https://github.com/llvm/llvm-project/commit/2bcb42fdbb295551f5fd8060f37daf955eeed451
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/WindowsDriver/MSVCPaths.cpp
Log Message:
-----------
[NFC][LLVM] Namespace cleanup in MSCVPaths (#163779)
This adopts use of namespace qualifiers to define previously declared
functions as per LLVM CS:
https://llvm.org/docs/CodingStandards.html#use-namespace-qualifiers-to-implement-previously-declared-functions
Commit: 6683f9bf0f9774fb4d8218a6ae973791a634057c
https://github.com/llvm/llvm-project/commit/6683f9bf0f9774fb4d8218a6ae973791a634057c
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/tools/llvm-config/llvm-config.cpp
Log Message:
-----------
[NFC][LLVM] Code cleanup in llvm-config.cpp (#163993)
- Fix function names to conform to LLVM CS and mark local function
static.
- Use range for loops to simplify code.
- use `interleave` instead of manual loops to print lists.
Commit: 39128b9ec401ecf140a7b4c3f19eb0b7e7062c9d
https://github.com/llvm/llvm-project/commit/39128b9ec401ecf140a7b4c3f19eb0b7e7062c9d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/NewPMDriver.h
M llvm/tools/opt/opt.cpp
M llvm/tools/opt/optdriver.cpp
Log Message:
-----------
[NFC][LLVM] Code cleanup in `opt` (#164077)
- Use namespace qualifiers to define variables declared in `llvm`
namespace.
- move file local `TimeTracerRAII` struct into anonymous namespace.
- Use explicit types in a few places.
- Convert the loop over `PassList` to a range for loop.
Commit: 6eb1ddf6eae2b8c2ed5e2c1a426b9e6586e91745
https://github.com/llvm/llvm-project/commit/6eb1ddf6eae2b8c2ed5e2c1a426b9e6586e91745
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/tools/llvm-xray/func-id-helper.h
M llvm/tools/llvm-xray/trie-node.h
M llvm/tools/llvm-xray/xray-account.cpp
M llvm/tools/llvm-xray/xray-account.h
M llvm/tools/llvm-xray/xray-color-helper.h
M llvm/tools/llvm-xray/xray-converter.cpp
M llvm/tools/llvm-xray/xray-converter.h
M llvm/tools/llvm-xray/xray-extract.cpp
M llvm/tools/llvm-xray/xray-graph-diff.cpp
M llvm/tools/llvm-xray/xray-graph-diff.h
M llvm/tools/llvm-xray/xray-graph.cpp
M llvm/tools/llvm-xray/xray-graph.h
M llvm/tools/llvm-xray/xray-registry.cpp
M llvm/tools/llvm-xray/xray-registry.h
M llvm/tools/llvm-xray/xray-stacks.cpp
Log Message:
-----------
[NFC][LLVM] Code cleanup in `llvm-xray` (#164080)
- Use nested namespace definitions in header files.
- Mark file local function static and enclods file local structs in
anonymous namespace.
- Drop some unnecessary namespace qualifiers.
Commit: 61ba312f5d1d217c64391d7addb761f2fbd3f11e
https://github.com/llvm/llvm-project/commit/61ba312f5d1d217c64391d7addb761f2fbd3f11e
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Upstream support ComplexType as return type (#164072)
Upstream support ComplexType as a function return type
Issue #141365
Commit: cd05383a462672c1c6bab9bbef1bbbe1be616aa3
https://github.com/llvm/llvm-project/commit/cd05383a462672c1c6bab9bbef1bbbe1be616aa3
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenValue.h
A clang/test/CIR/CodeGen/agg-expr-lvalue.c
M clang/test/CIR/CodeGen/compound_literal.cpp
Log Message:
-----------
[CIR] Add Aggregate Expression LValue Visitors (#163410)
This patch implements visitors for MemberExpr, UnaryDeref,
StringLiteral and CompoundLiteralExpr inside aggregate
expressions.
Commit: e6a1aff5916447630e9ec0e8a90594ca1ee7a1be
https://github.com/llvm/llvm-project/commit/e6a1aff5916447630e9ec0e8a90594ca1ee7a1be
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M compiler-rt/lib/builtins/gcc_personality_v0.c
M libcxxabi/include/__cxxabi_config.h
M libcxxabi/src/cxa_exception.cpp
M libcxxabi/src/cxa_exception.h
M libcxxabi/src/cxa_personality.cpp
M libunwind/include/__libunwind_config.h
M libunwind/include/libunwind.h
M libunwind/src/AddressSpace.hpp
M libunwind/src/CompactUnwinder.hpp
M libunwind/src/DwarfInstructions.hpp
M libunwind/src/DwarfParser.hpp
M libunwind/src/Registers.hpp
M libunwind/src/UnwindCursor.hpp
M libunwind/src/UnwindLevel1.c
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/UnwindRegistersSave.S
M libunwind/src/libunwind.cpp
Log Message:
-----------
[runtimes][PAC] Harden unwinding when possible (#143230)
This hardens the unwinding logic and datastructures on systems
that support pointer authentication.
The approach taken to hardening is to harden the schemas of as many
high value fields in the myriad structs as possible, and then also
explicitly qualify local variables referencing privileged or security
critical values.
This does introduce ABI linkage between libcxx, libcxxabi, and
libunwind but those are in principle separate from the OS itself
so we've kept the schema definitions in the library specific headers
rather than ptrauth.h
Commit: aac8a0d041c153afbedac0e8e100cb8d937de4d8
https://github.com/llvm/llvm-project/commit/aac8a0d041c153afbedac0e8e100cb8d937de4d8
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Implement VisitCXXDefaultArgExpr for ComplexType (#164079)
Implement CXXDefaultArgExpr support for ComplexType
Issue https://github.com/llvm/llvm-project/issues/141365
Commit: 3afbda091a049e1f9f593546f52da0946ac03931
https://github.com/llvm/llvm-project/commit/3afbda091a049e1f9f593546f52da0946ac03931
Author: Shawn K <kimshawn02 at icloud.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Headers/smmintrin.h
M clang/test/CodeGen/X86/sse41-builtins.c
Log Message:
-----------
[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow SSE41 phminposuw intrinsic to be used in constexp (#163041)
Fix #161336
Commit: 725a2971762a82d4b1213185570f5e3e8701b2bc
https://github.com/llvm/llvm-project/commit/725a2971762a82d4b1213185570f5e3e8701b2bc
Author: Shawn K <kimshawn02 at icloud.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
Log Message:
-----------
[Headers][X86] Allow MMX/SSE/AVX MOVMSK intrinsics to be used in constexpr (#161914)
Fix #154520
Commit: babecd41a84e182584da240d49f3405c25fbac8c
https://github.com/llvm/llvm-project/commit/babecd41a84e182584da240d49f3405c25fbac8c
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
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/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/test/CIR/CodeGen/opaque.cpp
A clang/test/CIR/CodeGen/ternary-throw.cpp
M clang/test/CIR/CodeGen/ternary.cpp
Log Message:
-----------
[CIR] Add support for ternary operator as lvalue (#163580)
Added support for ConditionalOperator, BinaryConditionalOperator and
OpaqueValueExpr as lvalue.
Implemented support for ternary operators with one branch being a throw
expression. This required weakening the requirement that the true and
false regions of the ternary operator must terminate with a `YieldOp`.
Instead the true and false regions are now allowed to terminate with an
`UnreachableOp` and no `YieldOp` gets emitted when the block throws.
Commit: 737e1162a5904d4f0953d7c55c07e829db59da0c
https://github.com/llvm/llvm-project/commit/737e1162a5904d4f0953d7c55c07e829db59da0c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
Log Message:
-----------
[LLVM][Docs] Remove Stray %T Substitution
This were all removed in #160028, but I apparently missed this one
instance in the documentation. Remove it given that it no longer works.
Commit: 7a5446f85bcce58c5185b62b79cc350d2f89fcab
https://github.com/llvm/llvm-project/commit/7a5446f85bcce58c5185b62b79cc350d2f89fcab
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
A .ci/premerge_advisor_explain.py
M .ci/utils.sh
Log Message:
-----------
[CI] Add Initial Wiring for Premerge Advisor Explanations (#164132)
This patch adds a new script, premerge_advisor_explain.py that requests
test failure explanations from the premerge advisor. For now it just
prints them out to STDOUT. This allows for testing of the entire system
by looking at failure explanations in failed jobs before we do the rest
of the wiring to enable the premerge advisor to write out comments.
Commit: e10afe01ec7c79f45f62d9a42b07a7d984bdc345
https://github.com/llvm/llvm-project/commit/e10afe01ec7c79f45f62d9a42b07a7d984bdc345
Author: SeongJaePark <111725324+SeongjaeP at users.noreply.github.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Headers/avx512dqintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512vldqintrin.h
M clang/lib/Headers/avx512vlintrin.h
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512dq-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vldq-builtins.c
Log Message:
-----------
[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow AVX/AVX512 subvector extraction intrinsics to be used in constexpr #157712 (#162836)
**This PR supersedes and replaces PR #158853**
The original branch diverged too far from the main branch, resulting in
significant merge conflicts that were difficult to resolve cleanly. To
provide a clean and reviewable history, this new PR was created by
cherry-picking the necessary commits onto a fresh branch based on the
latest `main`.
---
*(Original Description)*
This patch enables the use of AVX/AVX512 subvector extraction intrinsics
within `constexpr` functions. This is achieved by implementing the
evaluation logic for these intrinsics in
`VectorExprEvaluator::VisitCallExpr` and `InterpretBuiltin`.
The original discussion and review comments can be found in the previous
pull request for context: #158853
Fixes #157712
Commit: d37141776f6b6d0116f4566d4ee56b29ecdc7d0e
https://github.com/llvm/llvm-project/commit/d37141776f6b6d0116f4566d4ee56b29ecdc7d0e
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-lastuse-metadata.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll
A llvm/test/CodeGen/AMDGPU/memory-legalizer-lds-dma-volatile-and-nontemporal.ll
Log Message:
-----------
[AMDGPU] Enable volatile and non-temporal for loads to LDS (#153244)
The primary purpose of this commit is to enable marking loads to LDS
(global.load.lds, buffer.*.load.lds) volatile (using bit 31 of the aux
as with normal buffer loads) and to ensure that their !nontemporal
annotations translate to appropriate settings of te cache control bits.
However, in the process of implementing this feature, we also fixed
- Incorrect handling of buffer loads to LDS in GlobalISel
- Updating the handling of volatile on buffers in SIMemoryLegalizer:
previously, the mapping of address spaces would cause volatile on buffer
loads to be silently dropped on at least gfx10.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: ac0bc20c94738a473522a1c7b7ea37ab180a769a
https://github.com/llvm/llvm-project/commit/ac0bc20c94738a473522a1c7b7ea37ab180a769a
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CIR/CodeGen/CIRGenOpenACCRecipe.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-unsigned-int.c
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
M clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
Log Message:
-----------
[OpenACC][CIR] Reduction combiner lowering for min/max (#163656)
These two are lowered as if they are the expression: LHS = (LHS < RHS )
? RHS : LHS;
and
LHS = (LHS < RHS ) ? LHS : RHS;
This patch generates these expressions and ensures they are properly
emitted into IR.
Note: this is dependent on
https://github.com/llvm/llvm-project/pull/163580
and cannot be merged until that one is (or the tests will fail).
Commit: 5c86520eb3f223de7a383ed696ace59978b98261
https://github.com/llvm/llvm-project/commit/5c86520eb3f223de7a383ed696ace59978b98261
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
Log Message:
-----------
[RISCV] Remove shiftop/shiftopw PatFrags. NFC (#164050)
Replace with PatGprShiftMaskXLen/PatGprShiftMask32 or using the
ShiftMaskXLen/ShiftMask32 ComplexPattern direclty in patterns.
This avoids various casts that were need to make a ComplexPattern work
inside of a PatFrag.
Commit: ad582e383369fc32fffb016be68b1ba7812f2325
https://github.com/llvm/llvm-project/commit/ad582e383369fc32fffb016be68b1ba7812f2325
Author: Michal R <vad.sol at proton.me>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/BPF/BTFDebug.cpp
A llvm/test/CodeGen/BPF/BTF/variant-part.ll
Log Message:
-----------
[BPF] Support for `DW_TAG_variant_part` in BTF generation (#155783)
Variant part, represented by `DW_TAG_variant_part` is a structure with a
discriminant and different variants, from which only one can be active
and valid at the same time. The discriminant is the main difference
between variant parts and unions represented by `DW_TAG_union` type.
Variant parts are used by Rust enums, which look like:
```rust
pub enum MyEnum {
First { a: u32, b: i32 },
Second(u32),
}
```
This type's debug info is the following `DICompositeType` with
`DW_TAG_structure_type` tag:
```llvm
!4 = !DICompositeType(tag: DW_TAG_structure_type, name: "MyEnum",
scope: !2, file: !5, size: 96, align: 32, flags: DIFlagPublic,
elements: !6, templateParams: !16,
identifier: "faba668fd9f71e9b7cf3b9ac5e8b93cb")
```
With one element being also a `DICompositeType`, but with
`DW_TAG_variant_part` tag:
```llvm
!6 = !{!7}
!7 = !DICompositeType(tag: DW_TAG_variant_part, scope: !4, file: !5,
size: 96, align: 32, elements: !8, templateParams: !16,
identifier: "e4aee046fc86d111657622fdcb8c42f7", discriminator: !21)
```
Which has a discriminator:
```llvm
!21 = !DIDerivedType(tag: DW_TAG_member, scope: !4, file: !5,
baseType: !13, size: 32, align: 32, flags: DIFlagArtificial)
```
Which then holds different variants as `DIDerivedType` elements with
`DW_TAG_member` tag:
```llvm
!8 = !{!9, !17}
!9 = !DIDerivedType(tag: DW_TAG_member, name: "First", scope: !7,
file: !5, baseType: !10, size: 96, align: 32, extraData: i32 0)
!10 = !DICompositeType(tag: DW_TAG_structure_type, name: "First",
scope: !4, file: !5, size: 96, align: 32, flags: DIFlagPublic,
elements: !11, templateParams: !16,
identifier: "cc7748c842e275452db4205b190c8ff7")
!11 = !{!12, !14}
!12 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !10,
file: !5, baseType: !13, size: 32, align: 32, offset: 32,
flags: DIFlagPublic)
!13 = !DIBasicType(name: "u32", size: 32, encoding: DW_ATE_unsigned)
!14 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !10,
file: !5, baseType: !15, size: 32, align: 32, offset: 64,
flags: DIFlagPublic)
!15 = !DIBasicType(name: "i32", size: 32, encoding: DW_ATE_signed)
!16 = !{}
!17 = !DIDerivedType(tag: DW_TAG_member, name: "Second", scope: !7,
file: !5, baseType: !18, size: 96, align: 32, extraData: i32 1)
!18 = !DICompositeType(tag: DW_TAG_structure_type, name: "Second",
scope: !4, file: !5, size: 96, align: 32, flags: DIFlagPublic,
elements: !19, templateParams: !16,
identifier: "a2094b1381f3082d504fbd0903aa7c06")
!19 = !{!20}
!20 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !18,
file: !5, baseType: !13, size: 32, align: 32, offset: 32,
flags: DIFlagPublic)
```
BPF backend was assuming that all the elements of any `DICompositeType`
have tag `DW_TAG_member` and are instances of `DIDerivedType`. However,
the single element of the outer composite type `!4` has tag
`DW_TAG_variant_part` and is an instance of `DICompositeType`. The
unconditional call of `cast<DIDerivedType>` on all elements was causing
an assertion failure when any Rust code with enums was compiled to the
BPF target.
Fix that by:
* Handling `DW_TAG_variant_part` in `visitStructType`.
* Replacing unconditional call of `cast<DIDerivedType>` over
`DICompositeType` elements with a `switch` statement, handling both
`DW_TAG_member` and `DW_TAG_variant_part` and casting the element to an
appropriate type (`DIDerivedType` or `DICompositeType`).
Fixes: https://github.com/llvm/llvm-project/issues/155778
Commit: c01a22363034b98a21affde44b1b45ba5d022c71
https://github.com/llvm/llvm-project/commit/c01a22363034b98a21affde44b1b45ba5d022c71
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/include/lldb/API/SBMutex.h
M lldb/source/API/SBMutex.cpp
M lldb/unittests/API/SBMutexTest.cpp
Log Message:
-----------
[lldb] Add try_lock to SBMutex (#164109)
Add `try_lock` to confirm to Lockable, which is necessary to use it with
`std::scoped_lock`.
Commit: c0073a9170aaa4f3504f7cdf20758176bcb14ac1
https://github.com/llvm/llvm-project/commit/c0073a9170aaa4f3504f7cdf20758176bcb14ac1
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M .github/workflows/pr-code-lint.yml
Log Message:
-----------
[GitHub][CI] Run clang-tidy in dedicated container (#164290)
Tested in https://github.com/llvm/llvm-project/pull/160193.
Commit: a39704f496b25816fdafc8136c9eccd08df135a1
https://github.com/llvm/llvm-project/commit/a39704f496b25816fdafc8136c9eccd08df135a1
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[NFC] Add myself to CODEOWNERS for AMD dialects (#164289)
Having taken on a maintainer role for these dialects, make it official
with a CODEOWNERS entry.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 894eaf481542adefde861a7e39f769f21d3f4fa4
https://github.com/llvm/llvm-project/commit/894eaf481542adefde861a7e39f769f21d3f4fa4
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/StringSwitch.h
Log Message:
-----------
[ADT] Deprecate StringSwitch Cases with 4+ args. NFC. (#164276)
Suggest the `initializer_list` overload instead.
4+ args is an arbitrary number that allows for incremental deprecation
without having too update too many call sites.
For more context, see https://github.com/llvm/llvm-project/pull/163117.
Commit: 7e1f79c9935fe86b072119fdbb01ee25a80060e6
https://github.com/llvm/llvm-project/commit/7e1f79c9935fe86b072119fdbb01ee25a80060e6
Author: HighW4y2H3ll <zhenghaohuu at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Add more llvm tools (#163228)
Adding llvm-ir2vec, llvm-ctxprof-util (and llvm-sim) in the Bazel
configs. llvm-ctxprof-util and llvm-ir2vec are used in several LIT unit
tests, and the missing binary is causing unit test failures.
llvm-ctxprof-util:
https://github.com/llvm/llvm-project/blob/15cde999d47c3edc7647faf5fd967f5d5d88416a/llvm/test/Analysis/CtxProfAnalysis/flatten-icp.ll#L2
llvm-ir2vec:
https://github.com/llvm/llvm-project/blob/55d4e92c8821d5543469118a76fe38db866377b7/llvm/utils/mlgo-utils/IR2Vec/generateTriplets.py#L60
llvm-sim:
https://github.com/llvm/llvm-project/blob/894eaf481542adefde861a7e39f769f21d3f4fa4/llvm/test/lit.cfg.py#L268
Commit: 628404105b170a19273d74a5e7d9c6e3470fe58b
https://github.com/llvm/llvm-project/commit/628404105b170a19273d74a5e7d9c6e3470fe58b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/bit.h
M llvm/include/llvm/Support/MathExtras.h
M llvm/unittests/ADT/BitTest.cpp
Log Message:
-----------
[ADT] Add llvm::countr_zero_constexpr (#164188)
This patch implements llvm::countr_zero_constexpr, a constexpr version
of llvm::countr_zero, in terms of llvm::popcount while making
llvm::popcount a constexpr function at the same time.
The new function is intended to serve as a marker. When we switch to
C++20, we will most likely go through functions in llvm/ADT/bit.h and
replace them with their counterparts from <bit>. With
llvm::countr_zero_constexpr, we can easily replace its use with
std::countr_zero.
This patch reimplements ConstantLog2 in terms of the new function.
Commit: ef87da06326e879ba74d0935673a8c18d0e69825
https://github.com/llvm/llvm-project/commit/ef87da06326e879ba74d0935673a8c18d0e69825
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVGLCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/gl-canonicalize.mlir
Log Message:
-----------
[mlir][spirv] Remove invalid canon pattern for GL.Length (#164301)
This rewrite does not preserve numerics: for example, we'd expect the
maximum fp value to yield Inf instead of identity.
`GL.Length` does not allow for fast math flags, so we need to remove
this. Special cases (constants) can be handled via a folder if someone
wants to implement one.
Commit: c683f215e56bd12167eb7bf7e77473b7fad20def
https://github.com/llvm/llvm-project/commit/c683f215e56bd12167eb7bf7e77473b7fad20def
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/Headers/__clang_hip_runtime_wrapper.h
A clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
Log Message:
-----------
[NFC][Clang][AMDGPU] Fix upstream and downstream difference (#164304)
These two files were left during the upstream of the corresponding
feature.
Commit: c375c414cb41a1e4a00f5a4673087c3430e83242
https://github.com/llvm/llvm-project/commit/c375c414cb41a1e4a00f5a4673087c3430e83242
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M mlir/docs/Dialects/GPU.md
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/python/mlir/dialects/gpu/__init__.py
M mlir/test/python/dialects/gpu/dialect.py
Log Message:
-----------
[mlir][python] Add Pythonic wrappers for gpu ops (#163883)
Add builders on the Python side that match builders in the C++ side, add tests for launching GPU kernels and regions, and correct some small documentation mistakes. This reflects the API decisions already made in the func dialect's Python bindings and makes use of the GPU dialect's bindings work more similar to C++ interface.
Commit: c318f82a4ad4c91401daa177b8c8ab546901bb4d
https://github.com/llvm/llvm-project/commit/c318f82a4ad4c91401daa177b8c8ab546901bb4d
Author: Björn Schäpers <bjoern at hazardy.de>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/Format/WhitespaceManager.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Respect ColumnLimit while aligning multiline expressions (#163863)
Before the patch the added test case would indent the function and
moving its second line beyond the column limit.
Fixes #68122.
Commit: d4af5e6b0b4fef49c3277d4a13d279dfcc4e155a
https://github.com/llvm/llvm-project/commit/d4af5e6b0b4fef49c3277d4a13d279dfcc4e155a
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/lit.cfg.py
M clang-tools-extra/include-cleaner/test/Unit/lit.cfg.py
M clang-tools-extra/test/Unit/lit.cfg.py
M clang/test/Unit/lit.cfg.py
M llvm/utils/lit/tests/Inputs/googletest-cmd-wrapper/lit.cfg
M polly/test/Unit/lit.cfg
Log Message:
-----------
[Unittest][Cygwin] Set $PATH when running unittests (#163947)
As the Cygwin platform requires $PATH to be set in order to run
unittests, do the same as for the regular Windows target.
Commit: f37b4459f050514542d755172855dc75ddda33f2
https://github.com/llvm/llvm-project/commit/f37b4459f050514542d755172855dc75ddda33f2
Author: Abhinav Gaba <abhinav.gaba at intel.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
A offload/test/mapping/use_device_addr/target_data_use_device_addr_class_member.cpp
A offload/test/mapping/use_device_addr/target_data_use_device_addr_class_member_ref.cpp
A offload/test/mapping/use_device_addr/target_data_use_device_addr_class_member_ref_with_map.cpp
A offload/test/mapping/use_device_addr/target_data_use_device_addr_class_member_with_map.cpp
A offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member.cpp
A offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_ref.cpp
A offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_ref_with_map.cpp
A offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_with_map.cpp
Log Message:
-----------
[NFC][OpenMP] Add small class-member use_device_ptr/addr unit tests. (#164039)
Two of the tests are currently asserting, and two are emitting
unexpected results.
The asserting tests will be fixed using the ATTACH-style codegen from
#153683.
The other two involve `use_device_addr` on byrefs, and need more
follow-up codegen changes, that have been noted in a FIXME comment.
Commit: 13498bc1d16005774a62b3dd04f1d2e5dd887674
https://github.com/llvm/llvm-project/commit/13498bc1d16005774a62b3dd04f1d2e5dd887674
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/lit.cfg.py
M clang-tools-extra/include-cleaner/test/Unit/lit.cfg.py
Log Message:
-----------
[clang-tools-extra][Unittest] Fix wrong reference to CMake configuration variable (#164147)
`@SHLIBDIR@` is replaced by CMake's configuration function, so it must
be in `lit.site.cfg.py.in` but not `lit.cfg.py`. `lit.cfg.py` must
reference variables in generated `lit.site.cfg.py`.
We didn't notice this problem because it only affects Windows (including
MinGW and Cygwin) that are configured with either
LLVM_LINK_LLVM_DYLIB=ON or BUILD_SHARED=ON.
Commit: be9c083cf7ec7dc9b6e93f29981d7b7e71273241
https://github.com/llvm/llvm-project/commit/be9c083cf7ec7dc9b6e93f29981d7b7e71273241
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/CAS/OnDiskDataAllocator.h
A llvm/include/llvm/CAS/OnDiskGraphDB.h
A llvm/include/llvm/CAS/OnDiskKeyValueDB.h
M llvm/lib/CAS/CMakeLists.txt
M llvm/lib/CAS/OnDiskCommon.cpp
M llvm/lib/CAS/OnDiskCommon.h
M llvm/lib/CAS/OnDiskDataAllocator.cpp
A llvm/lib/CAS/OnDiskGraphDB.cpp
A llvm/lib/CAS/OnDiskKeyValueDB.cpp
M llvm/unittests/CAS/CASTestConfig.cpp
M llvm/unittests/CAS/CASTestConfig.h
M llvm/unittests/CAS/CMakeLists.txt
A llvm/unittests/CAS/OnDiskCommonUtils.h
A llvm/unittests/CAS/OnDiskGraphDBTest.cpp
A llvm/unittests/CAS/OnDiskKeyValueDBTest.cpp
Log Message:
-----------
[CAS] Add OnDiskGraphDB and OnDiskKeyValueDB (#114102)
Add OnDiskGraphDB and OnDiskKeyValueDB that can be used to implement
ObjectStore and ActionCache respectively. Those are on-disk persistent
storage that build upon OnDiskTrieHashMap and implements key functions
that are required by LLVMCAS interfaces.
This abstraction layer defines how the objects are hashed and stored on
disk. OnDiskKeyValueDB is a basic OnDiskTrieHashMap while OnDiskGraphDB
also defines:
* How objects of various size are store on disk and are referenced by
the trie nodes.
* How to store the references from one stored object to another object
that is referenced.
In addition to basic APIs for ObjectStore and ActionCache, other
advances database configuration features can be implemented in this
layer without exposing to the users of the LLVMCAS interface. For
example, OnDiskGraphDB has a faulty in function to fetch data from an
upstream OnDiskGraphDB if the data is missing.
Commit: 5cd9f0f655ac2ab9da4fbd049fbcba6eb0d793b9
https://github.com/llvm/llvm-project/commit/5cd9f0f655ac2ab9da4fbd049fbcba6eb0d793b9
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang/include/flang/Parser/tools.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/tools.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[flang] Move parse tree tool to Parser/tools.h (#163998)
Move the parse tree utility function
semantics::getDesignatorNameIfDataRef to Parser/tools.h and rename it to
comply with the local style.
Commit: c3d905ec4b8c02978feeb6d21a5dadb95d2df098
https://github.com/llvm/llvm-project/commit/c3d905ec4b8c02978feeb6d21a5dadb95d2df098
Author: Levi Zim <rsworktech at outlook.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/config.bzl
Log Message:
-----------
[bazel] Add riscv64 linux platform (#163781)
This fixes a build error when building tensorflow on riscv64 linux.
Commit: 9e9d67dc9c4788d39da3c5612565d6e603015715
https://github.com/llvm/llvm-project/commit/9e9d67dc9c4788d39da3c5612565d6e603015715
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/tools/debugserver/source/RNBRemote.cpp
Log Message:
-----------
[debugserver][NFC] Fix unused variable warning
This variable is only read from.
Commit: 670fb3e7683c1fc83bcfff04bb15488617ff2a34
https://github.com/llvm/llvm-project/commit/670fb3e7683c1fc83bcfff04bb15488617ff2a34
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
A llvm/include/llvm/CodeGen/MIRFSDiscriminatorOptions.h
M llvm/lib/CodeGen/MIRFSDiscriminator.cpp
M llvm/lib/CodeGen/MIRSampleProfile.cpp
Log Message:
-----------
[NFC][LLVM][CodeGen] Create header file for MIRFSDiscriminator options (#163438)
Extract extern variable declaration into a header per
https://discourse.llvm.org/t/rfc-cs-changes-for-standalone-variables/88581
Commit: cd67ca2f11f79d2ce08807682b571ca04dab0996
https://github.com/llvm/llvm-project/commit/cd67ca2f11f79d2ce08807682b571ca04dab0996
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
A lldb/test/API/tools/lldb-dap/invalidated-event/Makefile
A lldb/test/API/tools/lldb-dap/invalidated-event/TestDAP_invalidatedEvent.py
A lldb/test/API/tools/lldb-dap/invalidated-event/main.cpp
A lldb/test/API/tools/lldb-dap/invalidated-event/other.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/EventHelper.h
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Send an Invalidated event on thread stack change. (#163976)
When the user send `thread return <expr>` command this changes the stack
length but the UI does not update.
Send stack invalidated event to the client to update the stack.
Commit: e8b255df1bb41411c3908b205779ba28264d5c2e
https://github.com/llvm/llvm-project/commit/e8b255df1bb41411c3908b205779ba28264d5c2e
Author: Fateme Hosseini <quic_fhossein at quicinc.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/Hexagon.h
A llvm/lib/Target/Hexagon/HexagonQFPOptimizer.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
A llvm/test/CodeGen/Hexagon/qfp-conv.ll
A llvm/test/CodeGen/Hexagon/qfp-enabled.ll
A llvm/test/CodeGen/Hexagon/qfp-remove-kill.mir
A llvm/test/CodeGen/Hexagon/qfp-subreg-bug.mir
A llvm/test/CodeGen/Hexagon/qfpopt-rem-conv-add.ll
A llvm/test/CodeGen/Hexagon/vect/qfp-mix.mir
A llvm/test/CodeGen/Hexagon/vect/qfp-zeroinit.mir
A llvm/test/CodeGen/Hexagon/vect/unique-vreg-def.ll
Log Message:
-----------
Hexagon QFP Optimizer (#163843)
Co-authored-by: Rahul Utkoor <quic_rutkoor at quicinc.com>
Co-authored-by: Brendon Cahoon <bcahoon at quicinc.com>
Co-authored-by: abhikran <abhikran at codeaurora.org>
Co-authored-by: Sumanth Gundapaneni <sgundapa at quicinc.com>
Co-authored-by: Ikhlas Ajbar <iajbar at quicinc.com>
Co-authored-by: Anirudh Sundar <quic_sanirudh at quicinc.com>
Co-authored-by: Yashas Andaluri <quic_yandalur at quicinc.com>
Co-authored-by: quic-santdas <quic_santdas at quicinc.com>
Commit: fcb1a82811490ca581b4db484a2b67be86650a84
https://github.com/llvm/llvm-project/commit/fcb1a82811490ca581b4db484a2b67be86650a84
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M libcxx/utils/compare-benchmarks
Log Message:
-----------
[libc++] Fix off-by-one error in compare-benchmarks script
That led us to overwrite the data of the last row with the geomean.
Commit: 46ab6c6fd3e6068a1f8f2935c17c09a3046180f9
https://github.com/llvm/llvm-project/commit/46ab6c6fd3e6068a1f8f2935c17c09a3046180f9
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
Log Message:
-----------
[FlowSensitive] [Optional] Fix absl::in_place (#163897)
The mock was not accurate, absl defines in_place[_t] as an alias to
std::in_place[_t].
Commit: dfe48e77e6f4e0459ee530f5fea820d6c7a24aa0
https://github.com/llvm/llvm-project/commit/dfe48e77e6f4e0459ee530f5fea820d6c7a24aa0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/CUDA/cuda-cloc.cuf
Log Message:
-----------
[flang][cuda] Update c_loc with device variable to get host address (#164317)
Bypass the declare op because it is rewritten in CUFOpConversion and
will only provide the device address. c_loc is expected to have the host
address of a device address to be used in API like `cudaMemcpyToSymbol`
so we need to provide the address of op directly.
Commit: 803883c6622685f342b546165ddce412cb057a8b
https://github.com/llvm/llvm-project/commit/803883c6622685f342b546165ddce412cb057a8b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M flang-rt/lib/cuda/kernel.cpp
Log Message:
-----------
[flang][cuda][rt] Canonicalize block size values (#164321)
Set block size x and y to 1024 if the given value is higher. Set block z
to 64 if the given value is higher.
Commit: 35b9f204490cd0101100878effe05ef5116b3099
https://github.com/llvm/llvm-project/commit/35b9f204490cd0101100878effe05ef5116b3099
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
Log Message:
-----------
[LV] Check for TruncInsts in canTruncateToMinimalBitwidth.
TruncInst must truncate at most to their destination. Return false if
MinBWs contains a destination size > the trunc result type size.
Fixes https://github.com/llvm/llvm-project/issues/162688.
Commit: ca4df68aaa8243f202a643f4f172fe2f5bceaf71
https://github.com/llvm/llvm-project/commit/ca4df68aaa8243f202a643f4f172fe2f5bceaf71
Author: Thurston Dang <thurston at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sme-aarch64-svcount-mini.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sme-aarch64-svcount.ll
Log Message:
-----------
[msan][test] Add tests for target("aarch64.svcount") (#164315)
target("aarch64.svcount") is not properly supported by MSan, and will
lead to a crash:
```
fatal error: error in backend: Cannot implicitly convert a scalable size to a fixed-width size in `TypeSize::operator ScalarTy()`
```
This commit adds two test cases: a full test case for tracking any
future improvements to the instrumentation (and also showing the crash),
and a manually reduced test case to show the crash.
Forked from llvm/test/CodeGen/AArch64/sme-aarch64-svcount.ll
Commit: dc718313ecb7cb382cb3c788380e388f7ce4551c
https://github.com/llvm/llvm-project/commit/dc718313ecb7cb382cb3c788380e388f7ce4551c
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] use workspaceFolder in vscode configurations. (#164320)
`workspaceRoot` was deprecated in [september 2017
release](https://code.visualstudio.com/updates/v1_17#_workspacefolder-in-launchjson-and-tasksjson)
Commit: 437cad9121939344c8c12efec5fcb0929e9fb444
https://github.com/llvm/llvm-project/commit/437cad9121939344c8c12efec5fcb0929e9fb444
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/binassign.c
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/struct.cpp
Log Message:
-----------
[CIR] Upstream aggregate binary assign handling (#163877)
This upstreams the implementation for handling binary assignment
involving aggregate types.
Commit: ac65da0f861412afa5927196b51166269cf79ddf
https://github.com/llvm/llvm-project/commit/ac65da0f861412afa5927196b51166269cf79ddf
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
A mlir/test/Target/SPIRV/function-decorations-asserts.mlir
M mlir/test/Target/SPIRV/function-decorations.mlir
Log Message:
-----------
[mlir][spirv][test] Fork test to allow testing with assertions enabled (#164319)
This way, testing with --debug flag can correctly specify that it
requires assertions.
This is a fix for #164098
Commit: 32b534b1927089bffe71b8f6560a31a567a2b87b
https://github.com/llvm/llvm-project/commit/32b534b1927089bffe71b8f6560a31a567a2b87b
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
Log Message:
-----------
[lldb][doc NFC] fix typeo in reason:watchpoint desc
Commit: e7f370f910701b6c67d41dab80e645227692c58b
https://github.com/llvm/llvm-project/commit/e7f370f910701b6c67d41dab80e645227692c58b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-parent-multi-copyables.ll
Log Message:
-----------
[SLP] Check all copyable children for non-schedulable parent nodes
If the parent node is non-schedulable and it includes several copies of
the same instruction, its operand might be replaced by the copyable
nodes in multiple children nodes, and if the instruction is commutative,
they can be used in different operands. The compiler shall consider this
opportunity, taking into account that non-copyable children are
scheduled only ones for the same parent instruction.
Fixes #164242
Commit: c8c86efbbb55e51597c1bd8feb2e947bc0de3422
https://github.com/llvm/llvm-project/commit/c8c86efbbb55e51597c1bd8feb2e947bc0de3422
Author: Lang Hames <lhames at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
A llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/WaitingOnGraphTest.cpp
Log Message:
-----------
[ORC] Replace ORC's baked-in dependence tracking with WaitingOnGraph. (#163027)
WaitingOnGraph tracks waiting-on relationships between nodes (intended
to represent symbols in an ORC program) in order to identify nodes that
are *Ready* (i.e. are not waiting on any other nodes) or have *Failed*
(are waiting on some node that cannot be produced).
WaitingOnGraph replaces ORC's baked-in data structures that were
tracking the same information (EmissionDepUnit, EmissionDepUnitInfo,
...). Isolating this information in a separate data structure simplifies
the code, allows us to unit test it, and simplifies performance testing.
The WaitingOnGraph uses several techniques to improve performance
relative to the old data structures, including symbol coalescing
("SuperNodes") and symbol keys that don't perform unnecessary reference
counting (NonOwningSymbolStringPtr).
This commit includes unit tests for common dependence-tracking issues
that have led to ORC bugs in the past.
Commit: 13ca8723d1bfc9ae0b8983e936e9575e440cbee1
https://github.com/llvm/llvm-project/commit/13ca8723d1bfc9ae0b8983e936e9575e440cbee1
Author: Lang Hames <lhames at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
R llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
R llvm/unittests/ExecutionEngine/Orc/WaitingOnGraphTest.cpp
Log Message:
-----------
Revert "[ORC] Replace ORC's baked-in dependence tracking ... (#163027)"
Reverts commit c8c86efbbb55e51597c1bd8feb2e947bc0de3422 while I investigate bot
failures, e.g. https://lab.llvm.org/buildbot/#/builders/187/builds/12743.
Commit: cc88a3b8df21a04b688fccbdf239bd8329283100
https://github.com/llvm/llvm-project/commit/cc88a3b8df21a04b688fccbdf239bd8329283100
Author: Reid Kleckner <rnk at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add dep for MLIR 5a112de (#164331)
Commit: c9124a1b0853899bdd22d267124551ec4d720a23
https://github.com/llvm/llvm-project/commit/c9124a1b0853899bdd22d267124551ec4d720a23
Author: jimingham <jingham at apple.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointLocationCollection.h
M lldb/source/Breakpoint/BreakpointLocationCollection.cpp
M lldb/source/Target/StopInfo.cpp
A lldb/test/API/functionalities/breakpoint/callback_deletes_breakpoints/Makefile
A lldb/test/API/functionalities/breakpoint/callback_deletes_breakpoints/TestCallbackDeletesBreakpoints.py
A lldb/test/API/functionalities/breakpoint/callback_deletes_breakpoints/main.c
Log Message:
-----------
Fix a potential use-after-free in StopInfoBreakpoint. (#163471)
StopInfoBreakpoint keeps a BreakpointLocationCollection for all the
breakpoint locations at the BreakpointSite that was hit. It is also
lives through the time a given thread is stopped, so there are plenty of
opportunities for one of the owning breakpoints to get deleted.
But BreakpointLocations don't keep their owner Breakpoints alive, so if
the BreakpointLocationCollection can live past when some code gets a
chance to delete an owner breakpoint, and then you ask that location for
some breakpoint information, it will access freed memory.
This wasn't a problem before PR #158128 because the StopInfoBreakpoint
just kept the BreakpointSite that was hit, and when you asked it
questions, it relooked up that list. That was not great, however,
because if you hit breakpoints 5 & 6, deleted 5 and then asked which
breakpoints got hit, you would just get 6. For that and other reasons
that PR changed to storing a BreakpointLocationCollection of the
breakpoints that were hit. That's better from a UI perspective but
caused this potential problem.
I fix it by adding a variant of the BreakpointLocationCollection that
also holds onto a shared pointer to the Breakpoints that own the
locations that were hit, thus keeping them alive till the
StopInfoBreakpoint goes away.
This fixed the ASAN assertion. I also added a test that works harder to
cause trouble by deleting breakpoints during a stop.
Commit: 750d81ab992f838106f0bce816f08c1abda2ac3d
https://github.com/llvm/llvm-project/commit/750d81ab992f838106f0bce816f08c1abda2ac3d
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
Log Message:
-----------
[lldb][ValueObject][NFC] Remove unused SyntheticChildrenFrontEnd member (#164249)
These `IsValid`/`SetValid` APIs are only ever used from 1 data-formatter
in the Swift LLDB fork. Since all the APIs on
`SyntheticChildrenFrontEnd` are meant to be overriden, there is no good
way to enforce calling `IsValid` from the base. And we should just let
that 1 data-formatter manage its own `IsValid` state.
Commit: 0833b48760efb72318952f1f0eb4cbd45eb941f4
https://github.com/llvm/llvm-project/commit/0833b48760efb72318952f1f0eb4cbd45eb941f4
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
A clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h
M clang/lib/Analysis/FlowSensitive/Models/CMakeLists.txt
A clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
A clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTest.cpp
A clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
A clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.h
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/Models/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
Reapply "[FlowSensitive] [StatusOr] [2/N] Add minimal model" (#164040) (#164305)
This reverts commit eed8d3aa4aa6efe01fcf7bd56015b671f5f18e29.
Commit: f0f2f71c8d2bacb9d41b37fdf2a23fbbc73fb601
https://github.com/llvm/llvm-project/commit/f0f2f71c8d2bacb9d41b37fdf2a23fbbc73fb601
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] fix typos in RenamerCheck (#164338)
Commit: f3805fc187705a322a07ed832f153c442d00d495
https://github.com/llvm/llvm-project/commit/f3805fc187705a322a07ed832f153c442d00d495
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy][NFC] fix typos in ReleaseNotes (#164339)
Commit: e32f08f4e45f4c39dcd029b32dc0ed3673357656
https://github.com/llvm/llvm-project/commit/e32f08f4e45f4c39dcd029b32dc0ed3673357656
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv32zbs.ll
M llvm/test/CodeGen/RISCV/rv64zbs.ll
Log Message:
-----------
[RISCV] Use shiftMaskXLen for one of the BCLR patterns. (#164206)
This allows us to remove AND from the shift amount when DAG combine
has replaced (not (shl 1, X)) with (rotl -2, X). SimplifyDemandedBits
will often simplify the rotl case on its own, but not if the masked
shift amount has multiple users.
Commit: 896d546cf3924779066a311d21e04a3dd1f1f428
https://github.com/llvm/llvm-project/commit/896d546cf3924779066a311d21e04a3dd1f1f428
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
Log Message:
-----------
AMDGPU: Refactor three-address conversion (NFC) (#162558)
Extract the core of the instruction rewriting into an implementation
method, and unify the update of live variables / intervals updates in
its caller.
This is intended to help make future changes to three-address conversion
more robust.
Commit: de21b0d62ebf072675ec8fe178db0d4ebd0da10d
https://github.com/llvm/llvm-project/commit/de21b0d62ebf072675ec8fe178db0d4ebd0da10d
Author: Jim Lin <jim at andestech.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use CONCAT_VECTORS instead of INSERT_SUBVECTOR. NFC. (#164226)
Commit: 005ec78b71c8790a58cb1124e8ca2fcf47a880a0
https://github.com/llvm/llvm-project/commit/005ec78b71c8790a58cb1124e8ca2fcf47a880a0
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
Log Message:
-----------
[AArch64][CostModel] Add constraints on which partial reductions are (#163728)
natively supported on Neon and SVE
PR #158641 refined and refactored the cost model for partial reductions.
While doing so, it missed out on certain constraints. Specifically,
cases like i32 -> i64 partial reduce are not natively supported. This
patch adds back the condition/constraint that was present before PR
#158641
Commit: 8521ffdfaaf43057219b6f83d4a0c744ab3e66a6
https://github.com/llvm/llvm-project/commit/8521ffdfaaf43057219b6f83d4a0c744ab3e66a6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
R llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-parent-multi-copyables.ll
Log Message:
-----------
Revert "[SLP] Check all copyable children for non-schedulable parent nodes"
This reverts commit e7f370f910701b6c67d41dab80e645227692c58b to fix
buildbots https://lab.llvm.org/buildbot/#/builders/213/builds/1056.
Commit: 9173846640767d3bb2f0d8402c91a9b3b043668f
https://github.com/llvm/llvm-project/commit/9173846640767d3bb2f0d8402c91a9b3b043668f
Author: Lang Hames <lhames at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
A llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/WaitingOnGraphTest.cpp
Log Message:
-----------
Reapply "[ORC] Replace ORC's baked-in dependence ... (#163027)" with … (#164340)
…fixes.
This reapplies c8c86efbbb5, which was reverted in 13ca8723d1b due to bot
failures. Those failures were compilation errors exposed when LLVM is
built with LLVM_ENABLE_EXPENSIVE_CHECKS=On. They have been fixed in this
commit.
Commit: f3a60cf8dd602958f706c11db66e401257364be7
https://github.com/llvm/llvm-project/commit/f3a60cf8dd602958f706c11db66e401257364be7
Author: Alexey Karyakin <akaryaki at quicinc.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
A llvm/test/CodeGen/Hexagon/insert-big.ll
Log Message:
-----------
[Hexagon] Incorrect MIR after "hexinsert" pass (#164021)
The "hexinsert" pass tries to replace bitfield operations with Hexagon
`insert` instructions. To limit memory usage, there is a limit on the
internal table size. When the limit is reached, the state is not
correctly cleaned up so defs from from new `insert` instructions are not
deleted after processing the basic block. Later, these defs can be
incorrectly used in other basic blocks even they are not reachable. Then
compiler will crash with:
*** Bad machine code: Virtual register defs don't dominate all uses. ***
Fixes: #163774
Commit: b74801ad8790e35eeaa03bf2359683f3378269c5
https://github.com/llvm/llvm-project/commit/b74801ad8790e35eeaa03bf2359683f3378269c5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/test/TableGen/RuntimeLibcallEmitter.td
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
Log Message:
-----------
TableGen: Use IfDefEmitter (#164209)
Commit: 9c3ed5a389ce04c78d9738c3a7537ff9c702f420
https://github.com/llvm/llvm-project/commit/9c3ed5a389ce04c78d9738c3a7537ff9c702f420
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
Log Message:
-----------
[NFC] [FlowSensitive] [StatusOr] remove unused function (#164351)
Commit: 69d97a6531bb36d620775159308915884b26eae6
https://github.com/llvm/llvm-project/commit/69d97a6531bb36d620775159308915884b26eae6
Author: ShivaChen <32083954+ShivaChen at users.noreply.github.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
Log Message:
-----------
[mlir][tosa] Remove Tosa MulOp Commutative attribute (#163312)
The patch motivates by following cases in Tosa Conformance Test.
conformance/operators/ew_binary/mul/mul_21x44_i8_perm0_shift0_dyn
conformance/operators/ew_binary/mul/mul_44x57_i16_perm0_shift0_dyn
conformance/operators/ew_binary/mul/mul_52x31_i32_perm0_shift8_dyn
Shift operand could be non-constant when dynamic extension enabled. With
Commutative attribute, all the operands would be treated as commutative.
Shift operand could be reordered with one of the MulOp inputs
incorrectly in above cases.
Would there have better way to fix the issue?
Commit: 0da6cca6c34dfc0faf969a4abf4daa53c1d16d5a
https://github.com/llvm/llvm-project/commit/0da6cca6c34dfc0faf969a4abf4daa53c1d16d5a
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M clang/lib/Sema/TreeTransform.h
A clang/test/SemaTemplate/GH164330.cpp
Log Message:
-----------
[clang] fix handling of packs in TransformSubstNonTypeTemplateParmExpr (#164350)
Since this regression was never released, there are no release notes.
Fixes #164330
Commit: 378e4ed1acf94ee911e2ccfda0045ac3fdc9e291
https://github.com/llvm/llvm-project/commit/378e4ed1acf94ee911e2ccfda0045ac3fdc9e291
Author: timon-ul <timon.ulrich at advantest.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/Index.cpp
M clang-tools-extra/clangd/index/Index.h
M clang-tools-extra/clangd/index/MemIndex.cpp
M clang-tools-extra/clangd/index/MemIndex.h
M clang-tools-extra/clangd/index/Merge.cpp
M clang-tools-extra/clangd/index/Merge.h
M clang-tools-extra/clangd/index/ProjectAware.cpp
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/index/dex/Dex.h
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/Service.proto
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
Log Message:
-----------
[clangd] Show callers of base functions in incomingCalls (#163024)
If call hierarchy incoming calls is invoked on a virtual function, clangd
now returns the callers of base functions as well.
The patch also introduces a protocol extension to annotate such calls
differently (as they may or may not actually call the target function),
so that clients can visualize these callers differently if they wish.
Commit: 7a5435351d7cc26e6e3d7d66c3b5317e217521bf
https://github.com/llvm/llvm-project/commit/7a5435351d7cc26e6e3d7d66c3b5317e217521bf
Author: Wenju He <wenju.he at intel.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M libclc/clc/lib/generic/math/clc_nan.inc
Log Message:
-----------
[libclc] Fix double NAN_MASK in __clc_nan (#163522)
0x7ff0000000000000 is +inf. Change it to quiet nan 0x7ff8000000000000.
Commit: d10af9d39805fb05d7e36cc815ce19014f6b4dae
https://github.com/llvm/llvm-project/commit/d10af9d39805fb05d7e36cc815ce19014f6b4dae
Author: Brad Smith <brad at comstyle.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M openmp/runtime/src/z_Linux_asm.S
Log Message:
-----------
[OpenMP][AArch64] Enable BTI and PAC support on OpenBSD (#164337)
Commit: af6fa77a351e64563ef8abe4af2ab65e6aa669fa
https://github.com/llvm/llvm-project/commit/af6fa77a351e64563ef8abe4af2ab65e6aa669fa
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
A llvm/lib/Target/AMDGPU/AMDGPUBarrierLatency.cpp
A llvm/lib/Target/AMDGPU/AMDGPUBarrierLatency.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
A llvm/test/CodeGen/AMDGPU/schedule-barrier-latency.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-vscnt.ll
Log Message:
-----------
[AMDGPU] Add DAG mutation to improve scheduling before barriers (#142716)
Add scheduler DAG mutation to add data dependencies between atomic
fences and preceding memory reads. This allows some modelling of the
impact an atomic fence can have on outstanding memory accesses.
This is beneficial when a fence would cause wait count insertion, as
more instructions will be scheduled before the fence hiding memory
latency.
Commit: 467a0c30a4458b2155f658123ee802ecb91942de
https://github.com/llvm/llvm-project/commit/467a0c30a4458b2155f658123ee802ecb91942de
Author: Jim Lin <jim at andestech.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Remove remapping Zfinx register classes to GPR class in getRegForInlineAsmConstraint. (#164352)
The codegen for Zfinx has been supported. So we don't need to remap
Zfinx register classes to GPR class.
Commit: e0bc38226c903937faaef9766b76bda9e8f0cb5d
https://github.com/llvm/llvm-project/commit/e0bc38226c903937faaef9766b76bda9e8f0cb5d
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang/lib/Optimizer/Dialect/MIF/CMakeLists.txt
Log Message:
-----------
[flang] Fix standalone build regression from #161179 (#164309)
Fix incorrect linking and dependencies introduced in #161179 that break
standalone builds of Flang.
Signed-off-by: Michał Górny <mgorny at gentoo.org>
Commit: e4f3e9a3d1a3d78675fb3daa16cb6e97405f6627
https://github.com/llvm/llvm-project/commit/e4f3e9a3d1a3d78675fb3daa16cb6e97405f6627
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-10-20 (Mon, 20 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU] Remove magic constants from V_PK_ADD_F32 pattern. NFC (#164335)
Commit: 07d47c792b980746ab1ff5ea3f346c87b024bd51
https://github.com/llvm/llvm-project/commit/07d47c792b980746ab1ff5ea3f346c87b024bd51
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
M llvm/test/CodeGen/AMDGPU/lds-dma-workgroup-release.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-barriers.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-cluster.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
Log Message:
-----------
[AMDGPU] Update code sequence for CU-mode Release Fences in GFX10+ (#161638)
They were previously optimized to not emit any waitcnt, which is
technically correct because there is no reordering of operations at
workgroup scope in CU mode for GFX10+.
This breaks transitivity however, for example if we have the following
sequence of events in one thread:
- some stores
- store atomic release syncscope("workgroup")
- barrier
then another thread follows with
- barrier
- load atomic acquire
- store atomic release syncscope("agent")
It does not work because, while the other thread sees the stores, it
cannot release them at the wider scope. Our release fences aren't strong
enough to "wait" on stores from other waves.
We also cannot strengthen our release fences any further to allow for
releasing other wave's stores because only GFX12 can do that with
`global_wb`. GFX10-11 do not have the writeback instruction.
It'd also add yet another level of complexity to code sequences, with
both acquire/release having CU-mode only alternatives.
Lastly, acq/rel are always used together. The price for synchronization
has to be paid either at the acq, or the rel. Strengthening the releases
would just make the memory model more complex but wouldn't help
performance.
So the choice here is to streamline the code sequences by making CU and
WGP mode emit almost identical (vL0 inv is not needed in CU mode) code
for release (or stronger) atomic ordering.
This also removes the `vm_vsrc(0)` wait before barriers. Now that the
release fence in CU mode is strong enough, it is no longer needed.
Supersedes #160501
Solves SC1-6454
Commit: ec26f219acce77fb9b3d52abd31b0e639e788514
https://github.com/llvm/llvm-project/commit/ec26f219acce77fb9b3d52abd31b0e639e788514
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/ptrtoaddr.ll
Log Message:
-----------
[InstSimplify] Support ptrtoaddr in simplifyGEPInst() (#164262)
This adds support for ptrtoaddr in the `ptradd p, ptrtoaddr(p2) -
ptrtoaddr(p) -> p2` fold.
This fold requires that p and p2 have the same underlying object
(otherwise the provenance may not be the same).
The argument I would like to make here is that because the underlying
objects are the same (and the pointers in the same address space), the
non-address bits of the pointer must be the same. Looking at some
specific cases of underlying object relationship:
* phi/select: Trivially true.
* getelementptr: Only modifies address bits, non-address bits must
remain the same.
* addrspacecast round-trip cast: Must preserve all bits because we
optimize such round-trip casts away.
* non-interposable global alias: I'm a bit unsure about this one, but I
guess the alias and the aliasee must have the same non-address bits?
* various intrinsics like launder.invariant.group, ptrmask. I think
these all either preserve all pointer bits (like the invariant.group
ones) or at least the non-address bits (like ptrmask). There are some
interesting cases like amdgcn.make.buffer.rsrc, but those are cross
address-space.
-----
There is a second `gep (gep p, C), (sub 0, ptrtoint(p)) -> C` transform
in this function, which I am not extending to handle ptrtoaddr, adding
negative tests instead. This transform is overall dubious for provenance
reasons, but especially dubious with ptrtoaddr, as then we don't have
the guarantee that provenance of `p` has been exposed.
Commit: db478ba75d342c4926685a90206bfb630c39f19e
https://github.com/llvm/llvm-project/commit/db478ba75d342c4926685a90206bfb630c39f19e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/test/CodeGen/Hexagon/insert-big.ll
Log Message:
-----------
[Hexagon] Add REQUIRES: asserts to test
This test uses -debug-only, so needs an assertion-enabled build.
Commit: 34c6fa3071227166390849161180ab321c27035f
https://github.com/llvm/llvm-project/commit/34c6fa3071227166390849161180ab321c27035f
Author: David Green <david.green at arm.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
Log Message:
-----------
[AArch64] Combing scalar_to_reg into DUP if the DUP already exists (#160499)
If we already have a dup(x) as part of the DAG along with a
scalar_to_vec(x), we can re-use the result of the dup to the
scalar_to_vec(x).
Commit: 1bf7ed27c1929152d876f9965895fd87ec8ccee4
https://github.com/llvm/llvm-project/commit/1bf7ed27c1929152d876f9965895fd87ec8ccee4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/include/llvm/CAS/OnDiskGraphDB.h
M llvm/lib/CAS/OnDiskGraphDB.cpp
Log Message:
-----------
[CAS] OnDiskGraphDB - fix MSVC "not all control paths return a value" warnings. NFC. (#164369)
Commit: 253e43590842bffcc6950cc517a7f89cafe5ec69
https://github.com/llvm/llvm-project/commit/253e43590842bffcc6950cc517a7f89cafe5ec69
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/__hash_table
M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_range.pass.cpp
M libcxx/test/std/containers/unord/unord.multiset/erase_range.pass.cpp
Log Message:
-----------
Reapply "[libc++] Optimize __hash_table::erase(iterator, iterator)" (#162850)
This reapplication fixes the use after free caused by not properly
updating the bucket list in one case.
Original commit message:
Instead of just calling the single element `erase` on every element of
the range, we can combine some of the operations in a custom
implementation. Specifically, we don't need to search for the previous
node or re-link the list every iteration. Removing this unnecessary work
results in some nice performance improvements:
```
-----------------------------------------------------------------------------------------------------------------------
Benchmark old new
-----------------------------------------------------------------------------------------------------------------------
std::unordered_set<int>::erase(iterator, iterator) (erase half the container)/0 457 ns 459 ns
std::unordered_set<int>::erase(iterator, iterator) (erase half the container)/32 995 ns 626 ns
std::unordered_set<int>::erase(iterator, iterator) (erase half the container)/1024 18196 ns 7995 ns
std::unordered_set<int>::erase(iterator, iterator) (erase half the container)/8192 124722 ns 70125 ns
std::unordered_set<std::string>::erase(iterator, iterator) (erase half the container)/0 456 ns 461 ns
std::unordered_set<std::string>::erase(iterator, iterator) (erase half the container)/32 1183 ns 769 ns
std::unordered_set<std::string>::erase(iterator, iterator) (erase half the container)/1024 27827 ns 18614 ns
std::unordered_set<std::string>::erase(iterator, iterator) (erase half the container)/8192 266681 ns 226107 ns
std::unordered_map<int, int>::erase(iterator, iterator) (erase half the container)/0 455 ns 462 ns
std::unordered_map<int, int>::erase(iterator, iterator) (erase half the container)/32 996 ns 659 ns
std::unordered_map<int, int>::erase(iterator, iterator) (erase half the container)/1024 15963 ns 8108 ns
std::unordered_map<int, int>::erase(iterator, iterator) (erase half the container)/8192 136493 ns 71848 ns
std::unordered_multiset<int>::erase(iterator, iterator) (erase half the container)/0 454 ns 455 ns
std::unordered_multiset<int>::erase(iterator, iterator) (erase half the container)/32 985 ns 703 ns
std::unordered_multiset<int>::erase(iterator, iterator) (erase half the container)/1024 16277 ns 9085 ns
std::unordered_multiset<int>::erase(iterator, iterator) (erase half the container)/8192 125736 ns 82710 ns
std::unordered_multimap<int, int>::erase(iterator, iterator) (erase half the container)/0 457 ns 454 ns
std::unordered_multimap<int, int>::erase(iterator, iterator) (erase half the container)/32 1091 ns 646 ns
std::unordered_multimap<int, int>::erase(iterator, iterator) (erase half the container)/1024 17784 ns 7664 ns
std::unordered_multimap<int, int>::erase(iterator, iterator) (erase half the container)/8192 127098 ns 72806 ns
```
This reverts commit acc3a6234a91369b818fdd6482ded0ac32d8ffa6.
Commit: 8da0df49568206544f64eea890e51354d04187cd
https://github.com/llvm/llvm-project/commit/8da0df49568206544f64eea890e51354d04187cd
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[TableGen] List the indices of sub-operands (#163723)
Some instances of the `Operand` class used in Tablegen instruction
definitions expand to a cluster of multiple operands at the MC layer,
such as complex addressing modes involving base + offset + shift, or
clusters of operands describing conditional Arm instructions or
predicated MVE instructions. There's currently no convenient way for C++
code to know the offset of one of those sub-operands from the start of
the cluster: instead it just hard-codes magic numbers like `index+2`,
which is hard to read and fragile.
This patch adds an extra piece of output to `InstrInfoEmitter` to define
those instruction offsets, based on the name of the `Operand` class
instance in Tablegen, and the names assigned to the sub-operands in the
`MIOperandInfo` field. For example, if target Foo were to define
def Bar : Operand {
let MIOperandInfo = (ops GPR:$first, i32imm:$second);
// ...
}
then the new constants would be `Foo::SUBOP_Bar_first` and
`Foo::SUBOP_Bar_second`, defined as 0 and 1 respectively.
As an example, I've converted some magic numbers related to the MVE
predication operand types (`vpred_n` and its superset `vpred_r`) to use
the new named constants in place of the integer literals they previously
used. This is more verbose, but also clearer, because it explains why
the integer is chosen instead of what its value is.
Commit: f188c97cc193773071b0b61ebf214705fb84189e
https://github.com/llvm/llvm-project/commit/f188c97cc193773071b0b61ebf214705fb84189e
Author: Daniel Sanders <daniel_l_sanders at apple.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
M lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
M lldb/test/API/functionalities/gdb_remote_client/TestContinue.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteClient.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemoteLoad.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py
Log Message:
-----------
[lldb] Add bidirectional packetLog to gdbclientutils.py (#162176)
While debugging the tests for #155000 I found it helpful to have both
sides
of the simulated gdb-rsp traffic rather than just the responses so I've
extended
the packetLog in MockGDBServerResponder to record traffic in both
directions.
Tests have been updated accordingly
Commit: 00092f9bdd1d5037a5f4c8f3059e31e32aee6e8d
https://github.com/llvm/llvm-project/commit/00092f9bdd1d5037a5f4c8f3059e31e32aee6e8d
Author: Keshav Vinayak Jha <31160700+keshavvinayak01 at users.noreply.github.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[MLIR] [Vector] Added canonicalizer for folding from_elements + transpose (#161841)
## Description
Adds a new canonicalizer that folds
`vector.from_elements(vector.transpose))` => `vector.from_elements`.
This canonicalization reorders the input elements for
`vector.from_elements`, adjusts the output shape to match the effect of
the transpose op and eliminating its need.
## Testing
Added a 2D vector lit test that verifies the working of the rewrite.
---------
Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>
Commit: ab789beffdf68c65722203250d3094c15466459f
https://github.com/llvm/llvm-project/commit/ab789beffdf68c65722203250d3094c15466459f
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
A llvm/test/Analysis/DependenceAnalysis/monotonicity-cast.ll
A llvm/test/Analysis/DependenceAnalysis/monotonicity-delinearize.ll
A llvm/test/Analysis/DependenceAnalysis/monotonicity-invariant.ll
A llvm/test/Analysis/DependenceAnalysis/monotonicity-no-wrap-flags.ll
A llvm/test/Analysis/DependenceAnalysis/non-monotonic.ll
Log Message:
-----------
[DA] Add initial support for monotonicity check (#162280)
The dependence testing functions in DA assume that the analyzed AddRec
does not wrap over the entire iteration space. For AddRecs that may
wrap, DA should conservatively return unknown dependence. However, no
validation is currently performed to ensure that this condition holds,
which can lead to incorrect results in some cases.
This patch introduces the notion of *monotonicity* and a validation
logic to check whether a SCEV is monotonic. The monotonicity check
classifies the SCEV into one of the following categories:
- Unknown: Nothing is known about the monotonicity of the SCEV.
- Invariant: The SCEV is loop-invariant.
- MultivariateSignedMonotonic: The SCEV doesn't wrap in a signed sense
for any iteration of the loops in the loop nest.
The current validation logic basically searches an affine AddRec
recursively and checks whether the `nsw` flag is present. Notably, it is
still unclear whether we should also have a category for unsigned
monotonicity.
The monotonicity check is still under development and disabled by
default for now. Since such a check is necessary to make DA sound, it
should be enabled by default once the functionality is sufficient.
Split off from #154527.
Commit: cc850b830cf1a6972d835825d54e1090c5b0217d
https://github.com/llvm/llvm-project/commit/cc850b830cf1a6972d835825d54e1090c5b0217d
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Use VPlan::getRegion to shorten code (NFC) (#164287)
Commit: 3fbae10faaba3de1c87d9af1c986147fb8fd5a42
https://github.com/llvm/llvm-project/commit/3fbae10faaba3de1c87d9af1c986147fb8fd5a42
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Improve code using m_APInt (NFC) (#161683)
Commit: 1360aecb010a9f3c29221c6ee7823a19bdc4dc7e
https://github.com/llvm/llvm-project/commit/1360aecb010a9f3c29221c6ee7823a19bdc4dc7e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/test/CodeGen/SystemZ/int-conv-14.ll
M llvm/test/CodeGen/SystemZ/int-conv-15.ll
Log Message:
-----------
[SystemZ] Avoid trunc(add(X,X)) patterns (#164378)
Replace with trunc(add(X,Y)) to avoid premature folding in upcoming patch #164227
Commit: efcda547945e1c079a016a2184fde5b3153e4621
https://github.com/llvm/llvm-project/commit/efcda547945e1c079a016a2184fde5b3153e4621
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/C/C11/n1285_1.c
M clang/test/CodeGen/AArch64/ABI-align-packed.c
M clang/test/CodeGen/AArch64/fp8-init-list.c
M clang/test/CodeGen/AArch64/ls64-inline-asm.c
M clang/test/CodeGen/LoongArch/inline-asm-operand-modifiers.c
M clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
M clang/test/CodeGen/LoongArch/lasx/builtin.c
M clang/test/CodeGen/LoongArch/lasx/inline-asm-gcc-regs.c
M clang/test/CodeGen/LoongArch/lasx/inline-asm-operand-modifier.c
M clang/test/CodeGen/LoongArch/lsx/inline-asm-gcc-regs.c
M clang/test/CodeGen/LoongArch/lsx/inline-asm-operand-modifier.c
M clang/test/CodeGen/PowerPC/builtins-dmf-vsx-vector-float.c
M clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c
M clang/test/CodeGen/PowerPC/builtins-ppc-dmf.c
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
M clang/test/CodeGen/SystemZ/builtins-systemz-i128.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-16Al.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
M clang/test/CodeGen/SystemZ/sync-builtins-i128-16Al.c
M clang/test/CodeGen/SystemZ/zvector2.c
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
M clang/test/CodeGen/attr-counted-by-for-pointers.c
M clang/test/CodeGen/attr-counted-by-pr110385.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/builtin-maximumnum-minimumnum.c
M clang/test/CodeGen/builtin-maxnum-minnum.c
A clang/test/CodeGen/errno-tbaa.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/math-libcalls-tbaa.c
M clang/test/CodeGen/pointer-arithmetic-align.c
M clang/test/CodeGen/sanitize-metadata-ignorelist.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/tbaa-class.cpp
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
M clang/test/CodeGen/tbaa-struct.cpp
M clang/test/CodeGen/tbaa.c
M clang/test/CodeGen/tbaa.cpp
M clang/test/CodeGenCXX/attr-likelihood-if-branch-weights.cpp
M clang/test/CodeGenCXX/builtin-get-vtable-pointer.cpp
M clang/test/CodeGenCXX/cfi-mfcall-nomerge.cpp
M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
M clang/test/CodeGenCXX/load-reference-metadata.cpp
M clang/test/CodeGenCXX/std-byte.cpp
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
M clang/test/CodeGenOpenCL/preserve_vec3.cl
M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
M clang/test/DebugInfo/Generic/unsigned-promotion-debuginfo.c
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/wasm.c
M clang/test/OpenMP/bug54082.c
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
Log Message:
-----------
[clang][CodeGen] Emit `llvm.tbaa.errno` metadata during module creation
Let Clang emit `llvm.tbaa.errno` metadata in order to let LLVM
carry out optimizations around errno-writing libcalls to, as
long as it is proved the involved memory location does not alias
`errno`.
Previous discussion: https://discourse.llvm.org/t/rfc-modelling-errno-memory-effects/82972.
Commit: 822c291aac4bb1cddb8e7dae183ad8b9fbcac81c
https://github.com/llvm/llvm-project/commit/822c291aac4bb1cddb8e7dae183ad8b9fbcac81c
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/2012-10-20-infloop.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr33053.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr36032.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/ARM/arm-ieee-vectorize.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-known-trip-count.ll
M llvm/test/Transforms/LoopVectorize/X86/fp80-widest-type.ll
M llvm/test/Transforms/LoopVectorize/X86/rauw-bug.ll
M llvm/test/Transforms/LoopVectorize/X86/x86_fp80-interleaved-access.ll
M llvm/test/Transforms/LoopVectorize/i8-induction.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/incorrect-dom-info.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/middle-block-dbg.ll
M llvm/test/Transforms/LoopVectorize/multi-use-reduction-bug.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reverse_iter.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scev-exitlim-crash.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
Log Message:
-----------
[LV][NFC] Remove undef from phi incoming values (#163762)
Split off from PR #163525, this standalone patch replaces
use of undef as incoming PHI values with zero, in order
to reduce the likelihood of contributors hitting the
`undef deprecator` warning in github.
Commit: 2eb9251481e1e749314694737600f40a07054be0
https://github.com/llvm/llvm-project/commit/2eb9251481e1e749314694737600f40a07054be0
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DependenceAnalysis/ExactSIV.ll
A llvm/test/Analysis/DependenceAnalysis/exact-siv-overflow.ll
A llvm/test/Analysis/DependenceAnalysis/run-specific-dependence-test.ll
Log Message:
-----------
[DA] Add option to enable specific dependence test only (#164245)
PR #157084 added an option `da-run-siv-routines-only` to run only SIV
routines in DA. This PR replaces that option with a more fine-grained
one that allows to select other than SIV routines as well. This option
is useful for regression testing of individual DA routines. This patch
also reorganizes regression tests that use `da-run-siv-routines-only`.
Commit: c06ae43e26aa5cd472d0b25d5904c44d20e84067
https://github.com/llvm/llvm-project/commit/c06ae43e26aa5cd472d0b25d5904c44d20e84067
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/__algorithm/generate_n.h
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/generate_n.pass.cpp
Log Message:
-----------
[libcxx] Optimize `std::generate_n` for segmented iterators (#164266)
Part of #102817.
This is a natural follow-up to #163006. We are forwarding
`std::generate_n` to `std::__for_each_n` (`std::for_each_n` needs
c++17), resulting in improved performance for segmented iterators.
before:
```
std::generate_n(deque<int>)/32 17.5 ns 17.3 ns 40727273
std::generate_n(deque<int>)/50 25.7 ns 25.5 ns 26352941
std::generate_n(deque<int>)/1024 490 ns 487 ns 1445161
std::generate_n(deque<int>)/8192 3908 ns 3924 ns 179200
```
after:
```
std::generate_n(deque<int>)/32 11.1 ns 11.0 ns 64000000
std::generate_n(deque<int>)/50 16.1 ns 16.0 ns 44800000
std::generate_n(deque<int>)/1024 291 ns 292 ns 2357895
std::generate_n(deque<int>)/8192 2269 ns 2250 ns 298667
```
Commit: 2bbc4ae8501dec637d9dc064f8eeeee13a311339
https://github.com/llvm/llvm-project/commit/2bbc4ae8501dec637d9dc064f8eeeee13a311339
Author: Asher Dobrescu <asher.dobrescu at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
A bolt/test/AArch64/constant-island-entry.s
Log Message:
-----------
[BOLT] Check entry point address is not in constant island (#163418)
There are cases where `addEntryPointAtOffset` is called with a given
`Offset` that points to an address within a constant island. This
triggers `assert(!isInConstantIsland(EntryPointAddress)` and causes BOLT
to crash. This patch adds a check which ignores functions that would add
such entry points and warns the user.
Commit: 909f429b5e47aba3f67b4c1314974bd99c4483ef
https://github.com/llvm/llvm-project/commit/909f429b5e47aba3f67b4c1314974bd99c4483ef
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/test/DebugInfo/Generic/compileunit-source-language-name.ll
A llvm/test/tools/llvm-dwarfdump/X86/DW_AT_language_version-pretty.s
M llvm/test/tools/llvm-dwarfdump/X86/DW_AT_language_version.s
Log Message:
-----------
[llvm][dwarfdump] Pretty-print DW_AT_language_version (#164222)
In both verbose and non-verbose mode we will now use the
`llvm::dwarf::LanguageDescription` to turn the version into a human
readable string. In verbose mode we also display the raw version code
(similar to how we display addresses in verbose mode). To make the
version code and prettified easier to distinguish, we print the
prettified name in colour (if available), which is consistent with how
`DW_AT_language` is printed in colour.
Before:
```
0x0000000c: DW_TAG_compile_unit
DW_AT_language_name (DW_LNAME_C)
DW_AT_language_version (201112)
```
After:
```
0x0000000c: DW_TAG_compile_unit
DW_AT_language_name (DW_LNAME_C)
DW_AT_language_version (201112 C11)
```
Commit: f8edcba62db3d1174f81d6f8e6acab19c4dbf583
https://github.com/llvm/llvm-project/commit/f8edcba62db3d1174f81d6f8e6acab19c4dbf583
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/avoid-pre-trunc.ll
M llvm/test/CodeGen/AArch64/zext-shuffle.ll
Log Message:
-----------
[DAG] visitTRUNCATE - more aggressively fold trunc(add(x,x)) -> add(trunc(x),trunc(x)) (#164227)
We're very careful not to truncate binary arithmetic ops if it will
affect legality, or cause additional truncation instructions, hence we
currently limit this to cases where one operand is constant.
But if both ops are the same (i.e. for some add/mul cases) then we
wouldn't increase the number of truncations, so can be slightly more
aggressive at folding the truncation.
Commit: 889db04e2c3b1a4cbcdcc94b7c3e5b365fa2effd
https://github.com/llvm/llvm-project/commit/889db04e2c3b1a4cbcdcc94b7c3e5b365fa2effd
Author: Tom Tromey <tromey at adacore.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
M llvm/test/DebugInfo/X86/DW_OP_LLVM_extract_bits.ll
Log Message:
-----------
Minor optimizations to DW_OP_LLVM_extract_bits_* (#163812)
I noticed a couple more small optimization opportunities when generating
DWARF expressions from the internal
DW_OP_LLVM_extract_bits_* operations:
* DW_OP_deref can be used, rather than DW_OP_deref_size, when the deref
size is the word size.
* If the bit offset is 0 and an unsigned extraction is desired, then
sometimes the shifting can be skipped entirely, or replaced with
DW_OP_and.
Commit: 8d29d09309654541fb2861524276ada6a3ebf84c
https://github.com/llvm/llvm-project/commit/8d29d09309654541fb2861524276ada6a3ebf84c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-21 (Tue, 21 Oct 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/transform-narrow-interleave-to-widen-memory-constant-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll
Log Message:
-----------
[VPlan] Run narrowInterleaveGroups during general VPlan optimizations. (#149706)
Move narrowInterleaveGroups to to general VPlan optimization stage.
To do so, narrowInterleaveGroups now has to find a suitable VF where all
interleave groups are consecutive and saturate the full vector width.
If such a VF is found, the original VPlan is split into 2:
a) a new clone which contains all VFs of Plan, except VFToOptimize, and
b) the original Plan with VFToOptimize as single VF.
The original Plan is then optimized. If a new copy for the other VFs has
been created, it is returned and the caller has to add it to the list of
candidate plans.
Together with https://github.com/llvm/llvm-project/pull/149702, this
allows to take the narrowed interleave groups into account when
computing costs to choose the best VF and interleave count.
One example where we currently miss interleaving/unrolling when
narrowing interleave groups is https://godbolt.org/z/Yz77zbacz
PR: https://github.com/llvm/llvm-project/pull/149706
Commit: 5440cfc4505ffd242d3a75633b92c355c245bcae
https://github.com/llvm/llvm-project/commit/5440cfc4505ffd242d3a75633b92c355c245bcae
Author: macurtis-amd <macurtis at amd.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/docs/HIPSupport.rst
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/SyncScope.h
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGen/scoped-fence-ops.c
M clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
M clang/test/Preprocessor/init-aarch64.c
M clang/test/Preprocessor/init-loongarch.c
M clang/test/Preprocessor/init.c
M clang/test/SemaCUDA/atomic-ops.cu
M clang/test/SemaCUDA/spirv-amdgcn-atomic-ops.cu
Log Message:
-----------
[clang] Add support for cluster sync scope (#162575)
>From Sam Liu:
>CUDA supports thread block clusters
https://docs.nvidia.com/cuda/cuda-c-programming-guide/#thread-block-clusters
>
>In their atomic intrinsics, cluster scope is supported
https://docs.nvidia.com/cuda/cuda-c-programming-guide/#nv-atomic-fetch-add-and-nv-atomic-add
>
>For compatibility, clang and hip needs to support cluster scope.
Commit: d6e2143b064e62458eb210394e623bc0abeb266b
https://github.com/llvm/llvm-project/commit/d6e2143b064e62458eb210394e623bc0abeb266b
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
[mlir][dataflow] Fix LivenessAnalysis/RemoveDeadValues handling of loop induction variables (#161117)
Fix https://github.com/llvm/llvm-project/issues/157934. In liveness
analysis, variables that are not analyzed are set as dead variables, but
some variables are definitely live.
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: bdcbc1e5e7df220d9ae2afa6529268524fdde8ca
https://github.com/llvm/llvm-project/commit/bdcbc1e5e7df220d9ae2afa6529268524fdde8ca
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/fpextend.ll
Log Message:
-----------
[LLVM][InstCombine] Preserve vector types when shrinking FP constants. (#163598)
While my objective is to make the shrinkfp path safe for ConstantFP
based splats I discovered the following issues also affect
ConstantVector based splats:
1. PreferBFloat is not set for bfloat vectors.
2. getMinimumFPType() returns a scalar type for vector constants where
getSplatValue() is successful.
Commit: 26feb1a9f1303a33f05427434b2fcf037cc729aa
https://github.com/llvm/llvm-project/commit/26feb1a9f1303a33f05427434b2fcf037cc729aa
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrVSX.td
M llvm/test/CodeGen/PowerPC/i64_fp_round.ll
M llvm/test/CodeGen/PowerPC/scalar-rounding-ops.ll
M llvm/test/CodeGen/PowerPC/vector-llrint.ll
M llvm/test/CodeGen/PowerPC/vector-lrint.ll
Log Message:
-----------
[PowerPC] Remove `UnsafeFPMath` uses (#154901)
Try to remove `UnsafeFPMath` uses in PowerPC backend. These global flags
block some improvements like
https://discourse.llvm.org/t/rfc-honor-pragmas-with-ffp-contract-fast/80797.
Remove them incrementally.
FP operations may raise exceptions are replaced by constrained
intrinsics. However, vector type is not supported by these intrinsics.
Commit: 34cf8bb413a6e083954a099796f234c3b6e459af
https://github.com/llvm/llvm-project/commit/34cf8bb413a6e083954a099796f234c3b6e459af
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang/lib/Semantics/check-omp-atomic.cpp
M flang/lib/Semantics/resolve-directives.cpp
Log Message:
-----------
[flang][OpenMP] Use parser::UnwrapRef instead of thing/value, NFC (#164087)
Commit: a042f693d6ee6f27c75c11b0dabc26dcf29744bb
https://github.com/llvm/llvm-project/commit/a042f693d6ee6f27c75c11b0dabc26dcf29744bb
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang/lib/Parser/openmp-parsers.cpp
Log Message:
-----------
[flang][OpenMP] Remember to set source in OmpBlockConstruct (#164131)
Add "sourced" in a few places where OmpBlockConstruct was created.
Commit: 33f812dbae64362426185909f0198d0e8b50bc2f
https://github.com/llvm/llvm-project/commit/33f812dbae64362426185909f0198d0e8b50bc2f
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/lit.local.cfg
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/pack-unpack-scalable-inner-tile.mlir
A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/td/pack-unpack.mlir
Log Message:
-----------
[mlir][sve] Extend the e2e test for linalg.pack + linalg.unpack (#158094)
Adds vectorization of `linalg.unpack` to:
* test/Integration/Dialect/Linalg/CPU/ArmSVE/pack-unpack-scalable-inner-tile.mlir
The original configuration that didn't use vectorization is preserved as
reference and also to make sure we exercise all relevant code paths
(*). To this end, the TD sequence has be refactored out into a dedicated
file. The payload IR has not changed.
NOTE - ATM only vectorization of `linalg.unpack` is supported.
Vectorizing `linalg.pack` is left as a TODO.
(*) It remains valid to use scalable tile sizes in Linalg Ops even when
vectorization is not enabled.
Commit: be2c6c1960e57cf9b6c8c006bcb065c39af78621
https://github.com/llvm/llvm-project/commit/be2c6c1960e57cf9b6c8c006bcb065c39af78621
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang/include/flang/Semantics/dump-expr.h
Log Message:
-----------
[flang] Fix dumping type names for clang in DumpEvExpr (#164256)
The gcc/clang implementation uses __PRETTY_FUNCTION__ to generate
the full function name, and then extracts the type name from it. GCC
emits the type name in the form of
[with T = <type-name>...]
whereas clang uses
[T = <type-name>...]
The current code looked for "with T =" to get the location of the type
name, which did not work in clang-generated code.
Commit: e9b6d35dc8d9db44bf8f606c778f689f874a8f5c
https://github.com/llvm/llvm-project/commit/e9b6d35dc8d9db44bf8f606c778f689f874a8f5c
Author: nerix <nerixdev at outlook.de>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
A lldb/test/Shell/SymbolFile/NativePDB/func-symbols.test
M lldb/test/Shell/SymbolFile/PDB/func-symbols.test
Log Message:
-----------
[LLDB][PDB] Split `func-symbols.test` between DIA and native (#163733)
The test checks that functions have the correct type assigned. Because
of the differences between the two PDB plugins, I split the test.
DIA creates one named `Type` per function and uses identical UIDs for
`Type` and `Function`, whereas native creates one unnamed type per
signature and has different UIDs.
The native test has the same input and checks the same functions.
I also removed the `target-windows` requirement from the test, since it
only uses `lldb-test`.
Commit: 531d45d767246f910500e84ff981a89b5e0b7b03
https://github.com/llvm/llvm-project/commit/531d45d767246f910500e84ff981a89b5e0b7b03
Author: nerix <nerixdev at outlook.de>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M lldb/test/Shell/SymbolFile/PDB/pointers.test
Log Message:
-----------
[LLDB][PDB] Run `pointers.test` with both plugins (#163623)
The `pointers.test` was only run with the DIA plugin. I made the
following changes:
- Remove the check for the function type.
The types of the function are different in the plugins:
```
Native:
Type{0x00010084} , size = 0, compiler_type = 0x00000209aff60060 int
(int) __attribute__((thiscall))
DIA:
Type{0x0000000a} , name = "f", decl = PointerTypeTest.cpp:8,
compiler_type = 0x0000020bc22356c0 int (int) __attribute__((thiscall))
```
In DIA, each function gets its own type with a name and decl. In the
native plugin, only one unnamed type is created per signature. This
matches DWARF.
- The check for the `struct ST` fields was split, because the order of
members and methods is swapped between the plugins. In DIA, the member
is first and in the native plugin the method is first. We still check
that both are in the struct.
- The type names for the local variables are different. The native
plugin includes <code>\`extern "C" main'::\`2'::ST</code> which I added
as an allowed prefix. This comes from the mangled name of the struct
`ST` - `.?AUST@?1??main@@9@`.
- The location of local variables is different. DIA creates one static
location (e.g. `DW_OP_breg6 ESI-52`) whereas the native plugin limits
the location to the block (e.g. `[0x0040100d, 0x00401038): DW_OP_breg6
ESI-52`). This gets printed on a second line and the `location` starts
with `0x00000000:`
- DIA adds a decl for each parameter (and local variable). However, this
information is not contained in the PDB. I'm not sure how DIA calculates
this. It's often wrong and assumes variables are declared earlier. For
example, in this test
([PointerTypeTest.cpp](https://github.com/llvm/llvm-project/blob/2b135b931338a57c38d9c4a34ffdd59877ba82d6/lldb/test/Shell/SymbolFile/PDB/Inputs/PointerTypeTest.cpp)),
it assumes that all local variables of `main` are created on line 4. The
native plugin doesn't include this, so I made the check optional.
Commit: 186182bb64f0595033b4338f019e773c477e420d
https://github.com/llvm/llvm-project/commit/186182bb64f0595033b4338f019e773c477e420d
Author: Ross Brunton <bruntonross at protonmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
Log Message:
-----------
[Offload] Use `amd_signal_async_handler` for host function calls (#154131)
Commit: fbcd82aab5ff4b762bd476618857a26e576c76f0
https://github.com/llvm/llvm-project/commit/fbcd82aab5ff4b762bd476618857a26e576c76f0
Author: zond <zondolfin at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/utils/extract_symbols.py
Log Message:
-----------
[Windows] Fix Registry static data members not exported by extract_symbols.py in static builds with plugin support (#163391)
When building LLVM statically (without BUILD_SHARED_LIBS) on Windows with
LLVM_EXPORT_SYMBOLS_FOR_PLUGINS=ON, external plugins cannot register through
llvm::Registry<clang::PluginASTAction> because:
Static data members (Head, Tail) are filtered out during symbol export by
extract_symbols.py because they don't match the function signature patterns
that the script looks for.
This patch fixes the issue by adding pattern matching to extract_symbols.py
to recognize and export Registry static data members.
Note: When LLVM is built with /Zc:dllexportInlines-, inlined functions
aren't exported as symbols, and the plugin must also compile with
/Zc:dllexportInlines- to inline them instead of referencing non-exported
symbols.
Fixes #163367
Commit: d9556d3475510d6d0910ecd6e5e07779302c90ef
https://github.com/llvm/llvm-project/commit/d9556d3475510d6d0910ecd6e5e07779302c90ef
Author: nerix <nerixdev at outlook.de>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M lldb/test/Shell/SymbolFile/NativePDB/func-symbols.test
Log Message:
-----------
[LLDB][NativePDB] Require `target-windows` for `func-symbols.test` (#164406)
The test builds files for Windows, so the target has to be required. I
didn't add this in #163733.
Fixes the failure from
https://github.com/llvm/llvm-project/pull/163733#issuecomment-3426275296.
Commit: 6e9a5c949391d622943390c207dd73a4406d43b2
https://github.com/llvm/llvm-project/commit/6e9a5c949391d622943390c207dd73a4406d43b2
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/test/Driver/func-attr-fast-math.f90
Log Message:
-----------
[flang] Remove "unsafe-fp-math" attribute support (#162783)
These global flags block furthur improvements for clang, users should
always use fast-math flags
see also
https://discourse.llvm.org/t/rfc-honor-pragmas-with-ffp-contract-fast/80797
Remove them incrementally, this is the flang part.
Commit: c8c5a382a2f34240267e89461f2351c90f06b023
https://github.com/llvm/llvm-project/commit/c8c5a382a2f34240267e89461f2351c90f06b023
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
A clang/lib/AST/ByteCode/InterpHelpers.h
Log Message:
-----------
[clang][bytecode] Move shared interp functions to InterpHelpers.h (#164215)
This drastically reduces the preprocessed size of Context.cpp and
InterpBuiltin.cpp.
Commit: 95d1b4f83447807c7cbcafe5a13c285084784d34
https://github.com/llvm/llvm-project/commit/95d1b4f83447807c7cbcafe5a13c285084784d34
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/atomic.c
Log Message:
-----------
[CIR] Add support for atomic test-and-set and atomic clear (#164162)
This patch adds support for the following atomic builtin functions:
- `__atomic_test_and_set`
- `__atomic_clear`
Commit: c5f9a2a2b21b4625598524aedbf32c1ea2b78528
https://github.com/llvm/llvm-project/commit/c5f9a2a2b21b4625598524aedbf32c1ea2b78528
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
A clang/test/AST/ByteCode/cxx14.cpp
Log Message:
-----------
[clang][bytecode] Don't emit checkNull for function pointers (#164376)
Diagnose them later when we try to call the function pointer.
Commit: 573b624899d4e03a5249207ae5bb2a0f4fabb28b
https://github.com/llvm/llvm-project/commit/573b624899d4e03a5249207ae5bb2a0f4fabb28b
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
R mlir/test/Target/SPIRV/function-decorations-asserts.mlir
Log Message:
-----------
[mlir][spirv] Remove `function-decorations-asserts.mlir` (#164383)
The test is fragile as it relies on the `--debug` flag to test an
internal behaviour. This addresses discussion in #164319.
Commit: a58544890310593c08f3887d84014d9f95a06667
https://github.com/llvm/llvm-project/commit/a58544890310593c08f3887d84014d9f95a06667
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/test/Semantics/OpenMP/align-clause.f90
Log Message:
-----------
[flang][OpenMP] Move check of ALIGN clause to visitor function (#164261)
This replaces CheckAlignValue with an Enter function, and adds a check
that the alignment is a power of 2.
Commit: 14af43532f66b84512238d5c8c8038c0f782f812
https://github.com/llvm/llvm-project/commit/14af43532f66b84512238d5c8c8038c0f782f812
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M llvm/include/llvm/Support/Timer.h
Log Message:
-----------
[NFC][support]Add operator- to TimeRecord (#163361)
A common use case for the Timer is to measure time duration between two
points. Lack of operator- forced an non-intuitive two-step duration
computation: get the end time, then decrement it by the start time.
Now, as demonstrated on the example of `SyntaxCheckTimer` and
`ExprEngineTimer` one can compute duration directly.
Commit: 88d303e6d42a17a5b1789f6f4b3a1b4ee98b5bf7
https://github.com/llvm/llvm-project/commit/88d303e6d42a17a5b1789f6f4b3a1b4ee98b5bf7
Author: Raul Tambre <raul at tambre.ee>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/profile/GCDAProfiling.c
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingUtil.c
Log Message:
-----------
[cmake][compiler-rt] Define _DEFAULT_SOURCE instead of enabling extensions (#163377)
GNU extensions are a bit of a hammer approach to enabling access to POSIX extensions.
Instead we can define _DEFAULT_SOURCE ourselves where necessary, which is what the extensions
mechanism does.
See: #110555
Commit: 6c4d121e7f963d1a53b5fa0aee8832f2b260248b
https://github.com/llvm/llvm-project/commit/6c4d121e7f963d1a53b5fa0aee8832f2b260248b
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/IR/Instructions.cpp
A llvm/test/Transforms/InstCombine/ptrtoaddr.ll
Log Message:
-----------
[IR] Do not combine ptrtoaddr and trunc
The ptrtoaddr result type is required to match the pointer address
width. This means that, unlikely with ptrtoint, it's not legal to
merge a ptrtoint and trunc. This previously resulted in an IR
verifier failure.
Commit: da48e41094883187a4c7d86f1b9855c709d8ebe5
https://github.com/llvm/llvm-project/commit/da48e41094883187a4c7d86f1b9855c709d8ebe5
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
Log Message:
-----------
[ORC] Fix compile error (#164411)
This fixes the following error we're getting internally, perhaps only
with the latest clang:
llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h:136:24: error:
missing '#include <__fwd/vector.h>'; default argument of 'vector' must
be defined before it is used
This is a fix for #164340.
Commit: 7b91bb2046eda8c3ce2a97a70fc2485a0a1fcb96
https://github.com/llvm/llvm-project/commit/7b91bb2046eda8c3ce2a97a70fc2485a0a1fcb96
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Fix redeclaring global externs without initializer (#164409)
Return the same value, whether we've already allocated the variable or
not.
Commit: b0c89a929589b059174af63c8dd672c17b052389
https://github.com/llvm/llvm-project/commit/b0c89a929589b059174af63c8dd672c17b052389
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/fp-math-function-attributes.mlir
Log Message:
-----------
[mlir][LLVMIR] Remove "unsafe-fp-math" attribute support (#162782)
These global flags block furthur improvements for clang, users should
always use fast-math flags
see also
https://discourse.llvm.org/t/rfc-honor-pragmas-with-ffp-contract-fast/80797
Remove them incrementally, this is the mlir part.
Commit: bffdf0b408f5cb664cad928c4e79d23620ba9c08
https://github.com/llvm/llvm-project/commit/bffdf0b408f5cb664cad928c4e79d23620ba9c08
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M libcxx/utils/visualize-historical
Log Message:
-----------
[libc++] Allow customizing trendline in visualize-historical script
Commit: 7aa6c62bdba16731443dc0540f2addc58610a1a1
https://github.com/llvm/llvm-project/commit/7aa6c62bdba16731443dc0540f2addc58610a1a1
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/all-atomics.ll
M llvm/test/CodeGen/PowerPC/atomic-minmax.ll
M llvm/test/CodeGen/PowerPC/atomics-regression.ll
M llvm/test/CodeGen/PowerPC/atomics.ll
M llvm/test/CodeGen/PowerPC/ppc-partword-atomic.ll
M llvm/test/CodeGen/PowerPC/pr61882.ll
M llvm/test/CodeGen/PowerPC/sign-ext-atomics.ll
Log Message:
-----------
[PowecPC] Hint branch `bne-` for atomic operation after the store-conditional (#152529)
The branches emitted for atomic operations after the store-conditional
are currently not hinted, even though they should be.
According to the Power10 Processor Chip User’s Manual:
` “Without static prediction, if the lock is not acquired in the first
iteration, the branch history mechanism works to update the prediction
to predict taken; that is, predict lock acquisition failure and cause
more lwarx traffic for the next iteration.”`
This patch addresses the issue by adding explicit branch hints for
atomic operations after the store-conditional.
Commit: 20675ee67d048a42482c246e25b284637d55347c
https://github.com/llvm/llvm-project/commit/20675ee67d048a42482c246e25b284637d55347c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-parent-multi-copyables.ll
Log Message:
-----------
[SLP] Check all copyable children for non-schedulable parent nodes
If the parent node is non-schedulable and it includes several copies of
the same instruction, its operand might be replaced by the copyable
nodes in multiple children nodes, and if the instruction is commutative,
they can be used in different operands. The compiler shall consider this
opportunity, taking into account that non-copyable children are
scheduled only ones for the same parent instruction.
Fixes #164242
Commit: 83927a6913080fbd84b6ee1cd741fc7f057193ae
https://github.com/llvm/llvm-project/commit/83927a6913080fbd84b6ee1cd741fc7f057193ae
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/include/llvm/CAS/FileOffset.h
Log Message:
-----------
[Modules] Fix LLVM_ENABLE_MODULES build (NFC) (#164402)
FileOffset.h uses uint64_t but only includes <cstdlib>, which is not
specified to provide the uint64_t type.
This happens to work without LLVM_ENABLE_MODULES enabled due to
transitive includes from <cstdlib>.
With LLVM_ENABLE_MODULES enabled, declarations from transitive
includes are not visible by default, and the build fails.
This fixes LLVM_ENABLE_MODULES builds by including the proper header,
<cstdint>, instead.
Commit: 683e2bf059a6e5e0bb9dc2628218b53dc2d1b490
https://github.com/llvm/llvm-project/commit/683e2bf059a6e5e0bb9dc2628218b53dc2d1b490
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/StackSafetyAnalysis.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
Log Message:
-----------
[ThinLTO] Make SummaryList private (NFC) (#164355)
In preparation for a follow on change that will require checking every
time a new summary is added to the SummaryList for a GUID, make the
SummaryList private and require all accesses to go through one of two
new interfaces. Most changes are to access the list via the read only
getSummaryList() method, and the few that add new summaries (e.g. while
building the combined summary) use the new addSummary() method.
Commit: 58abcf6bc68942f25f89f68f2770f9e55f24eab0
https://github.com/llvm/llvm-project/commit/58abcf6bc68942f25f89f68f2770f9e55f24eab0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/SparseMultiSet.h
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
Log Message:
-----------
[ADT] Modernize SparseMultiSet to use llvm::identity_cxx20 (NFC) (#164361)
The legacy llvm::identity is not quite the same as std::identity from
C++20. llvm::identity is a template struct with an ::argument_type
member. In contrast, llvm::identity_cxx20 (and std::identity) is a
non-template struct with a templated call operator and no
::argument_type.
This patch modernizes llvm::SparseMultiSet by updating its default
key-extraction functor to llvm::identity_cxx20. A new template
parameter KeyT takes over the role of ::argument_type.
Existing uses of SparseMultiSet are updated for the new template
signature.
Commit: 4098e263ff77122f321562c7e66b2da96f03f604
https://github.com/llvm/llvm-project/commit/4098e263ff77122f321562c7e66b2da96f03f604
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/SparseSet.h
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/RegisterPressure.h
M llvm/lib/CodeGen/IfConversion.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
Log Message:
-----------
[ADT] Modernize SparseSet to use llvm::identity_cxx20 (NFC) (#164362)
The legacy llvm::identity is not quite the same as std::identity from
C++20. llvm::identity is a template struct with an ::argument_type
member. In contrast, llvm::identity_cxx20 (and std::identity) is a
non-template struct with a templated call operator and no
::argument_type.
This patch modernizes llvm::SparseSet by updating its default
key-extraction functor to llvm::identity_cxx20. A new template
parameter KeyT takes over the role of ::argument_type.
Existing uses of SparseSet are updated for the new template signature.
Most use sites are of the form SparseSet<T>, requiring no update.
Commit: 03d26db8c7727e0c8093041d3592cedf0201d059
https://github.com/llvm/llvm-project/commit/03d26db8c7727e0c8093041d3592cedf0201d059
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/STLForwardCompat.h
Log Message:
-----------
[ADT] Document C++20 migration path for llvm::is_detected (#164363)
The C++20 standard has adopted concepts and requires clauses as a
superior alternative to std::is_detected.
This patch adds a comment for llvm::is_detected to document this
relationship. The utility is kept in STLForwardCompat.h to serve as a
marker to migrate usages of llvm::is_detected to concepts and
requires clauses when the codebase adopts C++20.
Commit: 956836c830442e525039d4c04599511e61bb00fc
https://github.com/llvm/llvm-project/commit/956836c830442e525039d4c04599511e61bb00fc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorSymbolDef.h
Log Message:
-----------
[Orc] Migrate ExecutorAddr::rawPtr to llvm::identity_cxx20 (NFC) (#164364)
This patch updates ExecutorAddr::rawPtr to use llvm::identity_cxx20 to
better align with C++20.
Note that llvm::identity is a templated struct, while
llvm::identity_cxx20 is a non-templated struct with a templated
operator().
This patch makes rawPtr a non-templated type alias and adjusts use
sites.
Commit: a34e8c34d34dd1523065eb0d7b62245fa2fb3b36
https://github.com/llvm/llvm-project/commit/a34e8c34d34dd1523065eb0d7b62245fa2fb3b36
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/docs/TableGen/BackGuide.rst
Log Message:
-----------
[llvm] Proofread TableGen/BackGuide.rst (#164365)
Commit: 1e99026b45b048a52f8372399ab83d488132842e
https://github.com/llvm/llvm-project/commit/1e99026b45b048a52f8372399ab83d488132842e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/SemaCXX/constexpr-string.cpp
Log Message:
-----------
[clang][bytecode] Fix `__builtin_strchr` with unsigned chars (#164410)
Get the zero-extended truncated desired value in that case. Add one RUN
line to the constexpr-string.cpp test case, to not increase the runtime
of that test too much.
Commit: fedbb0f7e1e2e89743f7e19e54cda228fe2e65ef
https://github.com/llvm/llvm-project/commit/fedbb0f7e1e2e89743f7e19e54cda228fe2e65ef
Author: Ren Hiyama <renhiyama at rovelstars.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M libc/src/math/generic/asinpif16.cpp
Log Message:
-----------
[libc] Capture 'POLY_COEFFS' by reference in asinpi_polyeval lambda. (#164404)
Closes #164403
GCC fails to compile libc currently. This PR fixes this by capturing
'POLY_COEFFS' by reference.
Commit: 48a99ad1fa8b3fe7c0f23f02e95e6c23e145429d
https://github.com/llvm/llvm-project/commit/48a99ad1fa8b3fe7c0f23f02e95e6c23e145429d
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M libc/include/CMakeLists.txt
Log Message:
-----------
[libc] Add llvm-libc-types header deps for <complex.h>. (#164422)
complex.yaml declares types cfloat16, cfloat128 and float128 in its
'types' section, causing the output complex.h to #include three headers
with names of the form "llvm-libc-types/cfloat16.h". But
include/CMakeLists.txt doesn't mention those types as dependencies in
the `add_header_macro` call for complex.h. As a result, cfloat16.h and
cfloat128.h are not installed by the 'install' target, but complex.h
still tries to to include them.
The third type header, float128.h, doesn't have this problem because the
`add_header_macro` math.h does mention it as a dependency. So I've added
all three headers as dependencies in complex.h, following the same
pattern, and now the install target installs the missing two headers.
Commit: 550b62cbcbcb1ec8ec16c2dc0812bc23383962d6
https://github.com/llvm/llvm-project/commit/550b62cbcbcb1ec8ec16c2dc0812bc23383962d6
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
A clang/test/CodeGen/call-graph-section-callback.cpp
A clang/test/CodeGen/call-graph-section-templates.cpp
A clang/test/CodeGen/call-graph-section-virtual-methods.cpp
A clang/test/CodeGen/call-graph-section.c
A clang/test/CodeGen/call-graph-section.cpp
Log Message:
-----------
[clang] callee_type metadata for indirect calls (#163233)
Create and add generalized type identifier metadata to indirect calls,
and to functions which are potential indirect call targets.
The functions carry the !type metadata. The indirect callsites carry a
list of !type metadata values under !callee_type metadata.
RFC:
https://discourse.llvm.org/t/rfc-call-graph-information-from-clang-llvm-for-c-c/88255
Commit: abf80b54bc752dc44f821da1fa9d2d3117a3c8c0
https://github.com/llvm/llvm-project/commit/abf80b54bc752dc44f821da1fa9d2d3117a3c8c0
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M libcxx/include/__algorithm/for_each.h
Log Message:
-----------
[libc++][IWYU] Remove `std::move` header in `std::for_each` (#164272)
It seems this was accidentally included; there's no use of std::move in
this header.
Commit: 9e7209c06115f5b0c750b7a1fe837ac10a6739a3
https://github.com/llvm/llvm-project/commit/9e7209c06115f5b0c750b7a1fe837ac10a6739a3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Clean up variable creation (#164415)
Commit: 2ec01e430a5d2f05f379bdd6256a54ba2ec70eaa
https://github.com/llvm/llvm-project/commit/2ec01e430a5d2f05f379bdd6256a54ba2ec70eaa
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Move two VPBlockUtils members (NFC) (#162507)
Commit: 554ea40b575c4ccd1f420aad08c77176444981ee
https://github.com/llvm/llvm-project/commit/554ea40b575c4ccd1f420aad08c77176444981ee
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaBase.h
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
Log Message:
-----------
[NFC][Clang][Diagnostics] Remove the DeferHint parameter of Diags(...) in favour of DeferHintRAII (#161517)
The `DeferHint` was misused at several callsites, where a `Decl*` was
implicitly casted to `bool`.
This patch proposes removing the `DeferHint` parameter and relying on
`DeferDiagsRAII` to set if Clang should defer the diagnostics.
Commit: 5b3416caf91f770b6e50fa1cb593d5772a7f6c97
https://github.com/llvm/llvm-project/commit/5b3416caf91f770b6e50fa1cb593d5772a7f6c97
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/dev/undefined_behavior.rst
M libc/include/arpa/inet.yaml
M libc/src/arpa/inet/CMakeLists.txt
A libc/src/arpa/inet/inet_aton.cpp
A libc/src/arpa/inet/inet_aton.h
M libc/test/src/arpa/inet/CMakeLists.txt
A libc/test/src/arpa/inet/inet_aton_test.cpp
Log Message:
-----------
[libc] implement `inet_aton` (#162651)
This patch adds the implementation for `inet_aton` function. Since this
function is not explicitly included in POSIX, I have marked it with
`llvm_libc_ext`. It is widely available and commonly used, and can also
be used to implement `inet_addr`, which is included in POSIX.
Commit: 23339c4fc622e2d627c651b92ba5435811b4d5e4
https://github.com/llvm/llvm-project/commit/23339c4fc622e2d627c651b92ba5435811b4d5e4
Author: Lucie Choi <clucie at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-resources/TypedBufferLoad.ll
Log Message:
-----------
[SPIR-V] Use `OpImageFetch` instead of `OpImageRead` when loading from read-only `Buffer` resource. (#163626)
Currently, the spir-v validator fails if `OpImageRead` instruction is
used when loading from read-only `Buffer`.
### Unit Test
```hlsl
RWBuffer<uint> rwbuff;
Buffer<uint> buff;
[numthreads(1,1,1)]
void main() {
rwbuff[99] = buff[98];
rwbuff[97] = rwbuff[96];
}
```
This also unblocks adding a test case that adds a special capability
when using a non-uniform index on `Buffer` arrays.
(https://github.com/llvm/llvm-project/pull/162540).
Resolves https://github.com/llvm/llvm-project/issues/162891
Commit: 6d5dea63eda988bc8dcdd283f77531f7900b88ca
https://github.com/llvm/llvm-project/commit/6d5dea63eda988bc8dcdd283f77531f7900b88ca
Author: David Green <david.green at arm.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/llround-conv.ll
M llvm/test/CodeGen/ARM/lround-conv.ll
Log Message:
-----------
[ARM][SDAG] Add llvm.lround half promotion. (#164235)
Similar to #161088, add llvm.lround and llvm.llround promotion.
Commit: 3161e160c147882d36f572b0a834bb138898738b
https://github.com/llvm/llvm-project/commit/3161e160c147882d36f572b0a834bb138898738b
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/atomic.c
A clang/test/CIR/IR/invalid-atomic.cir
Log Message:
-----------
[CIR] Atomic fetch operation (#161631)
This patch adds CIR support for atomic fetch-and-update operations,
including the intrinsic functions `__atomic_fetch_<binop>`,
`__atomic_<binop>_fetch`, and `__c11_atomic_fetch_<binop>`, where
`<binop>` could be `add`, `sub`, `max`, `min`, `and`, `or`, `xor`, and
`nand`.
Commit: 0c0ad1179b3097d49e30e46ed2dcc97f1f13932c
https://github.com/llvm/llvm-project/commit/0c0ad1179b3097d49e30e46ed2dcc97f1f13932c
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
A flang/test/Lower/OpenACC/acc-declare-common-in-function.f90
Log Message:
-----------
[acc][flang] lowering of acc declare on COMMON variables (#163676)
COMMON variables are treated as locals and lowered to structured
declares currently. This is incorrect because variables that are COMMON
should be treated as globals. Added implementation to treat these
variables differently.
Commit: fb870cb47fc549a9efc20ecf50726269a2aa9677
https://github.com/llvm/llvm-project/commit/fb870cb47fc549a9efc20ecf50726269a2aa9677
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/WaitingOnGraphTest.cpp
Log Message:
-----------
[ORC] Fix unused variable warning (#164444)
This fixes a potentially unused variable that's only used in an assert.
This is a fix for #164340.
Commit: b1322c4bee0f6aa62d6c9a95c42109efc9e7cc54
https://github.com/llvm/llvm-project/commit/b1322c4bee0f6aa62d6c9a95c42109efc9e7cc54
Author: Andrew Haberlandt <ndrewh at users.noreply.github.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/cmake/config-ix.cmake
Log Message:
-----------
[compiler-rt] [CMake] Skip find_darwin_sdk_dir on disabled platforms (#163591)
find_darwin_sdk_dir can be slow, especially if xcrun does not
immediately find the corresponding SDK (i.e. because it is missing).
This skips those checks if the user has already set the corresponding
CMake variable to disable the platform anyway.
Commit: 3155b0504401344279e496da107b3eab0e7295bc
https://github.com/llvm/llvm-project/commit/3155b0504401344279e496da107b3eab0e7295bc
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/builtin_inline.c
Log Message:
-----------
[CIR] Implement inline builtin functions (#163911)
This patch implements the handling of inline builtin functions in CIR.
There is a known limitation in CIR where direct calls to shadowed inline
builtin functions are generated instead of the intrinsic. This is
expected to be fixed by the introduction of the nobuiltin attribute in a
future patch.
Commit: 311a199e2178a9127953e9632434c2e82822e98b
https://github.com/llvm/llvm-project/commit/311a199e2178a9127953e9632434c2e82822e98b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
A llvm/test/CodeGen/X86/bitcnt-big-integer.ll
Log Message:
-----------
[X86] Add ctpop/ctlz/cttz test coverage for very large integers (#164450)
Inspired by #164275
Commit: 70f70390bb83a383fcb88ea843adbc4edf6ee34b
https://github.com/llvm/llvm-project/commit/70f70390bb83a383fcb88ea843adbc4edf6ee34b
Author: slachowsky <stephan.lachowsky at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
A clang/test/Preprocessor/riscv-atomics.c
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
M llvm/test/CodeGen/RISCV/atomic-fence.ll
M llvm/test/CodeGen/RISCV/atomic-load-store.ll
M llvm/test/CodeGen/RISCV/atomic-rmw-sub.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
Log Message:
-----------
[RISCV][LLVM] Enable atomics for 'Zalrsc' (#163672)
The 'A' atomics extension is composed of two subextensions, 'Zaamo'
which has atomic memory operation instructions, and 'Zalrsc' which has
load-reserve / store-conditional instructions.
For machines where 'Zalrsc' is present, but 'Zaamo' is not, implement
and enable atomics memory operations through pseudo expansion. Updates the
predication and lowering control to be more precise about which 'Zaamo'/'Zalrsc'
feature was truly requisite.
There will be no functional change to subtargets supporting 'A', while
allowing 'Zalrsc' only subtargets to utilize atomics at an increased code
footprint.
Commit: 8dbc1527f7ad4197dfff8ea598634a8063bb6083
https://github.com/llvm/llvm-project/commit/8dbc1527f7ad4197dfff8ea598634a8063bb6083
Author: Marco Elver <elver at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/Transforms/Instrumentation/AllocToken.cpp
A llvm/test/Instrumentation/AllocToken/intrinsic.ll
A llvm/test/Instrumentation/AllocToken/intrinsic32.ll
Log Message:
-----------
[AllocToken] Introduce llvm.alloc.token.id intrinsic (#163632)
Introduce a new intrinsic, `llvm.alloc.token.id`, to allow compile-time
querying of allocation token IDs.
The `AllocToken` pass is taught to recognize and lower this intrinsic.
It extracts the `!alloc_token` metadata from the intrinsic's argument,
feeds it into the same token-generation logic used for instrumenting allocation
calls, and replaces the intrinsic with the resulting constant integer token ID.
This is a prerequisite for `__builtin_infer_alloc_token`. The pass now
runs on all functions to ensure intrinsics are lowered, but continues to
only instrument allocation calls in functions with the
`sanitize_alloc_token` attribute.
Commit: f4421ffe29e846fb93e61dba04adeb963367506e
https://github.com/llvm/llvm-project/commit/f4421ffe29e846fb93e61dba04adeb963367506e
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-dwarfdump.rst
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
Log Message:
-----------
[llvm][dwarfdump][docs] Mention DW_AT_linkage_name in --name doc (#164433)
The `llvm-dwarfdump --name=<name>` option accepts `DW_AT_linkage_name`
names too.
Commit: e45b72da82a3ace02db19bccedbec7e4f94191c5
https://github.com/llvm/llvm-project/commit/e45b72da82a3ace02db19bccedbec7e4f94191c5
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
Log Message:
-----------
[lldb][ObjC][NFC] Use early-return in AppleObjCDeclVendor::FindDecls (#164371)
Was browsing through this and the do/while loop (in addition to the
local `ret` counter which only ever gets incremented at most once) were
hard to reason about imo. This patch removes both in favour of
early-returns.
Commit: cc77d76a9e5069855e82cec5b6ddb93e8b7bcca9
https://github.com/llvm/llvm-project/commit/cc77d76a9e5069855e82cec5b6ddb93e8b7bcca9
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M lldb/include/lldb/Symbol/DeclVendor.h
M lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
R lldb/source/Plugins/ExpressionParser/Clang/ClangDeclVendor.cpp
R lldb/source/Plugins/ExpressionParser/Clang/ClangDeclVendor.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.h
M llvm/utils/gn/secondary/lldb/source/Plugins/ExpressionParser/Clang/BUILD.gn
Log Message:
-----------
[lldb][DeclVendor] Remove ClangDeclVendor (#164380)
The `ClangDeclVendor` used to contain more Clang-specific code than it
does nowadays. But at this point, all it does is wrap the
`DeclVendor::FindDecls` call and copy the resulting decls into
`std::vector<clang::NamedDecl*>`. I.e., it converts the generic
`CompilerDecl`s to `clang::NamedDecl*`s.
In my opinion at this point it doesn't do enough to justify making it
part of the `DeclVendor` hierarchy.
This patch removes the `ClangDeclVendor` and instead does the conversion
at callsite.
Commit: 9c42b3efc371d961787c3d55abfd1dc17f073e83
https://github.com/llvm/llvm-project/commit/9c42b3efc371d961787c3d55abfd1dc17f073e83
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-and-or.ll
M llvm/test/Transforms/InstCombine/select-safe-transforms.ll
Log Message:
-----------
[InstCombine][profcheck] Preserve profile with negated select conditionals (#164342)
If a select instruction is replaced with one whose conditional is the
negation of the original, then the replacement's branch weights are the
reverse of the original's.
Tracking issue: #147390
Commit: 728781644c00c62d7fa4a47ec081adc1f2fa26f5
https://github.com/llvm/llvm-project/commit/728781644c00c62d7fa4a47ec081adc1f2fa26f5
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/unittests/CAS/OnDiskGraphDBTest.cpp
M llvm/unittests/CAS/OnDiskKeyValueDBTest.cpp
Log Message:
-----------
[CAS] Fix test fallouts from #114102 (#164457)
Fix MSAN failure and expensive test failure.
Commit: 3c77b49797ccf5714c6dec9660b8e4a066c8f340
https://github.com/llvm/llvm-project/commit/3c77b49797ccf5714c6dec9660b8e4a066c8f340
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MIR2Vec.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/MIR2Vec.cpp
A llvm/test/CodeGen/MIR2Vec/Inputs/mir2vec_dummy_3D_vocab.json
A llvm/test/CodeGen/MIR2Vec/if-else.mir
A llvm/test/CodeGen/MIR2Vec/mir2vec-basic-symbolic.mir
M llvm/test/CodeGen/MIR2Vec/vocab-error-handling.ll
M llvm/tools/llc/llc.cpp
M llvm/unittests/CodeGen/MIR2VecTest.cpp
Log Message:
-----------
[MIR2Vec] Add embedder for machine instructions (#162161)
Implement MIR2Vec embedder for generating vector representations of Machine IR instructions, basic blocks, and functions. This patch introduces changes necessary to *embed* machine opcodes. Machine operands would be handled incrementally in the upcoming patches.
Commit: 4a1ea3e4a973b1b742ce578661017a3f3eb6acfe
https://github.com/llvm/llvm-project/commit/4a1ea3e4a973b1b742ce578661017a3f3eb6acfe
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang-rt/lib/cuda/kernel.cpp
Log Message:
-----------
Revert "[flang][cuda][rt] Canonicalize block size values" (#164460)
Reverts llvm/llvm-project#164321
Align behavior with other CUDA Compiler
Commit: 513f9c50e74e55b7f8dedf65105bdc1083d4f83d
https://github.com/llvm/llvm-project/commit/513f9c50e74e55b7f8dedf65105bdc1083d4f83d
Author: lntue <lntue at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/cosf.h
A libc/src/__support/math/sincosf_float_eval.h
M libc/src/math/generic/sinf.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/cosf_float_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/cosf_float_test.cpp
M libc/test/src/math/exhaustive/exhaustive_test.h
A libc/test/src/math/exhaustive/sinf_float_test.cpp
A libc/test/src/math/sinf_float_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Add float-only implementation for sinf / cosf. (#161680)
Based on the double precision's sin/cos fast path algorithm:
Step 1: Perform range reduction `y = x mod pi/8` with target errors <
2^-54.
This is because the worst case mod pi/8 for single precision is ~2^-31,
so to have up to 1 ULP errors from
the range reduction, the targeted errors should `be 2^(-31 - 23) =
2^-54`.
Step 2: Polynomial approximation
We use degree-5 and degree-4 polynomials to approximate sin and cos of
the reduced angle respectively.
Step 3: Combine the results using trig identities
```math
\begin{align*}
\sin(x) &= \sin(y) \cdot \cos(k \cdot \frac{\pi}{8}) + \cos(y) \cdot \sin(k \cdot \frac{\pi}{8}) \\
\cos(x) &= \cos(y) \cdot \cos(k \cdot \frac{\pi}{8}) - \sin(y) \cdot \sin(k \cdot \frac{\pi}{8})
\end{align*}
```
Overall errors: <= 3 ULPs for default rounding modes (tested
exhaustively).
Current limitation: large range reduction requires FMA instructions for
binary32. This restriction will be removed in the followup PR.
---------
Co-authored-by: Petr Hosek <phosek at google.com>
Commit: 321a419960175ce2fc4c35d9513065e6e717259c
https://github.com/llvm/llvm-project/commit/321a419960175ce2fc4c35d9513065e6e717259c
Author: Lucie Choi <clucie at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/test/CodeGen/SPIRV/hlsl-resources/DynamicIdx/RWBufferDynamicIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/DynamicIdx/RWStructuredBufferDynamicIdx.ll
Log Message:
-----------
[SPIR-V] Fix unit tests for dynamic indexing to add validation step. (#164455)
Add attributes to the unit tests required to pass `spirv-val`.
Addresses https://github.com/llvm/llvm-project/issues/161852
Commit: 12abe8aed6dc724546cf93c94d7ff6abe864f28b
https://github.com/llvm/llvm-project/commit/12abe8aed6dc724546cf93c94d7ff6abe864f28b
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/nl_catd.h
A libc/include/nl_types.yaml
M libc/src/CMakeLists.txt
A libc/src/nl_types/CMakeLists.txt
A libc/src/nl_types/catclose.cpp
A libc/src/nl_types/catclose.h
A libc/src/nl_types/catgets.cpp
A libc/src/nl_types/catgets.h
A libc/src/nl_types/catopen.cpp
A libc/src/nl_types/catopen.h
M libc/test/src/CMakeLists.txt
A libc/test/src/nl_types/CMakeLists.txt
A libc/test/src/nl_types/nl_types_test.cpp
Log Message:
-----------
[libc] Stub out message catalog functions from <nl_types.h> (#164360)
Create a POSIX `<nl_types.h>` header with `catopen`, `catclose`, and
`catgets` function declarations.
Provide the stub/placeholder implementations which always return error.
This is consistent with the way
locales are currently (un-)implemented in llvm-libc.
Notably, providing `<nl_types.h>` fixes the last remaining issue with
building libc++ against llvm-libc
(on certain configuration of x86_64 Linux) after disabling threads and
wide-characters in libc++.
Commit: d019a02a198c0eb41310feddda9c63036bf42366
https://github.com/llvm/llvm-project/commit/d019a02a198c0eb41310feddda9c63036bf42366
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.h
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/test/CIR/CodeGen/try-catch.cpp
Log Message:
-----------
[CIR] Upstream Exception CXXTryStmt (#162528)
Upstream the basic support for the C++ try catch statement with a try
block that doesn't contain any call instructions and with a catch-all
statement
Issue #154992
Commit: e1e4154023a81f013c4fcf5d202ffba6033295de
https://github.com/llvm/llvm-project/commit/e1e4154023a81f013c4fcf5d202ffba6033295de
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M mlir/lib/IR/Diagnostics.cpp
Log Message:
-----------
[mlir] Partially revert #162903 (#164464)
With #163862, this is not really necessary and causes downstream issues.
Commit: 925b10656b80be3322316251fcbcfa580607f01a
https://github.com/llvm/llvm-project/commit/925b10656b80be3322316251fcbcfa580607f01a
Author: Cameron McInally <cameron.mcinally at nyu.edu>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang/docs/FortranLLVMTestSuite.md
Log Message:
-----------
[Flang][Tests] Remove GPL notice to GFortran test suite documentation. (#162332)
Originally #161912, we've now decided that an explicit GPL notification
is redundant with the LICENSE file, which is a common convention for
relaying this information.
Co-authored-by: Cameron McInally <cmcinally at nvidia.com>
Commit: d4713ecb6dbe2d6b1f586508b47ad9391da51d66
https://github.com/llvm/llvm-project/commit/d4713ecb6dbe2d6b1f586508b47ad9391da51d66
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M lldb/test/API/CMakeLists.txt
Log Message:
-----------
[lldb][windows] add a warning if CMake's version is inferior to 3.30 (#164346)
https://github.com/llvm/llvm-project/pull/140443 makes use of the CMake
variable `Python3_EXECUTABLE_DEBUG`, which was introduced in CMake
version 3.30. On systems with an inferior version of cmake, the lit
tests will try to run with an empty `config.python_executable`.
This PR adds a warning and falls back to using `Python3_EXECUTABLE` if
the CMake version is less than `3.30`.
Commit: 2219119edcbce63d650b7759102afe3cbb8709af
https://github.com/llvm/llvm-project/commit/2219119edcbce63d650b7759102afe3cbb8709af
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/unittests/CodeGen/MIR2VecTest.cpp
Log Message:
-----------
[MIR2Vec] Fix to skip tests in MIR2VecEmbeddingTestFixture (#164467)
Fixes test failure issues (caused by #162161) in Windows buildbots.
Commit: 7b190b79d9547d7a9e327444c623fef89631df03
https://github.com/llvm/llvm-project/commit/7b190b79d9547d7a9e327444c623fef89631df03
Author: Petr Hosek <phosek at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/test/Driver/arm-abi.c
M clang/test/Driver/fuchsia.c
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/lib/TargetParser/ARMTargetParser.cpp
Log Message:
-----------
[Clang][LLVM] Support for Fuchsia on ARM (#163848)
This introduces the support for 32-bit ARM Fuchsia target which uses the
aapcs-linux ABI defaulting to thumbv8a as the target.
Commit: 297f97298c8054b1fdf775f60378a5a5705f76d7
https://github.com/llvm/llvm-project/commit/297f97298c8054b1fdf775f60378a5a5705f76d7
Author: pkarveti <quic_pkarveti at quicinc.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
A llvm/test/CodeGen/Hexagon/bitcast-i64-to-v64i1.ll
Log Message:
-----------
[Hexagon] Handle bitcast of i64 -> v64i1 when Hvx is enabled (#163332)
Partially Fixes #160806
Commit: c208a23643231d0b19c6f795895a16dfe6797340
https://github.com/llvm/llvm-project/commit/c208a23643231d0b19c6f795895a16dfe6797340
Author: Raul Tambre <raul at tambre.ee>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M compiler-rt/lib/asan/asan_rtl_x86_64.S
M compiler-rt/lib/builtins/assembly.h
M compiler-rt/lib/hwasan/hwasan_setjmp_x86_64.S
M compiler-rt/lib/orc/elfnix_tls.x86-64.S
M compiler-rt/lib/orc/sysv_reenter.x86-64.S
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S
M compiler-rt/lib/tsan/rtl/tsan_rtl_amd64.S
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/UnwindRegistersSave.S
M openmp/runtime/src/z_Linux_asm.S
Log Message:
-----------
[NFCI][asm][i386/x86-64] Enable AT&T syntax explicitly (#164453)
Implementation files using the Intel syntax explicitly specify it.
Do the same for the few files using AT&T syntax.
This also enables building LLVM with `-mllvm -x86-asm-syntax=intel` in one's Clang config files
(i.e. a global preference for Intel syntax).
No functional change intended.
Commit: bcf726793719c41ffc1a26fa421107bc98282d63
https://github.com/llvm/llvm-project/commit/bcf726793719c41ffc1a26fa421107bc98282d63
Author: Finn Plummer <mail at inbelic.dev>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILPrepare.cpp
A llvm/test/CodeGen/DirectX/strip-llvm-errno-tbaa.ll
Log Message:
-----------
[DirectX] remove unrecognized 'llvm.errno.tbaa' named metadata for DXIL target (#164472)
This is a temporary measure to explicitly remove the unrecognized named
metadata when targeting DXIL.
This should be removed for an allowlist as tracked here:
https://github.com/llvm/llvm-project/issues/164473.
Commit: f2cb99751882bdd96c683cdeb9e8c5301cbb51cc
https://github.com/llvm/llvm-project/commit/f2cb99751882bdd96c683cdeb9e8c5301cbb51cc
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Target/Process.cpp
M lldb/unittests/Target/MemoryTest.cpp
Log Message:
-----------
[lldb] Implement Process::ReadMemoryRanges (#163651)
This commit introduces a base-class implementation for a method that
reads memory from multiple ranges at once. This implementation simply
calls the underlying `ReadMemoryFromInferior` method on each requested
range, intentionally bypassing the memory caching mechanism (though this
may be easily changed in the future).
`Process` implementations that can be perform this operation more
efficiently - e.g. with the MultiMemPacket described in [1] - are
expected to override this method.
As an example, this commit changes AppleObjCClassDescriptorV2 to use the
new API.
Note about the API
------------------
In the RFC, we discussed having the API return some kind of class
`ReadMemoryRangesResult`. However, while writing such a class, it became
clear that it was merely wrapping a vector, without providing anything
useful. For example, this class:
```
struct ReadMemoryRangesResult {
ReadMemoryRangesResult(
llvm::SmallVector<llvm::MutableArrayRef<uint8_t>> ranges)
: ranges(std::move(ranges)) {}
llvm::ArrayRef<llvm::MutableArrayRef<uint8_t>> getRanges() const {
return ranges;
}
private:
llvm::SmallVector<llvm::MutableArrayRef<uint8_t>> ranges;
};
```
As can be seen in the added test and in the added use-case
(AppleObjCClassDescriptorV2), users of this API will just iterate over
the vector of memory buffers. So they want a return type that can be
iterated over, and the vector seems more natural than creating a new
class and defining iterators for it.
Likewise, in the RFC, we discussed wrapping the result into an
`Expected`. Upon experimenting with the code, this feels like it limits
what the API is able to do as the base class implementation never needs
to fail the entire result, it's the individual reads that may fail and
this is expressed through a zero-length result. Any derived classes
overriding `ReadMemoryRanges` should also never produce a top level
failure: if they did, they can just fall back to the base class
implementation, which would produce a better result.
The choice of having the caller allocate a buffer and pass it to
`Process::ReadMemoryRanges` is done mostly to follow conventions already
done in the Process class.
[1]:
https://discourse.llvm.org/t/rfc-a-new-vectorized-memory-read-packet/
Commit: 82b59345fea7f450f314fead42520d591a1933b3
https://github.com/llvm/llvm-project/commit/82b59345fea7f450f314fead42520d591a1933b3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Clarify naming for helpers to create loop&replicate regions (NFC)
Split off to clarify naming, as suggested in
https://github.com/llvm/llvm-project/pull/156262.
Commit: f2b20d3410e4c0cc3be4a5b69e00120cab9f1d5e
https://github.com/llvm/llvm-project/commit/f2b20d3410e4c0cc3be4a5b69e00120cab9f1d5e
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang/include/flang/Lower/DirectivesCommon.h
M flang/include/flang/Utils/OpenMP.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/OpenMP/AutomapToTargetData.cpp
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Utils/OpenMP.cpp
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/common-block-map.f90
M flang/test/Lower/OpenMP/declare-mapper.f90
M flang/test/Lower/OpenMP/defaultmap.f90
M flang/test/Lower/OpenMP/has_device_addr-mapinfo.f90
M flang/test/Lower/OpenMP/local-intrinsic-sized-array-map.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Transforms/DoConcurrent/map_shape_info.f90
M flang/test/Transforms/DoConcurrent/non_reference_to_device.f90
M flang/test/Transforms/OpenMP/lower-workdistribute-fission-host.mlir
M flang/test/Transforms/OpenMP/lower-workdistribute-fission-target.mlir
M flang/test/Transforms/omp-map-info-finalization.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[Flang][OpenMP][Dialect] Swap to using MLIR dialect enum to encode map flags (#164043)
This PR shifts from using the LLVM OpenMP enumerator bit flags to an
OpenMP dialect specific enumerator. This allows us to better represent
map types that wouldn't be of interest to the LLVM backend and runtime
in the dialect.
Primarily things like
ref_ptr/ref_ptee/ref_ptr_ptee/atach_none/attach_always/attach_auto which
are of interest to the compiler for certrain transformations (primarily
in the FIR transformation passes dealing with mapping), but the runtime
has no need to know about them. It also means if another OpenMP
implementation comes along they won't need to stick to the same bit flag
system LLVM chose/do leg work to address it.
Commit: 9a9fbbba5c81efed72c08a70bbe58427190d69db
https://github.com/llvm/llvm-project/commit/9a9fbbba5c81efed72c08a70bbe58427190d69db
Author: Congzhe <congzhe.cao at huawei.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
A llvm/test/Transforms/InstCombine/select_with_identical_phi.ll
Log Message:
-----------
[InstructionSimplify] Enhance simplifySelectInst() (#163453)
Fold select instructions with true and false values that act as the same
phi, which cleans up the IR and open up opportunities for other passes
such as loop vectorization.
Commit: e1ee75f217766548f26bc644aeb675b6bfad5c62
https://github.com/llvm/llvm-project/commit/e1ee75f217766548f26bc644aeb675b6bfad5c62
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
A clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
Log Message:
-----------
[CIR][NFC] Add infrastructure for handling X86 builtins (#164465)
This adds the infrastructure for handling x86-specific builtin calls. It
does not add any actual handling, just the code structure and a large
switch statement containing all of the builtins that will eventually
need to be handled. Target-specific builtins for other targets will be
added later.
Commit: e960f1ec47c3e0060e3031432293c8a1c99381cb
https://github.com/llvm/llvm-project/commit/e960f1ec47c3e0060e3031432293c8a1c99381cb
Author: Max Desiatov <m_desiatov at apple.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
Log Message:
-----------
Refine `qWasmCallStack` documentation (#163803)
`qWasmCallStack` documentation is not clear enough in how the list of PC
values is delimited and the size of these values.
Commit: 116b94ce7900b79d5c4b84456da26d8e40dbae3b
https://github.com/llvm/llvm-project/commit/116b94ce7900b79d5c4b84456da26d8e40dbae3b
Author: jiang1997 <jieke at live.cn>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/test/CIR/CodeGen/new.cpp
Log Message:
-----------
[CIR] Add array new cookie support (#163649)
This patch adds the minimal support for array cookies needed to enable
ClangIR generation for an array new expression that requires cookies but
does not require an explicit initializer.
This only provides the cookie support for the base Itanium CXXABI.
Different cookie calculations are required for AppleARM64, which will be
added in a subsequent patch.
Ported from ClangIR incubator PR
https://github.com/llvm/clangir/pull/1297.
This is the second PR in a series intended to address
https://github.com/llvm/llvm-project/issues/160383.
---------
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
Commit: 41cc0de595ebad1af7d88e1f0a0d439a399e85bd
https://github.com/llvm/llvm-project/commit/41cc0de595ebad1af7d88e1f0a0d439a399e85bd
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/struct.cpp
Log Message:
-----------
[CIR] Const member expr for struct type (#164172)
Upstream support the const member expr for struct type
Commit: dab1148cfa2c1e51bf1b9af5587d0afecb084279
https://github.com/llvm/llvm-project/commit/dab1148cfa2c1e51bf1b9af5587d0afecb084279
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang/include/flang/Semantics/semantics.h
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/test/Fir/OpenACC/openacc-type-categories-class.f90
A flang/test/Semantics/OpenACC/bug1583.f90
Log Message:
-----------
[flang] Address OpenACC name resolution gaps (#164313)
Some OpenACC parsers aren't filling in the "source" data members of
parse tree nodes, or not doing so correctly; and some of those nodes are
not adding their source data members to the source ranges of the current
scope when being visited in name resolution, which causes
SemanticsContext::FindScope() to misidentify the current scope in
directive resolution when creating contexts. Further, the name
resolution for a "use_device" clause isn't walking its subtrees, so some
parser::Name nodes are not being resolved to Symbols.
Fix these problems, and clean up resolve-directives.cpp a bit, since
most Name nodes don't need to have their symbol table pointers updated
now.
Commit: ef9494b27c64bd63b5a23c74baa7b5e444957013
https://github.com/llvm/llvm-project/commit/ef9494b27c64bd63b5a23c74baa7b5e444957013
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/bug164303.f90
Log Message:
-----------
[flang] Non-generic interface must shadow outer generic (#164469)
A procedure defined in non-generic INTERFACE block must completely
shadow any generic interface of the same name in an outer scope.
Fixes https://github.com/llvm/llvm-project/issues/164303.
Commit: d5103c1254a89d6222777303ca2057a10934e45b
https://github.com/llvm/llvm-project/commit/d5103c1254a89d6222777303ca2057a10934e45b
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
A flang/test/Preprocessing/bug164470.cuf
Log Message:
-----------
[flang] Line continuation for !@acc and !@cuf conditional lines (#164475)
Some Fortran source-level features that work for OpenMP !$ conditional
lines, such as free form line continuation, don't work for OpenACC !@acc
or CUDA !@cuf conditional lines. Make them less particular.
Fixes https://github.com/llvm/llvm-project/issues/164470.
Commit: f6799d2899ef689a5e4d55beef9b52914d2ae95f
https://github.com/llvm/llvm-project/commit/f6799d2899ef689a5e4d55beef9b52914d2ae95f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/Twine.h
Log Message:
-----------
[NFC][LLVM][Twine] Change a few `const StringRef &` arguments to value (#163994)
Per LLVM Programmer's Manual, StringRef should always be passed by
value. Enforcing this for `Twine` functions.
Commit: 419fbf906b7d21808fdf768f07e4791a24b22c99
https://github.com/llvm/llvm-project/commit/419fbf906b7d21808fdf768f07e4791a24b22c99
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[FlowSensitive] [StatusOr] [3/N] Support absl::Status ops (#163868)
`absl::StatusOr::status` allows extraction of the status associated with
a StatusOr value. That can also be used to check whether the StatusOr
has a value or not.
This makes sure code like this is checked properly:
```cpp
int target(absl::StatusOr<int> SOR) {
if (SOR.status().ok())
return *SOR;
return 0;
}
```
Commit: 1b2532e1df278babbf612ebbf8352fd4e82eea52
https://github.com/llvm/llvm-project/commit/1b2532e1df278babbf612ebbf8352fd4e82eea52
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang-rt/lib/cuda/kernel.cpp
Log Message:
-----------
[flang][cuda][rt] Do not check error on kernel launch (#164463)
Align behavior with other CUDA compiler.
Commit: c5b53b1d659f249514a41dcde0f1e28ad4ffbc57
https://github.com/llvm/llvm-project/commit/c5b53b1d659f249514a41dcde0f1e28ad4ffbc57
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.h
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/statement-exprs.c
M clang/test/CIR/CodeGen/vla.c
Log Message:
-----------
[CIR] Handle return with cleanups (#163849)
This adds support for branching through a cleanup block when a return
statement is encountered while we're in a scope with cleanups.
Commit: 75cad42de2462caa1ebbf386361749d5da4d992a
https://github.com/llvm/llvm-project/commit/75cad42de2462caa1ebbf386361749d5da4d992a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-global-addr.mlir
Log Message:
-----------
[flang][cuda] Do not convert fir.declare op with no user (#164492)
Commit: 288ef04d2f19c5b0e4ce3cae450c63a365ab11e9
https://github.com/llvm/llvm-project/commit/288ef04d2f19c5b0e4ce3cae450c63a365ab11e9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github] Only look at previous commit for MacOS Premerge (#164483)
Otherwise we're looking for a commit that does not exist given the fetch
depth.
Fixes #164430.
Commit: 228a353dc6e69419360e3017bbadda1919803529
https://github.com/llvm/llvm-project/commit/228a353dc6e69419360e3017bbadda1919803529
Author: Ruoyu Zhong <zhongruoyu at outlook.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTestComments.cpp
Log Message:
-----------
[clang-format] Fix repeated backslash insertion in macro line comments (#164300)
Line comments in preprocessor directives were incorrectly marked as
continuing the directive, causing clang-format to add backslashes after
them on repeated runs. Backslashes appended after line comments in this
way do not continue the PP directive because the following line would
also become part of the comment.
Fix by unsetting `InPPDirective` in
`WhitespaceManager::replaceWhitespace` for line comments in two places:
when breaking lines and when formatting tokens on the same line. This
stops the spurious backslash insertion for both standalone line comments
after PP directives and trailing line comments after macro bodies.
Fixes https://github.com/llvm/llvm-project/issues/164282.
Signed-off-by: Ruoyu Zhong <zhongruoyu at outlook.com>
Commit: d52e78e33a1beff5274e812eb3c38cf9e2a549f0
https://github.com/llvm/llvm-project/commit/d52e78e33a1beff5274e812eb3c38cf9e2a549f0
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/add-max.ll
M llvm/test/CodeGen/AMDGPU/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/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] Add clamp support to v_add_{max|min}_{i|u}32 (#164489)
Commit: 0e8ee0ec78dc370a1bf2688411cf2db36c3a4cd0
https://github.com/llvm/llvm-project/commit/0e8ee0ec78dc370a1bf2688411cf2db36c3a4cd0
Author: Rahman Lavaee <rahmanl at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
Remove unnecessary static_cast<bool> in AsmPrinter.cpp.
Commit: 073335d056a39d273df4f395dd9cbad58657e207
https://github.com/llvm/llvm-project/commit/073335d056a39d273df4f395dd9cbad58657e207
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/unittests/CAS/OnDiskCommonUtils.h
M llvm/unittests/CAS/OnDiskKeyValueDBTest.cpp
Log Message:
-----------
[CAS] Fix msan failure attempt 2 (#164493)
Try to fix msan error again. Previously, the error wasn't correctly
identified as the uninitialized value is in a different function than
the line crashed. Make sure value return from hash generating function
is fully zero initialized.
Commit: 5129b37254f0c6e7aac94861e552156e920e2e6c
https://github.com/llvm/llvm-project/commit/5129b37254f0c6e7aac94861e552156e920e2e6c
Author: Siavash Nazari <siavash.nazari.1992 at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/ShardOps.td
A mlir/python/mlir/dialects/shard.py
A mlir/test/python/dialects/shard.py
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[MLIR][Python] Add shard Dialect Python Bindings (#162578)
Add Python bindings for `shard` dialect. Provide means for creating
constructs in this dialect in Python.
Commit: 841e1e1e17c3bd83e9eaa9e10a057b8217eb8de3
https://github.com/llvm/llvm-project/commit/841e1e1e17c3bd83e9eaa9e10a057b8217eb8de3
Author: John Harrison <harjohn at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
A lldb/bindings/interface/SBPlatformExtensions.i
M lldb/bindings/interfaces.swig
M lldb/include/lldb/API/SBPlatform.h
M lldb/source/API/SBPlatform.cpp
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
Log Message:
-----------
[lldb-dap] Send a 'process' event on restart. (#163833)
When we restart a process, send an updated 'process' event describing
the newly launched process.
I also updated the `isLocalProcess` value based on if we're on the
'host' platform or not.
Commit: 3728ac7dae5bfd92a2c7f8b27fd0748e913cbde4
https://github.com/llvm/llvm-project/commit/3728ac7dae5bfd92a2c7f8b27fd0748e913cbde4
Author: David Justo <david.justo.1996 at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/docs/DeveloperPolicy.rst
Log Message:
-----------
[Docs] [Developer Policy] Document best practice of not tagging a username in commit messages and PR descriptions (#164328)
Related to:
https://discourse.llvm.org/t/forbidding-username-in-commits/86997
**Context:**
When we merge a commit including tag to another username (e.g.
`@<someUser>`), that account will receive an email / notification every
time that PR is cherry-picked and pushed to a fork, generating _a lot_
of spam in the user's inbox. As of today, there's no way of disabling
this on GitHub settings.
**This PR** documents this error in our developer policy, and reminds
contributors to avoid it.
**Next steps:** I'm a big believer that any policy that is not enforced
via automation is not enforced at all, so I'd love to see some kind of
check to prevent this error. However, there does not seem to be an
agreement to do that _yet_. I'll see if I can gather support for doing
that.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 4cb91e79b6db916c47eacc839cbda6769e876aaa
https://github.com/llvm/llvm-project/commit/4cb91e79b6db916c47eacc839cbda6769e876aaa
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M flang/include/flang/Semantics/scope.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/scope.cpp
A flang/test/Semantics/OpenACC/acc-common.f90
Log Message:
-----------
[flang][OpenACC] Relax COMMON block usage restriction in OpenACC directives (#162659)
Unlike OpenMP, OpenACC doesn't require that the COMMON block be defined
in the same scope as the directive.
Commit: c89eb13e6e2b839ca4e6851849224a41d35f8637
https://github.com/llvm/llvm-project/commit/c89eb13e6e2b839ca4e6851849224a41d35f8637
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/test/CIR/CodeGen/struct-init.cpp
Log Message:
-----------
[CIR] Handle implicit value init constants (#164504)
This adds a handle for VisitImplicitValueInitExpr in ConstExprEmitter.
Commit: e29d4ebb89705162b588caf69b45581f1da3a45c
https://github.com/llvm/llvm-project/commit/e29d4ebb89705162b588caf69b45581f1da3a45c
Author: John Harrison <harjohn at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
Log Message:
-----------
[lldb-dap] Correct lldb-dap `seq` handling. (#164306)
We've been treating the `seq` attribute incorrectly in lldb-dap.
Previously, we always had `seq=0` for events and responses. We only
filled in the `seq` field on reverse requests.
However, looking at the spec and other DAP implementations, we are
supposed to fill in the `seq` field for each request we send to the DAP
client.
I've updated our usage to fill in `seq` in `DAP::Send` so that all
events/requests/responses have a properly filled `seq` value.
Commit: daa15f428338c586ab685ebf510471d215a941b7
https://github.com/llvm/llvm-project/commit/daa15f428338c586ab685ebf510471d215a941b7
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
Log Message:
-----------
[clang-doc] fix overlapping navbar (#164314)
The navbar has a height of 60px, but the sidebar didn't have any top
padding so it began underneath the navbar. Now the sidebar has a top
padding of 60px.
Commit: 5f20b5a267a8739216bba1c4f19b9e50d472bf40
https://github.com/llvm/llvm-project/commit/5f20b5a267a8739216bba1c4f19b9e50d472bf40
Author: Thomas Applencourt <tapplencourt at anl.gov>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[clang] Fix Typo on cindex.py (#92945)
Co-authored-by: Thomas Applencourt <TApplencourt at users.noreply.github.com>
Commit: fde69fd0bcb139092df370f13ef8b61ebd658105
https://github.com/llvm/llvm-project/commit/fde69fd0bcb139092df370f13ef8b61ebd658105
Author: LeeYoungJoon <dog3hk.dev at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/docs/QualGroup.rst
Log Message:
-----------
[QualGroup][docs] Document decision-taking process and refresh sync-up materials (#163122)
## Summary
This PR documents the LLVM Qualification Working Group’s decision-taking
process and updates the latest sync-up meeting materials.
## Changes
* Added a new **Decision Taking** section describing:
* Principles (consensus-first, inclusiveness, transparency)Discussion
time limits
* Voting procedure
* Documentation of outcomes
* Updated Meeting Materials with the October 2025 presentation slides.
## Background
The LLVM Qualification Working Group aims to ensure decisions are made
transparently and collaboratively.
This new section documents how proposals are discussed, consensus is
reached, and outcomes are recorded, providing clear guidance for
contributors.
It also keeps the group’s meeting resources up to date for easier
reference and continuity.
## Testing
- [x] Documentation builds successfully
- [x] New “Decision Taking” section renders correctly
- [x] Links and internal references are properly formatted
- [x] Meeting Materials section updated with the October 2025 slides
## Related Links
* [LLVM Qualification Working Group
Documentation](https://llvm.org/docs/QualGroup.html)
Commit: 93dd17a0e0a437f9c60450db52b019c9d40e3d05
https://github.com/llvm/llvm-project/commit/93dd17a0e0a437f9c60450db52b019c9d40e3d05
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/utils/lit/lit/TestRunner.py
A llvm/utils/lit/tests/Inputs/shtest-ulimit/ulimit_reset.txt
M llvm/utils/lit/tests/shtest-ulimit.py
Log Message:
-----------
[lit] Ensure ulimit does not persist across tests (#164485)
When constructing a container in a default argument in Python, we
actually end up with a reference to the same default container for every
invocation of the function. Given this happened with the ulimit variable
in ShellEnvironment, we ended up persisting limits across tests. This
would cause some LLVM tests to fail, particularly jitlink and dsymutil
tests, if they ended up running after the one clang test that uses
ulimit -v to set a maximum amount of memory that can be allocated. This
patch fixes that behavior by constructing the dict inside the function
to ensure we get a new instance and adds test coverage.
Commit: 2bc4ad35e7dc9f963eba5e4b80ea6e5e6c673ef8
https://github.com/llvm/llvm-project/commit/2bc4ad35e7dc9f963eba5e4b80ea6e5e6c673ef8
Author: lntue <lntue at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M libc/src/__support/math/atan2f.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/acos_test.cpp
M libc/test/src/math/acosf16_test.cpp
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asin_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf16_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/atan2f_test.cpp
M libc/test/src/math/atanf16_test.cpp
M libc/test/src/math/cbrt_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf16_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf16_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f16_test.cpp
M libc/test/src/math/exp10m1f16_test.cpp
M libc/test/src/math/exp10m1f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f16_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp2m1f16_test.cpp
M libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf16_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f16_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f16_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f16_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf16_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/powf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincos_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf16_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf16_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf16_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf16_test.cpp
M libc/test/src/math/tanpif16_test.cpp
Log Message:
-----------
[libc][math] Add tolerance to math tests so that they still work when accurate path is skipped. (#164522)
Commit: b85733094c65d2c69ade3936f008c68787197d5b
https://github.com/llvm/llvm-project/commit/b85733094c65d2c69ade3936f008c68787197d5b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
Revert "Remove unnecessary static_cast<bool> in AsmPrinter.cpp."
This reverts commit 0e8ee0ec78dc370a1bf2688411cf2db36c3a4cd0.
This breaks Windows premerge.
https://lab.llvm.org/staging/#/builders/21/builds/6831
Commit: 1a9aba29b09e7174758572008e8afffb84ca49bd
https://github.com/llvm/llvm-project/commit/1a9aba29b09e7174758572008e8afffb84ca49bd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Remove unreachable break statements. NFC (#164481)
Commit: 25ba59e6ceb1681bb700c9a146ae6ac3d613ef6e
https://github.com/llvm/llvm-project/commit/25ba59e6ceb1681bb700c9a146ae6ac3d613ef6e
Author: Luke Lau <luke at igalia.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/MachineLICM.cpp
Log Message:
-----------
[MachineLICM] Use structured bindings for reg pressure cost map. NFC (#164368)
Commit: ee0f86df46e619da26f9f59e835928b5c338a5db
https://github.com/llvm/llvm-project/commit/ee0f86df46e619da26f9f59e835928b5c338a5db
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/test/lit.cfg.py
Log Message:
-----------
"Reapply "[Clang] Enable lit internal shell by default"
This reverts commit 32de3b9ef9e7e8debc14416e968456ca13b48bea.
This relands the enablement of the internal shell for clang by default.
This was reverted last time for some Z3 failures that were fixed in
2d550b98cac5. There was also issues around ulimit values persisting
causing test failures in LLVM. Those were addressed in 93dd17a0e0a4.
Commit: d55b10a4b960abdfc4a05385e254cd33d8896a21
https://github.com/llvm/llvm-project/commit/d55b10a4b960abdfc4a05385e254cd33d8896a21
Author: Rahman Lavaee <rahmanl at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
Add comment about static_cast requirement.
Commit: 6b9a9cf040d33ad7f9cd563a907b13e373313255
https://github.com/llvm/llvm-project/commit/6b9a9cf040d33ad7f9cd563a907b13e373313255
Author: Thurston Dang <thurston at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/test/Instrumentation/MemorySanitizer/AArch64/sme-aarch64-svcount-mini.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/sme-aarch64-svcount.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sme2-intrinsics-add-mini.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sme2-intrinsics-add.ll
Log Message:
-----------
[msan][test] Add another target("aarch64.svcount") test case (#164343)
This shows a crash that happens because MSan tries to check the shadow
of a target("aarch64.svcount")-sized argument.
This is the followup to
https://github.com/llvm/llvm-project/pull/164315. This also does a
drive-by fix of those test cases, to remove FileCheck (otherwise, even
if opt passed, the test would still XFAIL because FileCheck cannot find
any CHECK: assertions).
Forked from llvm/test/CodeGen/AArch64/sme2-intrinsics-add.ll
Commit: 90bc75043cef9de0dfb2667508595203208f65b0
https://github.com/llvm/llvm-project/commit/90bc75043cef9de0dfb2667508595203208f65b0
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features-sifive.c
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/xsfvfexp.s
A llvm/test/MC/RISCV/xsfvfexpa.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV][MC] Introduce XSfvfexp* and XSfvfbfexpa* extensions and their MC supports (#164349)
XSfvfbfexp16e, XSfvfexp16e, and XSfvfexp32e are SiFive's vector
exponential instruction extensions of BFloat16, F16, and F32,
respectively. Spec:
https://www.sifive.com/document-file/exponential-function-instruction-xsfvfexp32e-xsfvf
XSfvfexpa and XSfvfexpa64e are SiFive's vector exponential approximation
instruction extensions where the former supports F16 and F32 and the
latter covers F64. These instructions approximate 2 raised to a
fractional power. Spec:
https://www.sifive.com/document-file/exponential-approximation-instruction-xsfvfexpa-ex
This patch adds their corresponding features and MC supports.
---------
Co-authored-by: Jesse Huang <jesse.huang at sifive.com>
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: c1212419a52fb9d3eddd563996cf63bd27284066
https://github.com/llvm/llvm-project/commit/c1212419a52fb9d3eddd563996cf63bd27284066
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Support/SpecialCaseList.cpp
Log Message:
-----------
[NFC][SpecialCaseList] Remove LLVM_ABI from SpecialCaseList::Matcher::preprocess. (#164526)
Copied here from header by mistake.
---------
Co-authored-by: Marco Elver <elver at google.com>
Commit: 9df34a1379261ed0ed3c5ad99a302fc12bd2ca78
https://github.com/llvm/llvm-project/commit/9df34a1379261ed0ed3c5ad99a302fc12bd2ca78
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir
Log Message:
-----------
[mlir][transform] Clearnup tile_one_consumer_using_tile_and_fuse test (NFC) (#164108)
Commit: 668bac5810249ae7711b050ba35afaea9ec4e1fd
https://github.com/llvm/llvm-project/commit/668bac5810249ae7711b050ba35afaea9ec4e1fd
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M compiler-rt/lib/builtins/assembly.h
Log Message:
-----------
[asm][ie86-x86-64] Fix build error (#164532)
Fixes #164453.
Commit: 36b1ad112102ace3225b7e9b48314e178c25b729
https://github.com/llvm/llvm-project/commit/36b1ad112102ace3225b7e9b48314e178c25b729
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Remove LLVM_PARALLEL_LINK_JOBS option (#164101)
This was left over from when we were using smaller runners and was only
being applied to the stage2-instrumented build, and not the stage2
build.
Commit: 59d4d5c1c3b6f0f81ac51bea26605466268f83e9
https://github.com/llvm/llvm-project/commit/59d4d5c1c3b6f0f81ac51bea26605466268f83e9
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M .github/workflows/release-documentation.yml
M .github/workflows/release-tasks.yml
Log Message:
-----------
workflows/release-documentation: Allow secrets pass through from calling workflow (#162765)
This should fix the part of the workflow that creates a PR with the new
documentation.
Commit: 7102ff4a2114f72dc37c392e39895643e63aa3fb
https://github.com/llvm/llvm-project/commit/7102ff4a2114f72dc37c392e39895643e63aa3fb
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
Log Message:
-----------
Potential fix for code scanning alert no. 1440: Code injection (#162764)
Fix for:
https://github.com/llvm/llvm-project/security/code-scanning/1440
This fix was automatically generated by Copilot Autofix for CodeQL. See
https://docs.github.com/code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning
for more info.
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Commit: 1906c3e1e30759d2eb85b2833e8c5ff64128bfba
https://github.com/llvm/llvm-project/commit/1906c3e1e30759d2eb85b2833e8c5ff64128bfba
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M clang/cmake/caches/Release.cmake
Log Message:
-----------
[CMake][Release] Stop linking against stage1 runtimes (#164017)
This was causing a build failure on Darwin and a test failure on Linux.
This config is not widely used or well tested, so I don't think the
potential and likely small performance gains and the portability from
this are worth the maintenance costs.
Commit: 64df8f83fe293b6c08477975cbb4451c76b51c54
https://github.com/llvm/llvm-project/commit/64df8f83fe293b6c08477975cbb4451c76b51c54
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M lldb/test/API/functionalities/thread/finish-from-empty-func/TestEmptyFuncThreadStepOut.py
M lldb/test/API/functionalities/thread/finish-from-empty-func/main.c
Log Message:
-----------
[lldb][test] Fix TestEmptyFuncThreadStepOut.py (#161788)
The test did not work as intended when the empty function `done()`
contained prologue/epilogue code, because a breakpoint was set before
the last instruction of the function, which caused the test to pass even
with the fix from #126838 having been reverted.
The test is intended to check a case when a breakpoint is set on a
return instruction, which is the very last instruction of a function.
When stepping out from this breakpoint, there is interaction between
`ThreadPlanStepOut` and `ThreadPlanStepOverBreakpoint` that could lead
to missing the stop location in the outer frame; the detailed
explanation can be found in #126838.
On `Linux/AArch64`, the source is compiled into:
```
> objdump -d main.o
0000000000000000 <done>:
0: d65f03c0 ret
```
So, when the command `bt set -n done` from the original test sets a
breakpoint to the first instruction of `done()`, this instruction
luckily also happens to be the last one.
On `Linux/x86_64`, it compiles into:
```
> objdump -d main.o
0000000000000000 <done>:
0: 55 push %rbp
1: 48 89 e5 mov %rsp,%rbp
4: 5d pop %rbp
5: c3 ret
```
In this case, setting a breakpoint by function name means setting it
several instructions before `ret`, which does not provoke the
interaction between `ThreadPlanStepOut` and
`ThreadPlanStepOverBreakpoint`.
Commit: 41204960c089d45d5bfcece809ddac95f0726cc6
https://github.com/llvm/llvm-project/commit/41204960c089d45d5bfcece809ddac95f0726cc6
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M libcxx/include/__cxx03/__algorithm/for_each.h
Log Message:
-----------
[libc++][C++03] Cherry pick #164272 (#164447)
Commit: bc7e3ff5c55ccdf4b9981cfa255cca858190e3fb
https://github.com/llvm/llvm-project/commit/bc7e3ff5c55ccdf4b9981cfa255cca858190e3fb
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
Log Message:
-----------
[clang] Remove rest TargetOptions::UnsafeFPMath use (#164525)
This should be the last use in clang.
Commit: 57e976a3c33d3fe127602f07e0df8c2a59cba4f8
https://github.com/llvm/llvm-project/commit/57e976a3c33d3fe127602f07e0df8c2a59cba4f8
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Remove references to ccache (#164102)
We aren't using ccache any more so we don't need these variables.
Commit: 829804724bda1d8f6c79ec9ef14ccab57e2f89e1
https://github.com/llvm/llvm-project/commit/829804724bda1d8f6c79ec9ef14ccab57e2f89e1
Author: Abhinav Gaba <abhinav.gaba at intel.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M offload/test/mapping/use_device_addr/target_data_use_device_addr_class_member_ref_with_map.cpp
Log Message:
-----------
[NFC][OpenMP] Update a test that was failing on aarch64. (#164456)
The failure was reported here:
https://github.com/llvm/llvm-project/pull/164039#issuecomment-3425429556
The test was checking for the "bad" behavior so as to keep track of it, but there seem to be some issues with the pointer arithmetic specific to aarch64.
The update for now is to not check for the "bad" behavior fully.
We may need to debug further if similar issues are encountered eventually once the codegen has been fixed.
Commit: 093af77ece1e0ec6581430bb9f78a9b55fd8b3bb
https://github.com/llvm/llvm-project/commit/093af77ece1e0ec6581430bb9f78a9b55fd8b3bb
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/Sema/HeuristicResolver.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
Log Message:
-----------
[clangd] Avoid calling resolveTypeOfCallExpr() twice in HeuristicResolver::resolveExprToType() (#164353)
Fixes the performance regression reported at
https://github.com/llvm/llvm-project/pull/156282#issuecomment-3421570600
Commit: d6b68545aa6249bf4445e0ef96c0134d69a98a26
https://github.com/llvm/llvm-project/commit/d6b68545aa6249bf4445e0ef96c0134d69a98a26
Author: Wenju He <wenju.he at intel.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[NFC][libclc] Improve empty builtins error: include ARCH_SUFFIX in message (#164527)
To clarify which builtin set has no bytecode files.
Commit: dab8fb82a28c13122890f95164c67f4588a15104
https://github.com/llvm/llvm-project/commit/dab8fb82a28c13122890f95164c67f4588a15104
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/test/Instrumentation/NumericalStabilitySanitizer/basic.ll
Log Message:
-----------
[Instrumentation] Remove unsafe-fp-math attribute support (#164533)
Now codegen part no longer depends on this attribute, remove it.
Commit: d11b7bd8c271816ec9e825dc192b4f24ef88d3a4
https://github.com/llvm/llvm-project/commit/d11b7bd8c271816ec9e825dc192b4f24ef88d3a4
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/Attributes.td
M llvm/test/Transforms/IROutliner/outlining-compatible-and-attribute-transfer.ll
M llvm/test/Transforms/Inline/attributes.ll
Log Message:
-----------
[IR] Remove unsafe-fp-math attribute support (#164534)
Now this attribute is no longer recognized by backends, remove it.
Commit: 14d50bc7d33f598001c7759fe3d61cf1d8b64ef8
https://github.com/llvm/llvm-project/commit/14d50bc7d33f598001c7759fe3d61cf1d8b64ef8
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-10-21 (Tue, 21 Oct 2025)
Changed paths:
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[NFC][STLExtras] Use GTest matchers for drop_begin/drop_end tests (#164539)
Commit: 76f15ead0100e1a846f3e8d055d91ac669e297be
https://github.com/llvm/llvm-project/commit/76f15ead0100e1a846f3e8d055d91ac669e297be
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/TargetOptionsImpl.cpp
M llvm/lib/Target/TargetMachine.cpp
Log Message:
-----------
[CodeGen][Target] Remove UnsafeFPMath uses (#164549)
Remove `UnsafeFPMath` uses, next is removing the command line option.
Commit: f70808c8bfdd7a6048347b2533ccddc34bbb4678
https://github.com/llvm/llvm-project/commit/f70808c8bfdd7a6048347b2533ccddc34bbb4678
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/test/CIR/CodeGen/struct-init.cpp
Log Message:
-----------
[CIR] Implement CXXDefaultInitExpr for Constants (#164509)
Implement the CXXDefaultInitExpr for Constants
Commit: 655de70c485ef165b6e9576a50686aac629e2711
https://github.com/llvm/llvm-project/commit/655de70c485ef165b6e9576a50686aac629e2711
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
Log Message:
-----------
[NFC][GISel] Pass `APInt` by const reference (#164556)
Change function signature to avoid copying the argument at call site.
Commit: 5ad2487f9776e1a5d5a38da8d34fcecc90fa891b
https://github.com/llvm/llvm-project/commit/5ad2487f9776e1a5d5a38da8d34fcecc90fa891b
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
Log Message:
-----------
[X86] Check MinMax has NaN and replace with NewX for minimumnum/maximumnum (#164546)
It is incorrect to just check for NewX and return its ordered elements.
Commit: 048070ba6f28d3a0a788d71788320549527db94f
https://github.com/llvm/llvm-project/commit/048070ba6f28d3a0a788d71788320549527db94f
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/AArch64/sign-return-address.c
M clang/test/CodeGen/arm-branch-protection-attr-2.c
M clang/test/Frontend/arm-ignore-branch-protection-option.c
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/Bitcode/upgrade-branch-protection.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-5.ll
R llvm/test/LTO/AArch64/Inputs/foo.ll
A llvm/test/LTO/AArch64/TestInputs/bar.ll
A llvm/test/LTO/AArch64/TestInputs/fiz.ll
A llvm/test/LTO/AArch64/TestInputs/foo.ll
A llvm/test/LTO/AArch64/TestInputs/old.ll
M llvm/test/LTO/AArch64/link-branch-target-enforcement.ll
A llvm/test/LTO/AArch64/link-sign-return-address.ll
M llvm/test/Linker/link-arm-and-thumb.ll
A llvm/test/ThinLTO/AArch64/aarch64_inline.ll
Log Message:
-----------
[ARM][AArch64] BTI,GCS,PAC Module flag update. (#86212)
Module flag is used to indicate the feature to be propagated to the
function. As now the frontend emits all attributes accordingly let's
help the auto upgrade to only do work when old and new bitcodes are
merged.
Depends on #82819 and #86031
Commit: dec57c87f61bdb43299512005bfe7ea2b77bd0fe
https://github.com/llvm/llvm-project/commit/dec57c87f61bdb43299512005bfe7ea2b77bd0fe
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[NFC][TableGen] `emitGetOperandIdxName`: Pass arg by const& (#164563)
Take `OperandNameToID` by const& to avoid copying
Commit: 3656f6f22652b01eb13fc2f39afcf36396d64c4f
https://github.com/llvm/llvm-project/commit/3656f6f22652b01eb13fc2f39afcf36396d64c4f
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/test/CodeGen/AArch64/arm64-fma-combines.ll
M llvm/test/CodeGen/AArch64/csel-zero-float.ll
M llvm/test/CodeGen/AArch64/svtcf-fmul-fdiv-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-unmerge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fract.f64.mir
M llvm/test/CodeGen/AMDGPU/fadd-fma-fmul-combine.ll
M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/fract.f64.ll
M llvm/test/CodeGen/AMDGPU/fract.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll
M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
M llvm/test/CodeGen/Hexagon/swp-phi.ll
M llvm/test/CodeGen/NVPTX/fma-assoc.ll
M llvm/test/CodeGen/PowerPC/fmf-propagation.ll
M llvm/test/CodeGen/PowerPC/scalar-equal.ll
M llvm/test/CodeGen/PowerPC/scalar-min-max-p10.ll
M llvm/test/CodeGen/PowerPC/scalar_cmp.ll
M llvm/test/CodeGen/SystemZ/fp-sincos-01.ll
M llvm/test/CodeGen/X86/2006-05-22-FPSetEQ.ll
M llvm/test/CodeGen/X86/2008-05-01-InvalidOrdCompare.ll
M llvm/test/CodeGen/X86/2012-08-28-UnsafeMathCrash.ll
M llvm/test/CodeGen/X86/avx-minmax.ll
M llvm/test/CodeGen/X86/avx512-unsafe-fp-math.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-vfmulc-fadd.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-xor-vfmulc-fadd.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-xor-vfmulc.ll
M llvm/test/CodeGen/X86/dag-fmf-cse.ll
M llvm/test/CodeGen/X86/fabs.ll
M llvm/test/CodeGen/X86/fp-undef.ll
M llvm/test/CodeGen/X86/fsxor-alignment.ll
M llvm/test/CodeGen/X86/machine-trace-metrics-crash.ll
M llvm/test/CodeGen/X86/neg_fp.ll
M llvm/test/CodeGen/X86/negate-add-zero.ll
M llvm/test/CodeGen/X86/recip-pic.ll
M llvm/test/CodeGen/X86/sincos-opt.ll
M llvm/test/CodeGen/X86/sincos.ll
M llvm/test/CodeGen/X86/vec_uint_to_fp-fastmath.ll
M llvm/test/Transforms/SimplifyCFG/AArch64/prefer-fma.ll
M llvm/test/Transforms/SimplifyCFG/PowerPC/prefer-fma.ll
Log Message:
-----------
[CodeGen] Remove `-enable-unsafe-fp-math` option (#164559)
Hope this can unblock #105746.
Commit: f36f2bff843c2bdf388189f0fd39fe3512070e1d
https://github.com/llvm/llvm-project/commit/f36f2bff843c2bdf388189f0fd39fe3512070e1d
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
M llvm/lib/Target/ARM/Thumb2InstrInfo.h
A llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-vs-unpredicated-copy.mir
Log Message:
-----------
[ARM][MVE] Invalid tail predication in LowOverheadLoop pass (#163941)
When a loop is converted into a low-overhead loop using tail predication
via FPSCR.LTPSIZE, the MQPRCopy pseudo-instruction is expanded into
either two VMOVD or a single MVE_VORR, depending on whether the values
written to the lanes with a 'false' predicate matter. (MVE_VORR uses the
ambient LTPSIZE predicate, so it won't write those lanes at all; the
double VMOVD is slower but gets them right.)
This check was done based on whether the output of the MQPRCopy is live
coming out of the loop. But it missed a case where the live-out value is
not _itself_ an MQPRCopy, but is a predicated operation taking its false
lanes from an MQPRCopy.
Fixes #162644, and adds a new MIR test case derived from the reproducer
in that bug.
Commit: dda30e1b7d100c5df2285d27af25f8b42b7aac19
https://github.com/llvm/llvm-project/commit/dda30e1b7d100c5df2285d27af25f8b42b7aac19
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
A flang/test/Lower/OpenACC/acc-data-operands-remapping-common.f90
Log Message:
-----------
[flang][OpenACC] remap common block member symbols (#163752)
Commit: eeffaf110e991791a8ff7e9b7bb40b5317c70bad
https://github.com/llvm/llvm-project/commit/eeffaf110e991791a8ff7e9b7bb40b5317c70bad
Author: Marco Elver <elver at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
A llvm/include/llvm/Support/AllocToken.h
A llvm/lib/Support/AllocToken.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Transforms/Instrumentation/AllocToken.cpp
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Log Message:
-----------
[AllocToken] Refactor stateless token calculation into Support (#163633)
Refactor the stateless (hash-based) token calculation logic out of the
`AllocToken` pass and into `llvm/Support/AllocToken.h`.
This helps with making the token calculation logic available to other
parts of the codebase, which will be necessary for frontend
implementation of `__builtin_infer_alloc_token` to perform constexpr
evaluation.
The `AllocTokenMode` enum and a new `AllocTokenMetadata` struct are
moved into a shared header. The `getAllocTokenHash()` function now
provides the source of truth for calculating token IDs for `TypeHash`
and `TypeHashPointerSplit` modes.
Commit: 1f7ddb61b368c56838bb7301ddef4547d0be9682
https://github.com/llvm/llvm-project/commit/1f7ddb61b368c56838bb7301ddef4547d0be9682
Author: Kaloyan Ignatov <kaloyan.ignatov at outlook.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M offload/test/ompt/callbacks.h
M offload/test/ompt/omp_api.c
M offload/test/ompt/target_memcpy.c
M offload/test/ompt/target_memcpy_emi.c
M offload/test/ompt/veccopy.c
M offload/test/ompt/veccopy_data.c
M offload/test/ompt/veccopy_disallow_both.c
M offload/test/ompt/veccopy_emi.c
M offload/test/ompt/veccopy_emi_map.c
M offload/test/ompt/veccopy_map.c
M offload/test/ompt/veccopy_no_device_init.c
M offload/test/ompt/veccopy_wrong_return.c
Log Message:
-----------
[NFC][Offload][OMPT] Improve readability of liboffload OMPT tests (#163181)
- ompt_target_data_op_t, ompt_scope_endpoint_t and ompt_target_t are now
printed as strings instead of just numbers to ease debugging
- some missing clang-format clauses have been added
Commit: f1c1063acb12c7ce7724a88bf93351dd76b561c4
https://github.com/llvm/llvm-project/commit/f1c1063acb12c7ce7724a88bf93351dd76b561c4
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
R llvm/test/Transforms/InstCombine/select_with_identical_phi.ll
Log Message:
-----------
Revert "[InstCombinePHI] Enhance PHI CSE to remove redundant phis" (#164520)
Reverts llvm/llvm-project#163453
Causes crashes, see
https://github.com/llvm/llvm-project/pull/163453#issuecomment-3429922732
Commit: 954a7190561e12802fd143bbaf58e73f54fe58eb
https://github.com/llvm/llvm-project/commit/954a7190561e12802fd143bbaf58e73f54fe58eb
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/bitfields.cpp
Log Message:
-----------
[clang][bytecode] Fix unsigned wraparound behavior with bitfields (#164445)
and inc/dec operations. We need to truncate the new value to the
bitfield bitwidth.
Commit: 5afe29e0faaee44c44f1daa3e2693fc1ab212530
https://github.com/llvm/llvm-project/commit/5afe29e0faaee44c44f1daa3e2693fc1ab212530
Author: Luo Yuanke <lyk_03 at hotmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
A llvm/test/CodeGen/X86/bf16-fast-isel.ll
Log Message:
-----------
[FastIsel] Get the right register type for call instruction (#164565)
When switch from fast isel to dag isel the input value is from llvm IR
instruction.
If the instruction is call we should get the calling convention of the
callee and
pass it to RegsForValue::getCopyFromRegs, so that it can deduce the
right RegisterVT
of the returned value of the callee.
---------
Co-authored-by: Yuanke Luo <ykluo at birentech.com>
Commit: 29623f1e98f4970d5b9aa62875cda5c2c66694a8
https://github.com/llvm/llvm-project/commit/29623f1e98f4970d5b9aa62875cda5c2c66694a8
Author: Marco Elver <elver at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/Support/AllocToken.h
M llvm/include/llvm/Transforms/Instrumentation/AllocToken.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Support/AllocToken.cpp
M llvm/lib/Transforms/Instrumentation/AllocToken.cpp
M llvm/test/Instrumentation/AllocToken/basic.ll
M llvm/test/Instrumentation/AllocToken/basic32.ll
M llvm/test/Instrumentation/AllocToken/fast.ll
M llvm/test/Instrumentation/AllocToken/intrinsic.ll
M llvm/test/Instrumentation/AllocToken/intrinsic32.ll
M llvm/test/Instrumentation/AllocToken/invoke.ll
M llvm/test/Instrumentation/AllocToken/nonlibcalls.ll
M llvm/test/Instrumentation/AllocToken/typehashpointersplit.ll
Log Message:
-----------
[AllocToken] Make token mode a pass parameter (#163634)
Refactor the AllocToken pass to accept the mode via pass options rather
than LLVM cl::opt. This is both cleaner, but also required to make the
mode frontend-driven and avoid potential inconsistencies.
Commit: 104b78330662ec13fcdd472582589b2aee8428b9
https://github.com/llvm/llvm-project/commit/104b78330662ec13fcdd472582589b2aee8428b9
Author: David Green <david.green at arm.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/load-zext-bitcast.ll
Log Message:
-----------
[AArch64] Extend bitcast(extload) tests. NFC
Commit: c9fb37c75f741f1179f2d2c661d27d36645b0310
https://github.com/llvm/llvm-project/commit/c9fb37c75f741f1179f2d2c661d27d36645b0310
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
A flang/test/Fir/assumed-size-ops-codegen.fir
A flang/test/Fir/assumed-size-ops-folding.fir
A flang/test/Fir/assumed-size-ops-roundtrip.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
M flang/test/Lower/HLFIR/select-rank.f90
M flang/test/Lower/Intrinsics/lbound.f90
M flang/test/Lower/Intrinsics/ubound.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/entry-statement.f90
Log Message:
-----------
[flang][FIR] add fir.assumed_size_extent to abstract assumed-size extent encoding (#164452)
The purpose of this patch is to allow converting FIR array representation to
memref when possible without hitting memref verifier issue.
The issue was that FIR arrays may be assumed size, in which case the
last dimension will not be known at runtime. Flang uses -1 to encode
this to fulfill Fortran 2023 standard requirements in 18.5.3 point 5
about CFI_desc_t.
When arrays are converted to memeref, if this `-1` reaches memeref
operations, it triggers verifier errors (even if the conversion happened
in code that guards the code to be entered at runtime if the array is
assumed-size because folders/verifiers do not take into account
reachability).
This follows-up on discussions in #163505 merge requests
Commit: e83eee335c477ab80612b09bf840700d6982c3ef
https://github.com/llvm/llvm-project/commit/e83eee335c477ab80612b09bf840700d6982c3ef
Author: kper <kevin.per at protonmail.com>
Date: 2025-10-22 (Wed, 22 Oct 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:
-----------
[DAG] Create SDPatternMatch method `m_SelectLike` to match `ISD::Select` and `ISD::VSelect` (#164069)
Fixes #150019
Commit: 1fbfac30f107cbf63f91101fa5b34dee397089af
https://github.com/llvm/llvm-project/commit/1fbfac30f107cbf63f91101fa5b34dee397089af
Author: Jasmine Tang <jjasmine at igalia.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
A llvm/test/CodeGen/WebAssembly/simd-relaxed-fmax.ll
A llvm/test/CodeGen/WebAssembly/simd-relaxed-fmin.ll
Log Message:
-----------
[WebAssembly] [Codegen] Add pattern for relaxed min max from fminimum/fmaximum over v4f32 and v2f64 (#162948)
Related to #55932
Commit: 0d20f3fa1fee43bc50883fbc988171cc0eb5a8e3
https://github.com/llvm/llvm-project/commit/0d20f3fa1fee43bc50883fbc988171cc0eb5a8e3
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M lldb/unittests/Target/MemoryTest.cpp
Log Message:
-----------
[lldb][test] Fix address type in ReadMemoryRanges test
Tests added by #163651.
Use lldb::addr_t (which is always 64-bit) for all addresses
so that we don't calculate an invalid address on 32-bit
and segfault.
As happened on Linaro's Arm 32-bit buildbot.
Commit: 4f020c4fb3b014e00caeee14a48f1063390977f8
https://github.com/llvm/llvm-project/commit/4f020c4fb3b014e00caeee14a48f1063390977f8
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/docs/CommandGuide/llc.rst
M llvm/docs/CommandGuide/lli.rst
M llvm/docs/SourceLevelDebugging.rst
Log Message:
-----------
[doc] Remove unsafe-fp-math references (#164579)
Stop mentioning `unsafe-fp-math` related things in documents.
Commit: b7a93b1f7ffc7591d25984f9a940edf1289b971c
https://github.com/llvm/llvm-project/commit/b7a93b1f7ffc7591d25984f9a940edf1289b971c
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/test/MC/AMDGPU/literals.s
M llvm/utils/update_mc_test_checks.py
Log Message:
-----------
[Utils][update_mc_test_checks] Generate check lines in alphabetical order. (#164424)
Currently, check lines are generated beginning from those with
the most used prefixes, and then if two or more prefixes cover
the same number of RUN lines, they would come in the order of
those RUN lines.
This means adding RUN lines may change the order of check lines,
even if the set of check prefixes remained the same, which is not
ideal.
Commit: 20340accf235579d64faf322abc428bc5ddd7f91
https://github.com/llvm/llvm-project/commit/20340accf235579d64faf322abc428bc5ddd7f91
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/test/CodeGen/WebAssembly/memory-interleave.ll
M llvm/test/CodeGen/WebAssembly/simd-vector-trunc.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
Log Message:
-----------
[NFC][WebAssembly] FP conversion interleave tests (#164576)
Commit: 12bf1836dec8d5f47339b485727603568fa9e819
https://github.com/llvm/llvm-project/commit/12bf1836dec8d5f47339b485727603568fa9e819
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
A llvm/test/Assembler/autoupgrade-invalid-masked-align.ll
Log Message:
-----------
[AutoUpgrade] Gracefully handle invalid alignment on masked intrinsics
Generate a usage error instead of asserting.
Commit: cde445716907ccf1003f2d7a95c1a672178d6e8e
https://github.com/llvm/llvm-project/commit/cde445716907ccf1003f2d7a95c1a672178d6e8e
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/shrink-wrap-const-pool-access.mir
Log Message:
-----------
[ShrinkWrap][NFC] Test with load from constant pool preventing shrink (#162476)
wrapping
Shrink wrapping treats a load from constant pool as a stack access. This
is not correct. Constants are basically stored in read only section
AFAIU. This prevents shrink wrapping from kicking in.
(Related to PR #160257. PR #160257 will be closed.)
Commit: 10d3c6bc11ca919563036aa590440c38502bcd2f
https://github.com/llvm/llvm-project/commit/10d3c6bc11ca919563036aa590440c38502bcd2f
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/test/CodeGen/AArch64/shrink-wrap-const-pool-access.mir
M llvm/test/CodeGen/X86/fp128-select.ll
Log Message:
-----------
[ShrinkWrap] Consider constant pool access as non-stack access (#164393)
As far as I understand, constant pool access does not access stack and
accesses read-only memory.
This patch considers constant pool access as non-stack access allowing
shrink wrapping to happen in the concerned test.
We should be seeing perf improvement with povray benchmark from
SPEC17(around 12% with -flto -Ofast) after this patch.
An NFC PR #162476 already exists to upload the test before the patch but
approval has got delayed. So, as @davemgreen suggested in that PR, I
have uploaded the test and patch in this single PR to show how test
looks like.
Commit: 15d11ebc84886e06127750ef5bea60ba1d36798a
https://github.com/llvm/llvm-project/commit/15d11ebc84886e06127750ef5bea60ba1d36798a
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
Log Message:
-----------
[NFC] "unsafe-fp-math" post cleanup (code comments part) (#164582)
Commit: ec546ce5745b195655cbdf645322d5dda91374e0
https://github.com/llvm/llvm-project/commit/ec546ce5745b195655cbdf645322d5dda91374e0
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M lld/test/COFF/Inputs/undefined-symbol-lto-a.ll
M lld/test/COFF/Inputs/undefined-symbol-lto-b.ll
M lld/test/COFF/Inputs/undefined-symbol-multi-lto.ll
M lld/test/MachO/lto-mattrs.ll
M lld/test/wasm/Inputs/debuginfo1.ll
M lld/test/wasm/Inputs/debuginfo2.ll
M lld/test/wasm/debug-removed-fn.ll
Log Message:
-----------
[lld][test] Remove unsafe-fp-math uses (NFC) (#164598)
Commit: 8b2aba2e20c3cfb9d2e9337fdc38c889b0ff8ae2
https://github.com/llvm/llvm-project/commit/8b2aba2e20c3cfb9d2e9337fdc38c889b0ff8ae2
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
A llvm/test/Transforms/WholeProgramDevirt/speculative-devirt-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-check.ll
Log Message:
-----------
[WPD]: Enable speculative devirtualizatoin. (#159048)
This patch implements the speculative devirtualization feature in the
LLVM backend.
It handles the case of single implementation devirtualization where
there is a single possible callee of a virtual function.
- Add cl::opt 'devirtualize-speculatively' to enable it.
- Flag is disabled by default.
- It works regardless of the visibility of the object.
- Not enabled for LTO for now.
Commit: a4dbd111c285012d744fa0f86e710e4b3032d826
https://github.com/llvm/llvm-project/commit/a4dbd111c285012d744fa0f86e710e4b3032d826
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrGISel.td
M llvm/test/CodeGen/AArch64/arm64-ld1.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Fix global-isel for LD1R. (#164418)
LD1Rv8b only supports a base register but the DAG is matched using
am_indexed8 with the offset it finds silently dropped.
I've also fixed a couple of immediate operands types inconsistencies
that don't manifest as bugs because their incorrect scaling is overriden
by the complex pattern and MachineInstr that are correct and thus
there's nothing to test.
Commit: 128eacfaba78162c944c073270db02e237b7b851
https://github.com/llvm/llvm-project/commit/128eacfaba78162c944c073270db02e237b7b851
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
Log Message:
-----------
[LLVM][CodeGen][SVE] Fix typo in PPR_p8to15's DecoderMethod. (#164429)
Commit: b8062f85dd3612f2b5c0c5cfc14bdc5c0eae641f
https://github.com/llvm/llvm-project/commit/b8062f85dd3612f2b5c0c5cfc14bdc5c0eae641f
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/unittests/DAP/CMakeLists.txt
A lldb/unittests/DAP/ProtocolRequestsTest.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M lldb/unittests/TestingSupport/TestUtilities.cpp
M lldb/unittests/TestingSupport/TestUtilities.h
Log Message:
-----------
[lldb-dap] Use protocol types for exceptioninfo (#164318)
It also separates the `ProtocolRequestsTests` from `ProtocolTypesTests`
as I did not want to increase the work in
https://github.com/llvm/llvm-project/pull/144595
Commit: 37fcaf5c3441564ab5051d8088f5a29701026acb
https://github.com/llvm/llvm-project/commit/37fcaf5c3441564ab5051d8088f5a29701026acb
Author: NexusXe <andastrike at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Target/X86/X86ScheduleZnver4.td
M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx2.s
M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpclmulqdq.s
M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vpclmulqdqvl.s
M llvm/test/tools/llvm-mca/X86/Znver4/resources-bmi1.s
M llvm/test/tools/llvm-mca/X86/Znver4/resources-cmpxchg.s
M llvm/test/tools/llvm-mca/X86/Znver4/resources-pclmul.s
M llvm/test/tools/llvm-mca/X86/Znver4/resources-sse42.s
M llvm/test/tools/llvm-mca/X86/Znver4/resources-vpclmulqdq.s
M llvm/test/tools/llvm-mca/X86/Znver4/resources-x86_64.s
Log Message:
-----------
[X86] Fix some values for Znver4 model (#161405)
This PR fixes a handful of latency and uop changes between Znver3 and
Znver4 that were otherwise copied from Znver3.
Latency and uop values listed that matched Zen3 on uops.info were
updated to those for Zen4.
Includes: BSF/BSR, DIV, TZCNT, CLMUL, PCMPISTRM, VALIGN, VPERM
Commit: becf84790126ce83ba36eaddc06a0a0a46005048
https://github.com/llvm/llvm-project/commit/becf84790126ce83ba36eaddc06a0a0a46005048
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
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/aarch64-2014-08-11-MachineCombinerCrash.ll
M llvm/test/CodeGen/AArch64/aarch64-a57-fp-load-balancing.ll
M llvm/test/CodeGen/AArch64/aarch64-dynamic-stack-layout.ll
M llvm/test/CodeGen/AArch64/aarch64-fix-cortex-a53-835769.ll
M llvm/test/CodeGen/AArch64/aarch64-mov-debug-locs.mir
M llvm/test/CodeGen/AArch64/arm64-detect-vec-redux.ll
M llvm/test/CodeGen/AArch64/arm64-fma-combine-with-fpfusion.ll
M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst-2.ll
M llvm/test/CodeGen/AArch64/arm64-misched-basic-A53.ll
M llvm/test/CodeGen/AArch64/arm64-misched-basic-A57.ll
M llvm/test/CodeGen/AArch64/arm64-rounding.ll
M llvm/test/CodeGen/AArch64/arm64-storebytesmerge.ll
M llvm/test/CodeGen/AArch64/arm64-triv-disjoint-mem-access.ll
M llvm/test/CodeGen/AArch64/bti-branch-relaxation.ll
M llvm/test/CodeGen/AArch64/consthoist-gep.ll
M llvm/test/CodeGen/AArch64/dag-combine-invaraints.ll
M llvm/test/CodeGen/AArch64/partial-pipeline-execution.ll
M llvm/test/CodeGen/AArch64/recp-fastmath.ll
M llvm/test/CodeGen/AArch64/stack-tagging-ex-1.ll
M llvm/test/CodeGen/AArch64/stack-tagging-ex-2.ll
M llvm/test/CodeGen/AArch64/stack-tagging-untag-placement.ll
M llvm/test/CodeGen/AArch64/stack_guard_remat.ll
M llvm/test/CodeGen/AArch64/vector_merge_dep_check.ll
M llvm/test/CodeGen/AArch64/wineh-frame5.mir
M llvm/test/CodeGen/AArch64/wineh-frame6.mir
M llvm/test/CodeGen/AArch64/wineh-frame7.mir
M llvm/test/CodeGen/AArch64/wineh-frame8.mir
M llvm/test/CodeGen/AArch64/wineh5.mir
M llvm/test/CodeGen/AArch64/wineh_shrinkwrap.mir
Log Message:
-----------
[AArch64][test] Remove unsafe-fp-math uses (NFC) (#164606)
Post cleanup for #164534
Commit: 57412c3485c5614348015f37ce69be0f378fcad9
https://github.com/llvm/llvm-project/commit/57412c3485c5614348015f37ce69be0f378fcad9
Author: David Green <david.green at arm.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
Log Message:
-----------
[GlobalISel] Update the documentation of abd. (#164594)
The abd nodes do not perform the same as abs(x-y), although they are
often mistaken to do so. They extend into a larger bit size before
performing the sub / abs and so produce different results. Update the
description of the instruction to avoid misunderstandings.
Commit: c636a39e33594f493e3a4e831ddee952cd9b5cb6
https://github.com/llvm/llvm-project/commit/c636a39e33594f493e3a4e831ddee952cd9b5cb6
Author: Nathan Corbyn <n_corbyn at apple.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
A llvm/test/Analysis/BasicAA/matrix-intrinsics.ll
A llvm/test/Transforms/DeadStoreElimination/matrix-intrinsics.ll
A llvm/test/Transforms/GVN/matrix-intrinsics.ll
Log Message:
-----------
[Matrix] Add tests identifying GVN and DSE opportunities for matrix store / load intrinsics (#163573)
This patch adds several tests identifying potential opportunities for
eliminating dead stores and redundant loads when using the
`llvm.matrix.column.major.store.*` and `llvm.matrix.column.major.load.*`
intrinsics.
PR: https://github.com/llvm/llvm-project/pull/163573
Commit: f7fb52aea0b90a2fa76f162e8cbd481c5e1bd91b
https://github.com/llvm/llvm-project/commit/f7fb52aea0b90a2fa76f162e8cbd481c5e1bd91b
Author: Marco Elver <elver at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/docs/AllocToken.rst
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/Driver/fsanitize-alloc-token.c
Log Message:
-----------
[Clang] Move AllocToken frontend options to LangOptions (#163635)
Move the `AllocTokenMax` from `CodeGenOptions` and introduces a new
`AllocTokenMode` to `LangOptions`. Note, `-falloc-token-mode=`
deliberately remains an internal experimental option.
This refactoring is necessary because these options influence frontend
behavior, specifically constexpr evaluation of `__builtin_infer_alloc_token`.
Placing them in `LangOptions` makes them accessible during semantic analysis,
which occurs before codegen.
Commit: 50acc09c1d6074ae7d1ed4e258cb1d82492f7c1a
https://github.com/llvm/llvm-project/commit/50acc09c1d6074ae7d1ed4e258cb1d82492f7c1a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
R clang/tools/clang-fuzzer/Dockerfile
M clang/tools/clang-fuzzer/README.txt
Log Message:
-----------
[clang-fuzzer] Remove Dockerfile (#162555)
Was going through Dockerfiles to see where we are missing FROM lines
with fully qualified names and came across this one. I think it is safe
to say it has not been used in a very long time or maintained at all
since then since it still tries to download the source tree using svn.
Given that, delete it to lower support surface slightly.
Commit: 6e0553f545df37a31b096f462f5319312728daca
https://github.com/llvm/llvm-project/commit/6e0553f545df37a31b096f462f5319312728daca
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M polly/docs/ReleaseNotes.rst
M polly/include/polly/LinkAllPasses.h
A polly/include/polly/ScopInliner.h
M polly/lib/Support/PollyPasses.def
M polly/lib/Support/RegisterPasses.cpp
M polly/lib/Transform/ScopInliner.cpp
M polly/test/ScopInliner/ignore-declares.ll
M polly/test/ScopInliner/invariant-load-func.ll
M polly/test/ScopInliner/simple-inline-loop.ll
Log Message:
-----------
Reapply "[Polly] Update ScopInliner for NPM (#125427)" (#164601)
An assertion failed when Polly was registering for the pass manager
which assumed that there would be only Polly passes. Since this does not
need to be the case, re-apply with the assert removed.
Includes a non-Polly change to trigger the premerge CI to trigger
check-llvm which failed for 0b9a7b80c0674c5c6f746139912111bea7eae63b,
but pre-merge did not catch.
Commit: 6ceefbe87c5e19655dce6323c2fca2fe53fd7bec
https://github.com/llvm/llvm-project/commit/6ceefbe87c5e19655dce6323c2fca2fe53fd7bec
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-unsigned-int.c
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/reduction-clause-recipes.cpp
Log Message:
-----------
[OpenACC][CIR] Implement || and && reduction combiner lowering (#164298)
These two operations are expressed as LHS = LHS || RHS, for any
construct in which that is valid. Fortunately, the mechanism for codegen
from previous reduction works great for this, so it saw minimal changes.
This is the last of the reduction construct lowering.
Commit: aca53f4375d1792cfd706ef4215ab4b350042c5c
https://github.com/llvm/llvm-project/commit/aca53f4375d1792cfd706ef4215ab4b350042c5c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
Log Message:
-----------
[VPlan] Skip masked interleave groups in narrowInterleaveGroups.
8d29d09309 exposed a crash due to incorrectly trying to handle masked
interleave recipes. For now, the current code does not support masked
interleave recipes. Bail out for them.
Commit: b3073470424c9ef4c5f319d3eed4d42170e15cf1
https://github.com/llvm/llvm-project/commit/b3073470424c9ef4c5f319d3eed4d42170e15cf1
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/include/clang/AST/StmtOpenACC.h
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/atomic-read.cpp
Log Message:
-----------
[OpenACC][CIR] Lowering for atomic-read (#164299)
The OpenACC spec allows only `v = x` form for atomic-read, and only when
both are L-values. The result is this ends up being a pretty trivial
patch, however it adds a decent amount of infrastructure for the other
forms of atomic.
Additionally, the 3.4 spec starts allowing the 'if' clause on atomic,
which has recently been added to the ACC dialect. This patch also
ensures that can be lowered as well. Extensive testing of this feature
was done on other clauses, so there isn't much further work/testing to
be done for it.
Commit: d08cbc1cdd7b73e9a582f5602e8ca4829decab8c
https://github.com/llvm/llvm-project/commit/d08cbc1cdd7b73e9a582f5602e8ca4829decab8c
Author: Hanumanth <hhanuman at mathworks.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
M mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
Log Message:
-----------
[mlir][linalg] Fix Linalg runtime verification pass to handle tensors with dimensions of size 0 (#163791)
Runtime verification on Linalg structured ops unconditionally computed
`end - 1` to determine the last iteration index before composing
indexing maps. This caused spurious "negative index" assertion failures
while operating on empty tensors (tensors with a dimension of size 0).
The issue occurs because:
1. Empty tensors create loop ranges [0, 0) with zero trip count
2. Computing end - 1 = 0 - 1 = -1 creates a fictitious negative index
3. The negative index check triggers even though no loop iterations
occur
The fix is to guard all runtime verification with a check that ensures
all loop ranges are non-empty (start < end) before performing any index
arithmetic.
Example MLIR that previously failed:
```mlir
func.func @fill_empty() -> tensor<0xi32> {
%c0 = arith.constant 0 : i32
%empty = tensor.empty() : tensor<0xi32>
%filled = linalg.fill ins(%c0 : i32) outs(%empty : tensor<0xi32>) -> tensor<0xi32>
return %filled : tensor<0xi32>
}
```
---------
Co-authored-by: Hanumanth Hanumantharayappa <hhanuman at ah-hhanuman-l.dhcp.mathworks.com>
Commit: 64a8d73fc76f32ade700ff0126d356e2bf469a60
https://github.com/llvm/llvm-project/commit/64a8d73fc76f32ade700ff0126d356e2bf469a60
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/Headers/avx512ifmavlintrin.h
M clang/lib/Headers/avxifmaintrin.h
Log Message:
-----------
[NFC] Use macros only when __AVX512IFMA__ and __AVXIFMA__ undefined (#162760)
Commit: 411be14eab7ac4600595ad622810e8918c54856d
https://github.com/llvm/llvm-project/commit/411be14eab7ac4600595ad622810e8918c54856d
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
A llvm/test/DebugInfo/X86/aggressive-instcombine-store-merge-dbg.ll
Log Message:
-----------
[AgressiveInstCombine] Merge debug info on merged stores (#164449)
A bit of debug info maintenaince for #147540.
Commit: 9abbec66bfa34922521ef88fad1d6fcd43c1c462
https://github.com/llvm/llvm-project/commit/9abbec66bfa34922521ef88fad1d6fcd43c1c462
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ballot.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.ballot.i64.ll
M llvm/test/CodeGen/AMDGPU/addsub64_carry.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/optimize-compare.mir
M llvm/test/CodeGen/AMDGPU/s_cmp_0.ll
M llvm/test/CodeGen/AMDGPU/s_uaddo_usubo_pseudo.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
M llvm/test/CodeGen/AMDGPU/uaddo.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/usubo.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/workitem-intrinsic-opts.ll
Log Message:
-----------
[AMDGPU] Reland "Remove redundant s_cmp_lg_* sX, 0" (#164201)
Reland PR https://github.com/llvm/llvm-project/pull/162352. Fix by
excluding SI_PC_ADD_REL_OFFSET from instructions that set SCC = DST!=0.
Passes check-libc-amdgcn-amd-amdhsa now.
Distribution of instructions that allowed a redundant S_CMP to be
deleted in check-libc-amdgcn-amd-amdhsa test:
```
S_AND_B32 485
S_AND_B64 47
S_ANDN2_B32 42
S_ANDN2_B64 277492
S_CSELECT_B64 17631
S_LSHL_B32 6
S_OR_B64 11
```
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 0c7617d8184bc3eb267c42938031100a04e8764d
https://github.com/llvm/llvm-project/commit/0c7617d8184bc3eb267c42938031100a04e8764d
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M flang/docs/AssumedRank.md
M flang/docs/C++17.md
M flang/docs/C++style.md
M flang/docs/Calls.md
M flang/docs/Character.md
M flang/docs/DoConcurrent.md
M flang/docs/Extensions.md
M flang/docs/FortranForCProgrammers.md
M flang/docs/FortranIR.md
M flang/docs/GettingInvolved.md
M flang/docs/Intrinsics.md
Log Message:
-----------
[flang][docs] Replace references to f18 in the docs with flang (Part 1)
In addition to the replacement, some light editing of the text was also
carried out. These edits primarily address issues of grammar and
style.
The remaining references to "f18" will be replaced in a later commit.
Commit: 35db983596f0f7deb67e261d77b0daad0bbe5ba9
https://github.com/llvm/llvm-project/commit/35db983596f0f7deb67e261d77b0daad0bbe5ba9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/BitmaskEnum.h
Log Message:
-----------
[ADT] Modernize type traits in BitmaskEnum.h (NFC) (#164567)
This patch replaces std::enable_if_t with std::void_t in two type
traits. Both approaches enable the template specialization if and
only if the LLVM_BITMASK_LARGEST_ENUMERATOR enumerator exists.
Commit: d5a2047c58b428e848d1a540430cbb46d38e2b97
https://github.com/llvm/llvm-project/commit/d5a2047c58b428e848d1a540430cbb46d38e2b97
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
Log Message:
-----------
[CodeGen] Remove an unused #include (NFC) (#164569)
We've switched to llvm::identity_cxx20 for SparseMultiSet, so we don't
need llvm::identity in this file.
Commit: 6bee6b2090a7cd0dedbc0af789a7cb4648e974f2
https://github.com/llvm/llvm-project/commit/6bee6b2090a7cd0dedbc0af789a7cb4648e974f2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/CodeGenTargetMachineImpl.h
M llvm/include/llvm/CodeGen/DebugHandlerBase.h
M llvm/include/llvm/CodeGen/DroppedVariableStatsMIR.h
M llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
M llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h
M llvm/include/llvm/CodeGen/MachineOutliner.h
M llvm/include/llvm/CodeGen/ResourcePriorityQueue.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/VLIWMachineScheduler.h
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/unittests/CodeGen/AsmPrinterDwarfTest.cpp
M llvm/unittests/CodeGen/InstrRefLDVTest.cpp
Log Message:
-----------
[CodeGen] Add "override" where appropriate (NFC) (#164571)
Note that "override" makes "virtual" redundant.
Identified with modernize-use-override.
Commit: 0b9ed5dc64149147aadc588d9077d80fb73a54d6
https://github.com/llvm/llvm-project/commit/0b9ed5dc64149147aadc588d9077d80fb73a54d6
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M polly/docs/experiments/matmul/matmul.ll
M polly/docs/experiments/matmul/matmul.normalopt.ll
M polly/docs/experiments/matmul/matmul.polly.interchanged+tiled+vector+openmp.ll
M polly/docs/experiments/matmul/matmul.polly.interchanged+tiled+vector.ll
M polly/docs/experiments/matmul/matmul.polly.interchanged+tiled.ll
M polly/docs/experiments/matmul/matmul.polly.interchanged.ll
M polly/docs/experiments/matmul/matmul.preopt.ll
M polly/test/CodeGen/OpenMP/mapped-phi-access.ll
M polly/test/CodeGen/OpenMP/reference-argument-from-non-affine-region.ll
M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_1.ll
M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_2.ll
M polly/test/CodeGen/debug-intrinsics.ll
M polly/test/CodeGen/error_block_contains_invalid_memory_access.ll
M polly/test/CodeGen/hoisting_1.ll
M polly/test/CodeGen/hoisting_2.ll
M polly/test/CodeGen/intrinsics_lifetime.ll
M polly/test/CodeGen/intrinsics_misc.ll
M polly/test/CodeGen/invariant_cannot_handle_void.ll
M polly/test/CodeGen/invariant_load_different_sized_types.ll
M polly/test/CodeGen/invariant_load_not_executed_but_in_parameters.ll
M polly/test/CodeGen/invariant_verify_function_failed.ll
M polly/test/CodeGen/invariant_verify_function_failed_2.ll
M polly/test/CodeGen/loop-invariant-load-type-mismatch.ll
M polly/test/CodeGen/multiple-types-invariant-load-2.ll
M polly/test/CodeGen/out-of-scop-phi-node-use.ll
M polly/test/CodeGen/phi-defined-before-scop.ll
M polly/test/CodeGen/pr25241.ll
M polly/test/CodeGen/scev_expansion_in_nonaffine.ll
M polly/test/DependenceInfo/fine_grain_dep_0.ll
M polly/test/ForwardOpTree/atax.ll
M polly/test/ForwardOpTree/jacobi-1d.ll
M polly/test/IstAstInfo/runtime_context_with_error_blocks.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll
M polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll
M polly/test/ScheduleOptimizer/prevectorization.ll
M polly/test/ScopDetect/error-block-always-executed.ll
M polly/test/ScopDetect/error-block-referenced-from-scop.ll
M polly/test/ScopDetect/expand-region-correctly-2.ll
M polly/test/ScopDetect/intrinsics_1.ll
M polly/test/ScopDetect/intrinsics_2.ll
M polly/test/ScopDetect/intrinsics_3.ll
M polly/test/ScopDetect/report-scop-location.ll
M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegion.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll
M polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll
M polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll
M polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll
M polly/test/ScopInfo/BoundChecks/single-loop.ll
M polly/test/ScopInfo/BoundChecks/two-loops.ll
M polly/test/ScopInfo/complex-expression.ll
M polly/test/ScopInfo/do-not-model-error-block-accesses.ll
M polly/test/ScopInfo/early_exit_for_complex_domains.ll
M polly/test/ScopInfo/expensive-boundary-context.ll
M polly/test/ScopInfo/intrinsics.ll
M polly/test/ScopInfo/long-sequence-of-error-blocks-2.ll
M polly/test/ScopInfo/long-sequence-of-error-blocks.ll
M polly/test/ScopInfo/memcpy-raw-source.ll
M polly/test/ScopInfo/mismatching-array-dimensions.ll
M polly/test/ScopInfo/multidim_srem.ll
M polly/test/ScopInfo/remarks.ll
M polly/test/ScopInfo/scev-div-with-evaluatable-divisor.ll
M polly/test/ScopInfo/unnamed_stmts.ll
M polly/test/Simplify/phi_in_regionstmt.ll
Log Message:
-----------
[polly] Remove unsafe-fp-math uses (NFC) (#164603)
Post cleanup for #164534.
Commit: ea45fec99c10b940938c8497a9b0d3d64388d44b
https://github.com/llvm/llvm-project/commit/ea45fec99c10b940938c8497a9b0d3d64388d44b
Author: Kunqiu Chen <camsyn at foxmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/test/Transforms/SCCP/conditions-ranges.ll
M llvm/test/Transforms/Util/PredicateInfo/testandor.ll
Log Message:
-----------
[PredicateInfo] Reserve adjacent LN_Last defs for the same phi use (#164577)
This patch fixes a missed optimization issue: predicate infos might be
lost in phi-use scenarios.
Due to the existence of and-chains, a phi-use might be associated with
multiple LN_Last predicate infos.
E.g.,
```cpp
// TWO LN_Last Predicate Info defs:
// 1. a >= 1
// 2. a < 2
if ( a < 1 || a >= 2) {
a = 1;
}
// PHI use of `a`
use(a)
```
However, previously, `popStackUntilDFSScope` reserved only ONE LN_Last
def for a phi use (i.e., reserve only one of `a >= 1` / `a < 2`),
although there might be multiple LN_Last defs for the same phi use.
This patch reserves the adjacent LN_Last defs if they are designated for
the same phi use.
Commit: f7bbcdea8e9c0cb17e44c3920631eaad449f3229
https://github.com/llvm/llvm-project/commit/f7bbcdea8e9c0cb17e44c3920631eaad449f3229
Author: Martin Storsjö <martin at martin.st>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M compiler-rt/lib/builtins/assembly.h
Log Message:
-----------
[compiler-rt] Fix building for arm64ec (#164590)
c208a23643231d0b19c6f795895a16dfe6797340 added the directive
`.att_syntax` when building for x86 architectures. However, when
building for arm64ec (a Windows target, for an ABI compatible with
x86_64), the defines for `__x86_64__` (and similar ones like
`__amd64__`) are still defined, so we need to check for `__arm64ec__`
here as well to skip it for such targets.
This matches similar existing ifdefs for x86_64/aarch64 in compiler-rt
builtins.
Commit: 45c0b29171633e3977938ded4223d9184af5c07b
https://github.com/llvm/llvm-project/commit/45c0b29171633e3977938ded4223d9184af5c07b
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions.ll
A llvm/test/Transforms/LoopVectorize/unsafe-ic-hint-remark.ll
Log Message:
-----------
[LV] Ignore user-specified interleave count when unsafe. (#153009)
When an VF is specified via a loop hint, it will be clamped to a safe
VF or ignored if it is found to be unsafe. This is not the case for
user-specified interleave counts, which can lead to loops such as
the following with a memory dependence being vectorised with
interleaving:
```
#pragma clang loop interleave_count(4)
for (int i = 4; i < LEN; i++)
b[i] = b[i - 4] + a[i];
```
According to [1], loop hints are ignored if they are not safe to apply.
This patch adds a check to prevent vectorisation with interleaving if
isSafeForAnyVectorWidth() returns false. This is already checked in
selectInterleaveCount().
[1]
https://llvm.org/docs/LangRef.html#llvm-loop-vectorize-and-llvm-loop-interleave
Commit: 2dbe9592663a701546efd1ec1396417629542e4b
https://github.com/llvm/llvm-project/commit/2dbe9592663a701546efd1ec1396417629542e4b
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/lib/Lower/Bridge.cpp
A flang/test/Lower/forall-polymorphic.f90
Log Message:
-----------
Get the BoxType from the RHS instead of LHS for polymorphic pointer assignment inside FORALL. (#164279)
Fixes #153220
Commit: 7c826d4b4e394b6370714a03cf20fd6e8ddb4a12
https://github.com/llvm/llvm-project/commit/7c826d4b4e394b6370714a03cf20fd6e8ddb4a12
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/unittests/DAP/CMakeLists.txt
R lldb/unittests/DAP/ProtocolRequestsTest.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M lldb/unittests/TestingSupport/TestUtilities.cpp
M lldb/unittests/TestingSupport/TestUtilities.h
Log Message:
-----------
Revert "[lldb-dap] Use protocol types for exceptioninfo" (#164631)
Reverts llvm/llvm-project#164318
2 failures from LLVM Buildbot.
Commit: 7ae7a5ad51f32118161ee0aaa13b11368aa5d29b
https://github.com/llvm/llvm-project/commit/7ae7a5ad51f32118161ee0aaa13b11368aa5d29b
Author: Michal R <vad.sol at proton.me>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Target/BPF/BTFDebug.cpp
A llvm/test/CodeGen/BPF/BTF/ptr-named-2.ll
A llvm/test/CodeGen/BPF/BTF/ptr-named.ll
Log Message:
-----------
[BPF] Do not emit names for PTR, CONST, VOLATILE and RESTRICT BTF types (#163174)
We currently raise a warning in `print_btf.py` when any of these types
have a name. Linux kernel doesn't allow names in these types either.[0]
However, there is nothing stopping frontends from giving names to these
types. To make sure that they are always anonymous, explicitly skip the
name emission.
[0]
https://elixir.bootlin.com/linux/v6.17.1/source/kernel/bpf/btf.c#L2586
Commit: eb74d8e03cef0bb29bccf221f5ea565e47d7ab26
https://github.com/llvm/llvm-project/commit/eb74d8e03cef0bb29bccf221f5ea565e47d7ab26
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/ModuleSummaryIndex.cpp
M llvm/lib/LTO/LTO.cpp
R llvm/test/Bitcode/thinlto-deadstrip-flag.ll
A llvm/test/Bitcode/thinlto-index-flags.ll
Log Message:
-----------
[ThinLTO] Add index flag for internalization/promotion status (#164530)
Add an index-wide flag indicating whether index-based internalization
and promotion have completed. This will be used in a follow on change.
Commit: 276bccda66f333171f5ba08d18d9301ee663cf7a
https://github.com/llvm/llvm-project/commit/276bccda66f333171f5ba08d18d9301ee663cf7a
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/test/API/lang/objc/foundation/TestObjCMethodsNSError.py
Log Message:
-----------
[lldb] Implement ProcessGDBRemote support for ReadMemoryRanges (#164311)
This commit makes use of the newly created MultiMemRead packet to
provide an efficient implementation of MultiMemRead inside
ProcessGDBRemote.
Testing is tricky, but it is accomplished two ways:
1. Some Objective-C tests would fail if this were implemented incorrectly,
as there is already an in-tree use of the base class implementation of
MultiMemRead, which is now getting replaced by the derived class.
2. One Objective-C test is modified so that we ensure the packet is
being sent by looking at the packet logs. While not the most elegant
solution, it is a strategy adopted in other tests as well. This gets
around the fact that we cannot instantiate / unittest a mock
ProcessGDBRemote.
Depends on https://github.com/llvm/llvm-project/pull/163651
Commit: 18d4ba593db9d6949300fbd97e900bfb86d651b2
https://github.com/llvm/llvm-project/commit/18d4ba593db9d6949300fbd97e900bfb86d651b2
Author: Bertik23 <39457484+Bertik23 at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
A llvm/include/llvm/AsmParser/AsmParserContext.h
A llvm/include/llvm/AsmParser/FileLoc.h
M llvm/include/llvm/AsmParser/LLLexer.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/AsmParser/Parser.h
M llvm/include/llvm/IRReader/IRReader.h
A llvm/lib/AsmParser/AsmParserContext.cpp
M llvm/lib/AsmParser/CMakeLists.txt
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/AsmParser/Parser.cpp
M llvm/lib/IRReader/IRReader.cpp
M llvm/unittests/AsmParser/AsmParserTest.cpp
Log Message:
-----------
[LLVM][IR] Add location tracking to LLVM IR parser (#155797)
This PR is part of the LLVM IR LSP server project
([RFC](https://discourse.llvm.org/t/rfc-ir-visualization-with-vs-code-extension-using-an-lsp-server/87773))
To be able to make a LSP server, it's crucial to have location
information about the LLVM objects (Functions, BasicBlocks and
Instructions).
This PR adds:
* Position tracking to the Lexer
* A new AsmParserContext class, to hold the new position info
* Tests to check if the location is correct
The AsmParserContext can be passed as an optional parameter into the
parser. Which populates it and it can be then used by other tools, such
as the LSP server.
The AsmParserContext idea was borrowed from MLIR. As we didn't want to
store data no one else uses inside the objects themselves. But the
implementation is different, this class holds several maps of Functions,
BasicBlocks and Instructions, to map them to their location.
And some utility methods were added to get the positions of the
processed tokens.
Commit: 65850de74d7fb52044e68bd79cc55e7fa1edcf0d
https://github.com/llvm/llvm-project/commit/65850de74d7fb52044e68bd79cc55e7fa1edcf0d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-toolchain-no-rdc.hip
Log Message:
-----------
[HIP] Hack around CMake incorrectly parsing OpenMP support in HIP mode (#164482)
Summary:
The new driver uses an embedded clang job to handle the device
compilation. This correctly returns the linker as being `ld.lld`. The
CMake parser to detect things like OpenMP support in the linker will
parse the output of `-v` for the linker job. If the user is also using
LLD for their linker, it will think this job is the linker and then fail
as it does not see the required libraries. For these special HIP
compilations, just print the linker wrapper invocation and nothing else.
This will still show users the steps used to generate the binary but it
will hack around this issue.
Commit: f6ba21389fb0daad19bbb36a60cbfb4e7ef4efa2
https://github.com/llvm/llvm-project/commit/f6ba21389fb0daad19bbb36a60cbfb4e7ef4efa2
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/Sema/callingconv-devicekernel.cpp
M clang/test/Sema/callingconv.c
Log Message:
-----------
[clang] Fix inconsistencies with the device_kernel attr on different targets (#161905)
The original [change](https://github.com/llvm/llvm-project/pull/137882)
unifying the device kernel attributes had some inexplicable behavior,
such as `amdgpu_kernel` resulting in a function ending up with the
`spir_kernel` CC but `nvptx_kernel` not doing the same, both cases
compiling for SPIR. There was also a
[crash](https://github.com/llvm/llvm-project/issues/161077).
`sycl_kernel` is now separated out from `device_kernel`, but still there
was some weird behavior for the remaining spellings.
For the target-specific spellings (`nvptx_kernel` and `amdgpu_kernel`),
while not technically required, we warn and ignore the attribute if the
spelling doesn't match the target because it's weird from the user's
point of view to allow it.
Also we make sure that any valid usage actually applies the CC to the
generated `llvm:Function`. This worked for `NVPTX` already but was
missing for `SPIR/SPIR-V` and `AMDGPU`, it needs to be explicitly done
in `TargetInfo`. This allows us to remove the `amdgpu_kernel` specific
handing we had. That special handling was previously required because it
was the only variation that was allowed on a type, and thus had a
separate way to propagate the CC.
These issues were reported
[here](https://github.com/llvm/llvm-project/issues/161077) and
[here](https://github.com/llvm/llvm-project/pull/161349).
Closes: https://github.com/llvm/llvm-project/issues/161077
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: ae11c5c2c4d7ae4cba4a8e05f0c7d85b316a2cf0
https://github.com/llvm/llvm-project/commit/ae11c5c2c4d7ae4cba4a8e05f0c7d85b316a2cf0
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorShuffle.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/Wasm/TranslateFromWasm.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir] Switch uses of deprecated .create methods to free function. NFC. (#164635)
See https://discourse.llvm.org/t/psa-opty-create-now-with-100-more-tab-complete/87339.
Commit: a321ce3d72ebe28f7a3bfb209f2f27d3ab057e77
https://github.com/llvm/llvm-project/commit/a321ce3d72ebe28f7a3bfb209f2f27d3ab057e77
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Expose getGEPExpr without needing to pass GEPOperator* (NFC) (#164487)
Add a new getGEPExpr variant which is independent of GEPOperator*.
To be used to construct SCEVs for VPlan recipes in
https://github.com/llvm/llvm-project/pull/161276.
PR: https://github.com/llvm/llvm-project/pull/164487
Commit: 003101e5f891dfec614a101b26dff22d92234391
https://github.com/llvm/llvm-project/commit/003101e5f891dfec614a101b26dff22d92234391
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
Log Message:
-----------
[bazel][libc] Add missing dependency (#164640)
Fixes #164522.
Commit: f3599e55d12de7535cf5697a73fb0e1d74e037a2
https://github.com/llvm/llvm-project/commit/f3599e55d12de7535cf5697a73fb0e1d74e037a2
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
A mlir/include/mlir/Dialect/OpenACC/Analysis/OpenACCSupport.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtils.h
A mlir/lib/Dialect/OpenACC/Analysis/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/Analysis/OpenACCSupport.cpp
M mlir/lib/Dialect/OpenACC/CMakeLists.txt
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp
A mlir/test/Dialect/OpenACC/support-analysis-varname.mlir
M mlir/test/lib/Dialect/OpenACC/CMakeLists.txt
M mlir/test/lib/Dialect/OpenACC/TestOpenACC.cpp
A mlir/test/lib/Dialect/OpenACC/TestOpenACCSupport.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCUtilsTest.cpp
Log Message:
-----------
[mlir][acc] Add OpenACCSupport for extensible dialect handling (#164510)
The OpenACC dialect must coexist with source language dialects (FIR,
CIR, etc.) to enable offloading. While type interfaces
(`PointerLikeType` and `MappableType`) provide the primary contract for
variable mapping, some scenarios require pipeline-specific customization
or need to express information that cannot be adequately captured
through operation and type interfaces alone.
This commit introduces the `OpenACCSupport` analysis, which provides
extensible support APIs that can be customized per-pipeline. The
analysis follows the Concept-Model pattern used in MLIR's
`AliasAnalysis` and is never invalidated, persisting throughout the pass
pipeline.
The initial API, `getVariableName(Value) -> string`, retrieves variable
names from MLIR values by:
- Checking for `acc.var_name` attributes
- Extracting names from ACC data clause operations (e.g., `acc.copyin`)
- Walking through `ViewLikeOpInterface` operations to find the source
This will be used in the implicit data mapping pass to automatically
generate device mappings with correct user-visible variable names.
Usage: Passes call `getAnalysis<OpenACCSupport>()` to get a cached
instance with either the default or a previously- registered custom
implementation. Custom implementations can be registered in a setup pass
by calling `setImplementation()` before the consumer pass runs.
Commit: 2936852d2f6b0e7af6237abe9796c494885b2aac
https://github.com/llvm/llvm-project/commit/2936852d2f6b0e7af6237abe9796c494885b2aac
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
A llvm/test/LTO/AArch64/Inputs/bar.ll
A llvm/test/LTO/AArch64/Inputs/fiz.ll
A llvm/test/LTO/AArch64/Inputs/foo.ll
A llvm/test/LTO/AArch64/Inputs/old.ll
R llvm/test/LTO/AArch64/TestInputs/bar.ll
R llvm/test/LTO/AArch64/TestInputs/fiz.ll
R llvm/test/LTO/AArch64/TestInputs/foo.ll
R llvm/test/LTO/AArch64/TestInputs/old.ll
M llvm/test/LTO/AArch64/link-branch-target-enforcement.ll
M llvm/test/LTO/AArch64/link-sign-return-address.ll
Log Message:
-----------
[ARM][AArch64] Move TestInputs to Inputs (#164633)
It's standard in LLVM to have test inputs be in "Inputs". See
https://llvm.org/docs/TestingGuide.html#extra-files.
Fixes internal issue with #86212.
Commit: 16641ad8a29b6c877a3f934cd61d6acc9719e87e
https://github.com/llvm/llvm-project/commit/16641ad8a29b6c877a3f934cd61d6acc9719e87e
Author: Nicole Aschenbrenner <nicole.aschenbrenner at amd.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
M offload/include/device.h
M offload/include/omptarget.h
M offload/libomptarget/OpenMP/API.cpp
M offload/libomptarget/device.cpp
M offload/libomptarget/exports
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
A offload/test/mapping/is_accessible.cpp
Log Message:
-----------
[OpenMP] Adds omp_target_is_accessible routine (#138294)
Adds omp_target_is_accessible routine.
Refactors common code from omp_target_is_present to work for both
routines.
---------
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: 1128d3bddb2dbfba357febcc1bf44e7593644ce5
https://github.com/llvm/llvm-project/commit/1128d3bddb2dbfba357febcc1bf44e7593644ce5
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M lldb/test/API/CMakeLists.txt
Log Message:
-----------
[lldb] add a warning if `dirname` is not in the PATH (#164494)
This patch adds a check in lldb's API test CMakeLists file to ensure
that `dirname` is in the PATH, which is not obvious on Windows.
---------
Co-authored-by: nerix <nero.9 at hotmail.de>
Commit: 1e8834ea3ab770bf7befa3fae917f2c686d00e3b
https://github.com/llvm/llvm-project/commit/1e8834ea3ab770bf7befa3fae917f2c686d00e3b
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
Log Message:
-----------
[mlir][vector][xegpu] Accept uniform values in `getDistributedType` (#163887)
Uniform values should not be distributed during vector distribution.
Example would be a reduction result where reduction happens across
lanes.
However, current `getDistributedType` does not accept a zero result
affine map (i.e. no distributed dims) when describing the distributed
dimensions. This result in null type being returned and crashing the
vector distribution in some cases. An example case would be a `scf.for`
op (about to be distributed) in which one of the for result is a uniform
value and it does not have a user outside the warp op. This necessitates
querying the `getDistributedType` to figure our the distributed type of
this value.
Commit: 6fca1381189065bf363257d5bc626f4f11e91a7f
https://github.com/llvm/llvm-project/commit/6fca1381189065bf363257d5bc626f4f11e91a7f
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
Log Message:
-----------
[BasicBlockUtils] Add BasicBlock printer (#163066)
Commit: 57a8599d14d4685487064e8b8a5c748970daa4d6
https://github.com/llvm/llvm-project/commit/57a8599d14d4685487064e8b8a5c748970daa4d6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/docs/CodingStandards.rst
Log Message:
-----------
[Docs] Clarify the brace policy for if/else/loop statements (#164570)
Without this patch, the five-paragraph section is unclear about
exactly when to use and not to use braces. Specifically, the first
paragraph suggests omitting braces, and then subsequent paragraphs
carve out exceptions. At the end, it's unclear what situations remain
for omitting braces.
This patch overhauls the text for readability. Specifically, it first
describes when to omit braces and then lists cases where we should
retain braces.
Commit: 72616c5ca99bcf4d93d423642387016cb88409bb
https://github.com/llvm/llvm-project/commit/72616c5ca99bcf4d93d423642387016cb88409bb
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/AST/ASTConcept.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
M clang/test/SemaTemplate/concepts-recursive-inst.cpp
Log Message:
-----------
[Clang] Avoid building unnecessary expressions when checking satisfaction (#164611)
When establishing constraint satisfaction, we were building expressions
even for compound constraint,
This is unnecessary extra work that accounts for ~20% of the performance
regression observed here
https://github.com/llvm/llvm-project/pull/161671#issuecomment-3420976661
Commit: a4ff6d9cf8bcd0b1545644a137f63e00f5750123
https://github.com/llvm/llvm-project/commit/a4ff6d9cf8bcd0b1545644a137f63e00f5750123
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/assign_copy.pass.cpp
M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_copy.pass.cpp
M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_copy.pass.cpp
M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/assign_copy.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/support/test_macros.h
Log Message:
-----------
[libc++][C++03] Introduce LIBCPP_{,NON_}FROZEN_ASSERT (#163380)
There are a few cases where test only fail with the C++03 frozen headers
because some implementation details are asserted. This patch introduces
new assertion macros to differentiate between frozen and non-frozen
headers.
Commit: a516cc0badca0ebbe8db4ce415b95f4696c8d845
https://github.com/llvm/llvm-project/commit/a516cc0badca0ebbe8db4ce415b95f4696c8d845
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
Log Message:
-----------
[libc++][C++03] Fix alg.count/count.pass.cpp (#163751)
Commit: 949148c1f33b96cf8893741e16129684e595b0ce
https://github.com/llvm/llvm-project/commit/949148c1f33b96cf8893741e16129684e595b0ce
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[mlir][tosa] Fix argmax folder when output type is i64 (#163583)
Previously the following IR:
```
tosa.argmax %arg0 {axis = 0 : i32} : (tensor<1xi8>) -> tensor<i64>
```
Would result in a crash with the assertion:
```
expected dense element bit width 64 to match data size 32 for type i64
```
This commit ensures that zero is constructed with the correct bitwidth
while folding, therefore fixing the crash.
Commit: f67880ae3d23981c733383126267dd8e841d1ea9
https://github.com/llvm/llvm-project/commit/f67880ae3d23981c733383126267dd8e841d1ea9
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
Log Message:
-----------
[lldb-dap] Fix mutex acquisition order for modules event. (#163821)
The modules event requires the `APIMutex` to create the module load
address. this may happen at the same time the `module request` is
handled.
The modules request also requires the `APIMutex` and the `modules_mutex,
set the order to acquire the mutexes.
Commit: d5e9a56ccb44eeb1f36a7af8be81081bbf00eb9c
https://github.com/llvm/llvm-project/commit/d5e9a56ccb44eeb1f36a7af8be81081bbf00eb9c
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
Log Message:
-----------
[CIR][NFC] Update redirection syntax in lit test (#164572)
Update the redirection syntax in the lit test file to be compatible with
the LLVM internal shell, which is the default now
Commit: 57a8228f40b6d8593a8744f6285444f124c636b8
https://github.com/llvm/llvm-project/commit/57a8228f40b6d8593a8744f6285444f124c636b8
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/nl-types-macros.h
M libc/include/nl_types.yaml
M libc/test/src/nl_types/CMakeLists.txt
M libc/test/src/nl_types/nl_types_test.cpp
Log Message:
-----------
[libc] Add macros definitions for <nl_types.h> (#164474)
This PR adds required macro definitions to `<nl_types.h>` header, so
that they're available to the code including it.
The header itself was added in 12abe8aed6dc724546cf93c94d7ff6abe864f28b,
together with stub definitions of the three required functions.
Commit: e6af0a40acc6d244b6862142829274e0bde7d75c
https://github.com/llvm/llvm-project/commit/e6af0a40acc6d244b6862142829274e0bde7d75c
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
Log Message:
-----------
[flang][OpenMP] Keep track of scoping units in OmpStructureChecker (#164419)
Introduce a stack of scopes to OmpStructureChecker for scoping units,
plus function/subroutine entries in interfaces.
This will help with applying and locating properties introduced by
declarative or informational directives (e.g. DECLARE_TARGET, REQUIRES),
which are stored as flags on the corresponding symbols.
Commit: 322dd630043855f81043f02ff4ab43899587ea47
https://github.com/llvm/llvm-project/commit/322dd630043855f81043f02ff4ab43899587ea47
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate04.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate08.f90
M flang/test/Semantics/OpenMP/allocators04.f90
R flang/test/Semantics/OpenMP/allocators06.f90
M flang/test/Semantics/OpenMP/declarative-directive02.f90
Log Message:
-----------
[flang][OpenMP] Refactor/update semantic checks for ALLOCATE directive (#164420)
OpenMP 5.0 and 5.1 allowed the ALLOCATE directive to appear in two
forms, declarative and executable. The syntax of an individual directive
was the same in both cases, but the semantic restrictions were slightly
different.
- Update the semantic checks to reflect the different restrictions,
gather them in a single function.
- Improve test for the presence of a TARGET region, add a check for
REQUIRES directive.
- Update tests.
Commit: 23ead476550a667d532554e966704494173fd9d7
https://github.com/llvm/llvm-project/commit/23ead476550a667d532554e966704494173fd9d7
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
M flang/lib/Optimizer/OpenACC/Transforms/ACCRecipeBufferization.cpp
M flang/lib/Optimizer/OpenMP/AutomapToTargetData.cpp
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/Support/Utils.cpp
M flang/lib/Utils/OpenMP.cpp
Log Message:
-----------
[flang][mlir] Migrate to free create functions. NFC. (#164657)
See
https://discourse.llvm.org/t/psa-opty-create-now-with-100-more-tab-complete/87339.
I plan to mark these as deprecated in
https://github.com/llvm/llvm-project/pull/164649.
Commit: 47ea8543e26a823a0543bbdf2ff529ec432c09e2
https://github.com/llvm/llvm-project/commit/47ea8543e26a823a0543bbdf2ff529ec432c09e2
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
M flang/tools/fir-opt/fir-opt.cpp
Log Message:
-----------
[flang] Update target rewrite to support workgroup and private attributions (#164515)
Some operations like the gpu.func have arguments that need to stay in
place while rewriting the signature. This is the case for the workgroup
and private attribution.
Update the target rewrite pass to be aware of that when adding argument
at the end of the function signature. If any trailing arguments are
present, the new argument will be inserted just before them.
Commit: 866879f80342b857a8b911c804189c43ac4fc334
https://github.com/llvm/llvm-project/commit/866879f80342b857a8b911c804189c43ac4fc334
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
Log Message:
-----------
[clang] Don't silently inherit the VFS from `FileManager` (#164323)
Since https://github.com/llvm/llvm-project/pull/158381 the
`CompilerInstance` is aware of the VFS and co-owns it. To reduce scope
of that PR, the VFS was being inherited from the `FileManager` during
`setFileManager()` if it wasn't configured before. However, the
implementation of that setter was buggy. This PR fixes the bug, and
moves us closer to the long-term goal of `CompilerInstance` requiring
the VFS to be configured explicitly and owned by the instance.
Commit: e2ad55499197db540d09e7201b9b80366a0908c3
https://github.com/llvm/llvm-project/commit/e2ad55499197db540d09e7201b9b80366a0908c3
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Fir/basic-program.fir
M mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt
A mlir/include/mlir/Dialect/OpenMP/Transforms/CMakeLists.txt
A mlir/include/mlir/Dialect/OpenMP/Transforms/Passes.h
A mlir/include/mlir/Dialect/OpenMP/Transforms/Passes.td
M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
M mlir/lib/Dialect/OpenMP/CMakeLists.txt
A mlir/lib/Dialect/OpenMP/Transforms/CMakeLists.txt
A mlir/lib/Dialect/OpenMP/Transforms/OpenMPOffloadPrivatizationPrepare.cpp
M mlir/lib/RegisterAllPasses.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Dialect/OpenMP/omp-offload-privatization-prepare-by-value.mlir
A mlir/test/Dialect/OpenMP/omp-offload-privatization-prepare.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[Flang][mlir] - Translation of delayed privatization for deferred target-tasks (#155348)
This PR adds support for translation of the private clause on deferred
target tasks - that is `omp.target` operations with the `nowait` clause.
An offloading call for a deferred target-task is not blocking - the
offloading (target-generating) host task continues its execution after issuing the offloading
call. Therefore, the key problem we need to solve is to ensure that the
data needed for private variables to be initialized in the target task
persists even after the host task has completed.
We do this in a new pass called `PrepareForOMPOffloadPrivatizationPass`.
For a privatized variable that needs its host counterpart for
initialization (such as the shape of the data from the descriptor when
an allocatable is privatized or the value of the data when an
allocatable is firstprivatized),
- the pass allocates memory on the heap.
- it then initializes this memory by using the `init` and `copy` (for
firstprivate) regions of the corresponding `omp::PrivateClauseOp`.
- Finally the memory allocated on the heap is freed using the `dealloc`
region of the same `omp::PrivateClauseOp` instance. This step is not
straightforward though, because we cannot simply free the memory that's
going to be used by another thread without any synchronization. So, for
deallocation, we create a `omp.task` after the `omp.target` and
synchronize the two with a dummy dependency (using the `depend` clause).
In this newly created `omp.task` we do the deallocation.
Commit: 0e807a4261913f73ce68052cb2707b4e7ae89e7b
https://github.com/llvm/llvm-project/commit/0e807a4261913f73ce68052cb2707b4e7ae89e7b
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCBufferAccess.cpp
M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer.ll
Log Message:
-----------
[SPIRV][HLSL] Fix assert with cbuffers through constexpr (#164555)
The comment here pointed out that RAUW would fall over given a
constantexpr, but then proceeded to just do what RAUW does by hand,
which falls over in the same way. Instead, convert constantexprs
involving cbuffer globals to instructions before processing them.
The test update just modifies the existing cbuffer test, since it
implied it was trying to test this exact case anyways.
Commit: e9c7966046803a43b711d2b309e189ea8a3e0e85
https://github.com/llvm/llvm-project/commit/e9c7966046803a43b711d2b309e189ea8a3e0e85
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Analysis/DXILResource.cpp
M llvm/test/CodeGen/DirectX/Metadata/resource-symbols.ll
Log Message:
-----------
[DirectX] Fix crash when naming buffers of arrays (#164553)
DXILResource was falling over trying to name a resource type that
contained an array, such as `StructuredBuffer<float[3][2]>`. Handle this
by walking through array types to gather the dimensions.
Commit: 735b1ad667ac7373c89ccc0f0e757ef418f8f790
https://github.com/llvm/llvm-project/commit/735b1ad667ac7373c89ccc0f0e757ef418f8f790
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Fix Formatting (#164672)
To make the CI happy again.
Commit: 6c8ad30a82a7ed240cbc3abc07c6759905fecd5b
https://github.com/llvm/llvm-project/commit/6c8ad30a82a7ed240cbc3abc07c6759905fecd5b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Do not consider function result as host array (#164669)
The function result in a device function is not a host array. Avoid
triggering the error `Host array 'res' cannot be present in device
context` for this.
Commit: c70d0812ba17953b3e405eb2b01dd892b94585f1
https://github.com/llvm/llvm-project/commit/c70d0812ba17953b3e405eb2b01dd892b94585f1
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MIR2Vec.h
M llvm/lib/Analysis/models/x86SeedEmbeddingVocab100D.json
M llvm/lib/CodeGen/MIR2Vec.cpp
M llvm/test/CodeGen/MIR2Vec/Inputs/mir2vec_dummy_2D_vocab.json
M llvm/test/CodeGen/MIR2Vec/Inputs/mir2vec_dummy_3D_vocab.json
M llvm/test/CodeGen/MIR2Vec/Inputs/mir2vec_inconsistent_dims.json
M llvm/test/CodeGen/MIR2Vec/Inputs/mir2vec_zero_vocab.json
M llvm/test/CodeGen/MIR2Vec/Inputs/reference_x86_vocab_print.txt
M llvm/test/CodeGen/MIR2Vec/Inputs/reference_x86_vocab_wo=0.5_print.txt
M llvm/test/CodeGen/MIR2Vec/if-else.mir
M llvm/test/CodeGen/MIR2Vec/mir2vec-basic-symbolic.mir
M llvm/test/CodeGen/MIR2Vec/vocab-error-handling.ll
M llvm/unittests/CodeGen/MIR2VecTest.cpp
Log Message:
-----------
[MIR2Vec] Handle Operands (#163281)
Handling opcodes in embedding computation.
- Revamped MIR Vocabulary with four sections - `Opcodes`, `Common Operands`, `Physical Registers`, and `Virtual Registers`
- Operands broadly fall into 3 categories -- the generic MO types that are common across architectures, physical and virtual register classes. We handle these categories separately in MIR2Vec. (Though we have same classes for both physical and virtual registers, their embeddings vary).
Commit: 99abda7b02c9d6ba8b996867d2de624815ace1ce
https://github.com/llvm/llvm-project/commit/99abda7b02c9d6ba8b996867d2de624815ace1ce
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
Revert "[clang-format] Annotate ::operator and Foo::operator correctly" (#164670)
Reverts llvm/llvm-project#164048
This led to a regression in clang-format where a space gets added in
between the parameter type and `&`. For example, this
```
::test_anonymous::FunctionApplication& ::test_anonymous::FunctionApplication::operator=(const ::test_anonymous::FunctionApplication& other) noexcept {
```
becomes
```
::test_anonymous::FunctionApplication& ::test_anonymous::FunctionApplication::operator=(const ::test_anonymous::FunctionApplication & other) noexcept {
```
Commit: 04b5cc6a2457dbd6b320c8345959cf60c94e3cc6
https://github.com/llvm/llvm-project/commit/04b5cc6a2457dbd6b320c8345959cf60c94e3cc6
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/Sema/Sema.cpp
M clang/test/Interpreter/pretty-print.c
Log Message:
-----------
[clang-repl] Fix duplicate definition error for symbols in C mode (#164597)
Fixes #164596
Commit: 9fc353ee36d646ed0dc609734a364437265ec374
https://github.com/llvm/llvm-project/commit/9fc353ee36d646ed0dc609734a364437265ec374
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M libc/include/wchar.yaml
M libc/src/wchar/wcsnrtombs.cpp
M libc/src/wchar/wcsnrtombs.h
M libc/src/wchar/wcsrtombs.cpp
M libc/src/wchar/wcsrtombs.h
Log Message:
-----------
[libc] Fix a couple issues in <wchar.h> header (#164666)
* Add FILE type declaration, as it should be presented in `<wchar.h>`,
as well as in `<stdio.h>`
* Fix argument type in `wcsrtombs` / `wcsnrtombs` function - it should
be restrict pointer to `mbstate_t`. Add restrict qualifier to internal
implementation as well.
This brings us closer to being able to build libcxx with wide-character
support against llvm-libc headers.
Commit: 58d4f180676776ed70f7408189f0fcd087919439
https://github.com/llvm/llvm-project/commit/58d4f180676776ed70f7408189f0fcd087919439
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/annex-k-macros.h
Log Message:
-----------
[libc][annex_k] Add Annex K support macros. (#163100)
RFC https://discourse.llvm.org/t/rfc-bounds-checking-interfaces-for-llvm-libc/87685
Add internal support macros required by Annex K interface in LLVM libc.
Commit: 9a2e825c13655d955054bb65be5fc010c7ed69e3
https://github.com/llvm/llvm-project/commit/9a2e825c13655d955054bb65be5fc010c7ed69e3
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAsm.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
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/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepareItaniumCXXABI.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/unittests/CIR/PointerLikeTest.cpp
Log Message:
-----------
[clang][CIR][mlir] Migrate to free create functions. NFC. (#164656)
See
https://discourse.llvm.org/t/psa-opty-create-now-with-100-more-tab-complete/87339.
I plan to make these deprecated in
https://github.com/llvm/llvm-project/pull/164649.
Commit: 5d6c00cd0f8f644106b976d65de56f9f4ffa1587
https://github.com/llvm/llvm-project/commit/5d6c00cd0f8f644106b976d65de56f9f4ffa1587
Author: Vinay Deshmukh <vinay_deshmukh at outlook.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/include/complex_test.cpp
M libc/test/integration/src/pthread/pthread_barrier_test.cpp
M libc/test/src/math/exhaustive/bfloat16_add_test.cpp
M libc/test/src/math/exhaustive/bfloat16_div_test.cpp
M libc/test/src/math/exhaustive/bfloat16_mul_test.cpp
M libc/test/src/math/exhaustive/bfloat16_sub_test.cpp
M libc/test/src/signal/sigaltstack_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopen_test.cpp
M libc/test/src/sys/socket/linux/send_recv_test.cpp
M libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
M libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
M libc/test/src/time/ctime_r_test.cpp
M libc/test/src/time/mktime_test.cpp
Log Message:
-----------
[libc] Add -Werror for libc tests (#160413)
Relates to https://github.com/llvm/llvm-project/issues/119281
Note:
1) As this PR enables `-Werror` for `libc` tests, it's very likely some
downstream CI's may fail / start failing, so it's very likely this PR
may need to be reverted and re-applied.
P.S.
I do not have merge permissions, so I will need one of the reviews to
merge it for me. Thank you!
Commit: 25a915a91cf4a5e5fd34e6613b0d329e32451a4f
https://github.com/llvm/llvm-project/commit/25a915a91cf4a5e5fd34e6613b0d329e32451a4f
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[ThinLTO] Add HasLocal flag to GlobalValueSummaryInfo (#164647)
Add a flag to the GlobalValueSummaryInfo indicating whether the
associated SummaryList (all summaries with the same GUID) contains any
summaries with local linkage. This flag is set when building the index,
so it is associated with the original linkage type before
internalization and promotion. Consumers should check the
withInternalizeAndPromote() flag on the index before using it.
In most cases we expect a 1-1 mapping between a GUID and a summary with
local linkage, because for locals the GUID is computed from the hash of
"modulepath;name". However, there can be multiple locals with the same
GUID if translation units are not compiled with enough path. And in rare
but theoretically possible cases, there can be hash collisions on the
underlying MD5 computation. So to be safe when looking for local
summaries, analyses currently look through all summaries in the list.
These lists can be extremely long in the case of large binaries with
template function defs in widely used headers (i.e. linkonce_odr).
A follow on change will use this flag to reduce ThinLTO analysis time in
WPD by 5-6% for a large target (details in PR164046 which will be
reworked to use this flag).
Note that in the past we have tried to keep bits related to the GUID in
the ValueInfo (which has a pointer to the associated
GlobalValueSummaryInfo), via its PointerIntPair. However, we are out of
bits there. This change does add a byte to every GlobalValueSummaryInfo
instance, which I measured as a little under 0.90% overhead in a large
target. However, it enables adding 7 bits of other per-GUID flags in the
future without adding more overhead. Note that it was lower overhead to
add this to the GlobalValueSummaryInfo than the ValueInfo, which tends
to be copied into other maps.
Commit: 10113c4ab425167d3a18ba0425466cab118902d7
https://github.com/llvm/llvm-project/commit/10113c4ab425167d3a18ba0425466cab118902d7
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
Log Message:
-----------
[bazel][libc] Add missing dependency (#164668)
Fixes #164522.
Commit: f8f7f1b67c8ee5d81847955dc36fab86a6d129ad
https://github.com/llvm/llvm-project/commit/f8f7f1b67c8ee5d81847955dc36fab86a6d129ad
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/utils/lit/tests/shtest-ulimit.py
Log Message:
-----------
[lit] Update shtest-ulimit.py to explicitly check default limits (#164678)
The recently added ulimit_reset.txt section in shtest-ulimit.py was
failing on some builders if the default file descriptor limit started
with 50. This patch fixes that by explicitly checking that the file
descriptor limit is equal to the default value.
Commit: 9a97717df0647c0073bade6504e8c8c155ef5186
https://github.com/llvm/llvm-project/commit/9a97717df0647c0073bade6504e8c8c155ef5186
Author: Nico Weber <thakis at chromium.org>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/include/llvm/Config/config.gni
M llvm/utils/gn/secondary/llvm/lib/CAS/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CAS/BUILD.gn
Log Message:
-----------
[gn] port be9c083cf7ec (CAS on-disk changes)
Commit: f607b2a6ea36d61e7526b44826b6a61c172f6c4d
https://github.com/llvm/llvm-project/commit/f607b2a6ea36d61e7526b44826b6a61c172f6c4d
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/Sema.cpp
Log Message:
-----------
[clang][Sema][NFC] Remove unused delayed template parsing cleanup callback (#164149)
The last use of it was removed in 6163aa9.
Commit: c0b42ec05344707d94805ec795a7bc8d33a09594
https://github.com/llvm/llvm-project/commit/c0b42ec05344707d94805ec795a7bc8d33a09594
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M mlir/include/mlir/IR/Builders.h
M mlir/lib/Dialect/OpenMP/Transforms/OpenMPOffloadPrivatizationPrepare.cpp
Log Message:
-----------
[mlir][IR] Deprecate `OpBuilder::create` in favor of free functions (#164649)
These have been soft-deprecated since July:
https://discourse.llvm.org/t/psa-opty-create-now-with-100-more-tab-complete/87339
Add a deprecation attribute to prevent new uses from creeping in.
Commit: c597a4f476655cfa5ab2983964e10eb289554547
https://github.com/llvm/llvm-project/commit/c597a4f476655cfa5ab2983964e10eb289554547
Author: lntue <lntue at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/include/complex_test.cpp
M libc/test/integration/src/pthread/pthread_barrier_test.cpp
M libc/test/src/math/exhaustive/bfloat16_add_test.cpp
M libc/test/src/math/exhaustive/bfloat16_div_test.cpp
M libc/test/src/math/exhaustive/bfloat16_mul_test.cpp
M libc/test/src/math/exhaustive/bfloat16_sub_test.cpp
M libc/test/src/signal/sigaltstack_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopen_test.cpp
M libc/test/src/sys/socket/linux/send_recv_test.cpp
M libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
M libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
M libc/test/src/time/ctime_r_test.cpp
M libc/test/src/time/mktime_test.cpp
Log Message:
-----------
Revert "[libc] Add -Werror for libc tests" (#164684)
Reverts llvm/llvm-project#160413
Commit: a746fe561c153e3d493168ea1aa73300f0f3e4fd
https://github.com/llvm/llvm-project/commit/a746fe561c153e3d493168ea1aa73300f0f3e4fd
Author: Ryan Mansfield <ryan_mansfield at apple.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/test/tools/llvm-objdump/MachO/disassemble-source-dsym.test
M llvm/tools/llvm-objdump/MachODump.cpp
Log Message:
-----------
[llvm-objdump] Fix --source with --macho flag (#163810)
The --source option was broken when using the --macho flag because
DisassembleMachO() only initialized debug info when UseDbg was true, and
would return early if no dSYM was found.
Commit: ff6ed3d7cca44d23645e10e6f75742a1b205aece
https://github.com/llvm/llvm-project/commit/ff6ed3d7cca44d23645e10e6f75742a1b205aece
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/AsmParser/BUILD.gn
Log Message:
-----------
[gn build] Port 18d4ba593db9
Commit: 9313148f98d5bb1f838536046ef750e18326186d
https://github.com/llvm/llvm-project/commit/9313148f98d5bb1f838536046ef750e18326186d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 917384664076
Commit: a7f2cd353fde8c44700a76cab4510a01f46dd222
https://github.com/llvm/llvm-project/commit/a7f2cd353fde8c44700a76cab4510a01f46dd222
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port af6fa77a351e
Commit: 8c04420f3a3419fec99a5c3225f08ec75c8ca31e
https://github.com/llvm/llvm-project/commit/8c04420f3a3419fec99a5c3225f08ec75c8ca31e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port e8b255df1bb4
Commit: 8e7e9d430969611e8a5ed0ee44a1b2fd649ed992
https://github.com/llvm/llvm-project/commit/8e7e9d430969611e8a5ed0ee44a1b2fd649ed992
Author: Nathan Corbyn <n_corbyn at apple.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/test/Transforms/DeadStoreElimination/matrix-intrinsics.ll
M llvm/test/Transforms/GVN/matrix-intrinsics.ll
Log Message:
-----------
[MemoryLocation] Support strided matrix loads / stores (#163368)
This patch provides an approximation of the memory locations touched by
`llvm.matrix.column.major.load` and `llvm.matrix.column.major.store`,
enabling dead store elimination and GVN to remove redundant loads and
dead stores.
PR: https://github.com/llvm/llvm-project/pull/163368
Commit: 3e6f696af78b509351ce58dda2bcba2f729334cb
https://github.com/llvm/llvm-project/commit/3e6f696af78b509351ce58dda2bcba2f729334cb
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScannerImpl.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/test/ClangScanDeps/response-file.c
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
Log Message:
-----------
[clang][deps] Fix a use-after-free from expanding response files (#164676)
In 436861645247 we accidentally moved uses of command-line args saved
into a bump pointer allocator during response file expansion out of
scope of the allocator. Also, the test that should have caught this (at
least with asan) was not working correctly because clang-scan-deps was
expanding response files itself during argument adjustment rather than
the underlying scanner library.
rdar://162720059
Commit: 08619d82546b92def9fcaa43af8769c140a60319
https://github.com/llvm/llvm-project/commit/08619d82546b92def9fcaa43af8769c140a60319
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
Log Message:
-----------
[gn build] Port 18d4ba593db9
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/164693
Commit: db2b7fef6df7600142c08c1b3b470703e9470e08
https://github.com/llvm/llvm-project/commit/db2b7fef6df7600142c08c1b3b470703e9470e08
Author: Reid Kleckner <rnk at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[bazel] Fix MLIR Python tablegen deps after 5129b37 (#164690)
Commit: 12f0e48c0175b59127e56e6ae0bdb0244174df96
https://github.com/llvm/llvm-project/commit/12f0e48c0175b59127e56e6ae0bdb0244174df96
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[FlowSensitive] [StatusOr] [4/N] Support comparisons (#163871)
Commit: eb9574d0512bae1f08caad4aef324d61778ac3c7
https://github.com/llvm/llvm-project/commit/eb9574d0512bae1f08caad4aef324d61778ac3c7
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/SmallVector.h
M llvm/unittests/ADT/SmallVectorTest.cpp
Log Message:
-----------
[ADT] Add `SmallVector::assign` overload for `ArrayRef` (#164680)
We already have a matching constructor from ArrayRef, so add support for
assigning from ArrayRef as well.
Commit: 18085561a9a522692c7e6b057fb906bf38e86c12
https://github.com/llvm/llvm-project/commit/18085561a9a522692c7e6b057fb906bf38e86c12
Author: Lang Hames <lhames at gmail.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
Log Message:
-----------
[ORC] Remove an unused member variable.
Commit: f2c235a892fc36a82cb8c55790eeaca7bd693ebf
https://github.com/llvm/llvm-project/commit/f2c235a892fc36a82cb8c55790eeaca7bd693ebf
Author: Thurston Dang <thurston at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
A clang/test/CodeGen/allow-ubsan-check-divergence.c
Log Message:
-----------
[ubsan][test] Add allow-ubsan-check-divergence.c (#164673)
This testcase shows that adding a ubsan check and then removing it
during the LowerAllowCheck pass does not entirely undo the effects of
adding the check.
Commit: bfc322dd724735bedf763705f373749dd1b7ed65
https://github.com/llvm/llvm-project/commit/bfc322dd724735bedf763705f373749dd1b7ed65
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-22 (Wed, 22 Oct 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/transform-narrow-interleave-to-widen-memory-constant-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll
Log Message:
-----------
Revert "[VPlan] Run narrowInterleaveGroups during general VPlan optimizations. (#149706)"
This reverts commit 8d29d09309654541fb2861524276ada6a3ebf84c.
There have been reports of mis-compiles
in https://github.com/llvm/llvm-project/pull/149706.
Revert while I investigate.
Commit: c1678e52f956f75f62d3240cf89d69c90b6505a4
https://github.com/llvm/llvm-project/commit/c1678e52f956f75f62d3240cf89d69c90b6505a4
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M compiler-rt/lib/builtins/gcc_personality_v0.c
M libunwind/include/__libunwind_config.h
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/UnwindRegistersSave.S
Log Message:
-----------
[PAC][libunwind] Fix gcc build of libunwind and compiler-rt (#164535)
This adds guards on the ptrauth feature checks so that they are only
performed if __has_feature is actually available.
Commit: 81a9d7528679b82625d27e4618b2388cab14cf79
https://github.com/llvm/llvm-project/commit/81a9d7528679b82625d27e4618b2388cab14cf79
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[mlir][acc] Add mapping operation for firstprivate without counter (#164677)
The OpenACC data clause operation `acc.copyin` used for mapping
variables to device memory includes bookkeeping required by the OpenACC
spec for updating present counters. However, for firstprivate variables,
no counters should be updated since this clause creates a private copy
on the device initialized with the original value from the host (as
described in OpenACC 3.4 section 2.5.14: "the copy will be initialized
with the value of that item on the local thread").
This PR introduces the `acc.firstprivate_map` operation to capture these
mapping semantics without counter updates. A test is included
demonstrating how this operation can be used to initialize a
materialized private variable (represented by `memref.alloca` inside an
`acc.parallel` region).
Commit: 07ed101f8dab6e7080aa8e89ba03ad61be3ce93c
https://github.com/llvm/llvm-project/commit/07ed101f8dab6e7080aa8e89ba03ad61be3ce93c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Support logical(4) in syncthread_and|count|or functions (#164706)
Commit: a7672fee0fba5fd673bd17f91d421fc0a896cebc
https://github.com/llvm/llvm-project/commit/a7672fee0fba5fd673bd17f91d421fc0a896cebc
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/test/CodeGen/WebAssembly/memory-interleave.ll
Log Message:
-----------
[WebAssembly] Fixup test after bfc322dd724735.
Test update was missed in bfc322dd724735 due a codegen test running
loop-vectorize directly. The loop does not get vectorized any longer.
Commit: f5fdd43b16192bb85beb43e6cfe8d5e12a3ba976
https://github.com/llvm/llvm-project/commit/f5fdd43b16192bb85beb43e6cfe8d5e12a3ba976
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[clang] Refactor `ASTUnit::LoadFromASTFile()` (#164265)
This PR refactors `ASTUnit::LoadFromASTFile()` to be easier to follow.
Conceptually, it tries to read an AST file, adopt the serialized
options, and set up `Sema` and `ASTContext` to deserialize the AST file
contents on-demand.
The implementation of this used to be spread across an
`ASTReaderListener` and the function in question. Figuring out what
listener method gets called when and how it's supposed to interact with
the rest of the functionality was very unclear. The `FileManager`'s VFS
was being swapped-out during deserialization, the options were being
adopted by `Preprocessor` and others just-in-time to pass `ASTReader`'s
validation checks, and the target was being initialized somewhere in
between all of this. This lead to a very muddy semantics.
This PR splits `ASTUnit::LoadFromASTFile()` into three distinct steps:
1. Read out the options from the AST file.
2. Initialize objects from the VFS to the `ASTContext`.
3. Load the AST file and hook it up with the compiler objects.
This should be much easier to understand, and I've done my best to
clearly document the remaining gotchas.
(This was originally motivated by the desire to remove
`FileManager::setVirtualFileSystem()` and make it impossible to swap out
VFSs from underneath `FileManager` mid-compile.)
Commit: 764acd81de99859c595842b40a12f496decb2bad
https://github.com/llvm/llvm-project/commit/764acd81de99859c595842b40a12f496decb2bad
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[FlowSensitive] [StatusOr] [5/N] Support absl::OkStatus et al (#163872)
This allows comparison which these status codes
Commit: b7c7083c1f8655eeeb02893b33c2db9251336e0f
https://github.com/llvm/llvm-project/commit/b7c7083c1f8655eeeb02893b33c2db9251336e0f
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/docs/Extensions.rst
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/MC/MCAsmInfoELF.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/Object/ELF.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/test/CodeGen/ARM/call-graph-section-addrtaken.ll
M llvm/test/CodeGen/ARM/call-graph-section-assembly.ll
M llvm/test/CodeGen/X86/call-graph-section-addrtaken.ll
M llvm/test/CodeGen/X86/call-graph-section-assembly.ll
M llvm/test/tools/llvm-readobj/ELF/section-types.test
Log Message:
-----------
[llvm] Update call graph ELF section type. (#164461)
Make call graph section to have a dedicated type instead of the generic
progbits type.
Commit: 515352b64799c15c8ebef5e34f3062855be7cd2d
https://github.com/llvm/llvm-project/commit/515352b64799c15c8ebef5e34f3062855be7cd2d
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/unittests/CAS/CASTestConfig.cpp
Log Message:
-----------
[CAS][Unittest] Add a missing include (#164593)
Commit: 57544186a590ee226563a91f196e2e4ce862342f
https://github.com/llvm/llvm-project/commit/57544186a590ee226563a91f196e2e4ce862342f
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel][mlir][acc] Port #164510 to bazel (#164717)
Commit: 7634a8ed24260ddd4b81ee6388ffb10ef6111506
https://github.com/llvm/llvm-project/commit/7634a8ed24260ddd4b81ee6388ffb10ef6111506
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-ir2vec.rst
M llvm/include/llvm/CodeGen/MIR2Vec.h
M llvm/lib/CodeGen/MIR2Vec.cpp
A llvm/test/tools/llvm-ir2vec/embeddings-symbolic.mir
A llvm/test/tools/llvm-ir2vec/error-handling.mir
M llvm/tools/llvm-ir2vec/CMakeLists.txt
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
Log Message:
-----------
[MIR2Vec][llvm-ir2vec] Add MIR2Vec support to llvm-ir2vec tool (#164025)
Add MIR2Vec support to the llvm-ir2vec tool, enabling embedding generation for Machine IR alongside the existing LLVM IR functionality.
(This is an initial integration; Other entity/triplet gen for vocab generation would follow as separate patches)
Commit: cea0037136e61777811f40775c6406ac351e9142
https://github.com/llvm/llvm-project/commit/cea0037136e61777811f40775c6406ac351e9142
Author: Thurston Dang <thurston at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M mlir/lib/Dialect/OpenMP/Transforms/OpenMPOffloadPrivatizationPrepare.cpp
Log Message:
-----------
[flang][mlir] Fix-forward heap use-after-free in #155348 (#164712)
`mapInfoOp.getMembers()` on line 258 is use-after-free, because
cloneModifyAndErase (line 255) erased `mapInfoOp`. Fix the issue by
replacing subsequent `mapInfoOp` usages with `clonedOp`.
Similarly, update `memberMapInfoOp` to avoid subsequent use-after-free.
Commit: d46ef863d9549ddcea3e592b44bab0fc03edc5d5
https://github.com/llvm/llvm-project/commit/d46ef863d9549ddcea3e592b44bab0fc03edc5d5
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
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/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepareItaniumCXXABI.cpp
Log Message:
-----------
[CIR][NFC] Migrate more calls to free create functions (#164719)
This migrates some code that was calling the now-deprecated form of the
MLIR builder create function.
Commit: 095c178b8b1c3e8d880cb831354294fefae24aed
https://github.com/llvm/llvm-project/commit/095c178b8b1c3e8d880cb831354294fefae24aed
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
Log Message:
-----------
[CIR] Add support for exact dynamic casts (#164007)
This adds support for handling exact dynamic casts when optimizations
are enabled.
Commit: e362614c260c59b522f6e2ea977a75a158b27ece
https://github.com/llvm/llvm-project/commit/e362614c260c59b522f6e2ea977a75a158b27ece
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/tools/llvm-ir2vec/CMakeLists.txt
Log Message:
-----------
[llvm-ir2vec] Build issue fix in AMD buildbot (#164728)
Fixes the build issue in `openmp-offload-amdgpu-runtime-2` caused by
#164025
Commit: f50fc7ed46475597da968b700da4787b5e493908
https://github.com/llvm/llvm-project/commit/f50fc7ed46475597da968b700da4787b5e493908
Author: Nico Weber <thakis at chromium.org>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-ir2vec/BUILD.gn
Log Message:
-----------
[gn] port 7634a8ed2426
Commit: 9a0316fc40319f024a8b7ea86029ce913805723e
https://github.com/llvm/llvm-project/commit/9a0316fc40319f024a8b7ea86029ce913805723e
Author: Nico Weber <thakis at chromium.org>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-ir2vec/BUILD.gn
Log Message:
-----------
[gn] port e362614c260c59
Commit: fec3f9917d8586abaf952f4f4a4aa5e200cf9265
https://github.com/llvm/llvm-project/commit/fec3f9917d8586abaf952f4f4a4aa5e200cf9265
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/test/tools/llvm-ir2vec/embeddings-flowaware.ll
M llvm/test/tools/llvm-ir2vec/embeddings-symbolic.ll
M llvm/test/tools/llvm-ir2vec/embeddings-symbolic.mir
M llvm/test/tools/llvm-ir2vec/error-handling.ll
M llvm/test/tools/llvm-ir2vec/error-handling.mir
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
Log Message:
-----------
[NFC][llvm-ir2vec] Standardize error message format using WithColor (#164032)
Standardize error message formatting in llvm-ir2vec tool using WithColor for consistent error reporting.
Commit: 6939b3634b88d9e5597c7a2cdba91e2eabc7da52
https://github.com/llvm/llvm-project/commit/6939b3634b88d9e5597c7a2cdba91e2eabc7da52
Author: Reid Kleckner <rnk at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add OpenACCUtils library, follow-up fix for #164510 (#164729)
Commit: 91d666b542c18fc9570423fad65582e490597755
https://github.com/llvm/llvm-project/commit/91d666b542c18fc9570423fad65582e490597755
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
A clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
Log Message:
-----------
[CIR] Upstream support for calling functions via member expressions (#164518)
This adds support for calling functions via class member access
expressions.
Commit: e2b873abc719d7beb0d7bf75f445d52e8a069065
https://github.com/llvm/llvm-project/commit/e2b873abc719d7beb0d7bf75f445d52e8a069065
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/test/CIR/CodeGen/struct-init.cpp
Log Message:
-----------
[CIR] Handle overlapping values in constant init expressions (#164508)
This adds handling for generating constant initializers in the case
where a value we are emitting overlaps with a previous constant, such as
can happen when initializing a structure with bitfields.
Commit: 8a968d98a6111e12ce8010760a62fd63b68044c4
https://github.com/llvm/llvm-project/commit/8a968d98a6111e12ce8010760a62fd63b68044c4
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/docs/MLGO.rst
Log Message:
-----------
[MLGO] Add MIR2Vec embedding documentation (#164033)
Commit: 152f3e7bcbbe9bb0f4cb786b8fb4c49de6923a08
https://github.com/llvm/llvm-project/commit/152f3e7bcbbe9bb0f4cb786b8fb4c49de6923a08
Author: Reid Kleckner <rnk at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fix build for ir2vec changes 7634a8e (#164734)
Commit: 11a24d6b438cfb0aa550f0f4613c6ebd666bbbd2
https://github.com/llvm/llvm-project/commit/11a24d6b438cfb0aa550f0f4613c6ebd666bbbd2
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/lib/Frontend/HLSL/CBuffer.cpp
A llvm/test/CodeGen/DirectX/CBufferAccess/unused.ll
Log Message:
-----------
[HLSL] Allow completely unused cbuffers (#164557)
We were checking for cbuffers where the global was removed, but if the
buffer is completely unused the whole thing can be null.
---------
Co-authored-by: Helena Kotas <hekotas at microsoft.com>
Commit: 2d0328a47377fb6e8be4d76982072dcb607beb58
https://github.com/llvm/llvm-project/commit/2d0328a47377fb6e8be4d76982072dcb607beb58
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/IndexedMap.h
R llvm/include/llvm/ADT/identity.h
Log Message:
-----------
[ADT] Move llvm::identity into IndexedMap (NFC) (#164568)
This patch moves llvm::identity to IndexedMap for two reasons:
- llvm::identity is used only IndexedMap.
- llvm::identity is not suitable for general use as it is not quite
the same as std::identity despite the comments in identity.h.
Also, this patch renames the class to IdentityIndex and places it in
the "detail" namespace.
Commit: d01fe9d612425402766b59bb0c658147dda3e9a1
https://github.com/llvm/llvm-project/commit/d01fe9d612425402766b59bb0c658147dda3e9a1
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/Support/GlobPattern.h
M llvm/lib/Support/GlobPattern.cpp
Log Message:
-----------
[NFC][GlobPattern] Change internal structure of GlobPattern (#164513)
Replace two StringRefs with One StringRef + 2 x size_t.
Prepare for:
* https://github.com/llvm/llvm-project/pull/164512
Commit: d162025d8b0b41b1fee469b3002f20e09483b071
https://github.com/llvm/llvm-project/commit/d162025d8b0b41b1fee469b3002f20e09483b071
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lasx/shuffle-as-permute-and-shuffle.ll
Log Message:
-----------
[LoongArch] Move widenShuffleMask before lowerVECTOR_SHUFFLE_XVPERMI to improve code quality (#164219)
Commit: 9b5bc987435d084583ba894f5fc8676401f4ae0f
https://github.com/llvm/llvm-project/commit/9b5bc987435d084583ba894f5fc8676401f4ae0f
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-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/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/TargetParser/TargetParser.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.add.min.max.ll
Log Message:
-----------
[AMDGPU] Add intrinsics for v_[pk]_add_{min|max}_* instructions (#164731)
Commit: 4eaeeab771a902c2069cca3bcf9072acc282e6b4
https://github.com/llvm/llvm-project/commit/4eaeeab771a902c2069cca3bcf9072acc282e6b4
Author: Ming Yan <ming.yan at terapines.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
Log Message:
-----------
[mlir][memref] Fold extract_strided_metadata(cast(x)) into extract_strided_metadata(x) (#164585)
Commit: 14ed67411ce1fb52be8d0f8d5a645f5ca29c8aaf
https://github.com/llvm/llvm-project/commit/14ed67411ce1fb52be8d0f8d5a645f5ca29c8aaf
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/test/Analysis/BranchProbabilityInfo/pr22718.ll
M llvm/test/Analysis/CostModel/SystemZ/intrinsic-cost-crash.ll
M llvm/test/Analysis/Delinearization/constant_functions_multi_dim.ll
M llvm/test/Analysis/DependenceAnalysis/MIVCheckConst.ll
M llvm/test/Analysis/DependenceAnalysis/NonCanonicalizedSubscript.ll
M llvm/test/Analysis/MemoryDependenceAnalysis/invariant.group-bug.ll
M llvm/test/Analysis/MemorySSA/pr28880.ll
M llvm/test/Analysis/MemorySSA/pr39197.ll
M llvm/test/Analysis/MemorySSA/pr40038.ll
M llvm/test/Analysis/MemorySSA/pr43569.ll
M llvm/test/Analysis/ScalarEvolution/pr22674.ll
M llvm/test/Analysis/ScalarEvolution/scev-canonical-mode.ll
M llvm/test/Analysis/TypeBasedAliasAnalysis/PR17620.ll
M llvm/test/Analysis/TypeBasedAliasAnalysis/tbaa-path.ll
Log Message:
-----------
[Analysis][test] Remove unsafe-fp-math uses (NFC) (#164605)
Post cleanup for #164534.
Commit: 1d9f9ad531502debb9f814004a942b251d9856bb
https://github.com/llvm/llvm-project/commit/1d9f9ad531502debb9f814004a942b251d9856bb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
A llvm/test/CodeGen/AMDGPU/stackguard.ll
Log Message:
-----------
CodeGen: Fix crash when no libcall is available for stackguard (#164211)
Not all the paths appear to be implemented for GlobalISel
Commit: c2b2a347bf9464fdb5f3a38979a18285eee6654c
https://github.com/llvm/llvm-project/commit/c2b2a347bf9464fdb5f3a38979a18285eee6654c
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps.ll
M llvm/test/CodeGen/AMDGPU/fdiv.f64.ll
M llvm/test/CodeGen/AMDGPU/fmad-formation-fmul-distribute-denormal-mode.ll
M llvm/test/CodeGen/AMDGPU/fmed3.bf16.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.legal.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f64.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.r600.ll
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/minmax.ll
Log Message:
-----------
[AMDGPU][test] Remove unsafe-fp-math uses (NFC) (#164609)
Post cleanup for #164534.
Commit: 5f0f7580aa601c0c7493a5988e6673e27bb10f75
https://github.com/llvm/llvm-project/commit/5f0f7580aa601c0c7493a5988e6673e27bb10f75
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M libcxx/include/__compare/strong_order.h
Log Message:
-----------
[libc++] Simplify std::strong_order (#164233)
This patch does two things:
1) The branches for `sizeof(_Dp) == sizeof(int32_t)` and `sizeof(_Dp) ==
sizeof(int64_t)` are merged, since these are basically identical.
2) The branch where `numeric_limits<_Dp>::radix != 2` is removed, since
no platform we support (nor any I'm aware of) have a floating point type
with `radix != 2`. This means that the branch is basically dead code.
Commit: 6df1276e94af22f130d5c70950cfa36c12fd06a8
https://github.com/llvm/llvm-project/commit/6df1276e94af22f130d5c70950cfa36c12fd06a8
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/include/llvm/Support/GlobPattern.h
Log Message:
-----------
[NFC][GlobPattern] Add doc strings to prefix/suffix methods (#164514)
Commit: 4903a1fb0738f1b86da70482bfc9ff9425564377
https://github.com/llvm/llvm-project/commit/4903a1fb0738f1b86da70482bfc9ff9425564377
Author: Brandon Wu <songwu0813 at gmail.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
Log Message:
-----------
[llvm][RISCV] Handle fpround and fpextend for zvfbfa without zvfbfmin (#164366)
Add codegen support for fpround and fpextend for zvfbfa.
resolve https://github.com/llvm/llvm-project/issues/164324
Commit: 6f147445f7cfa8b5f09f154b63ef8073ed6243a1
https://github.com/llvm/llvm-project/commit/6f147445f7cfa8b5f09f154b63ef8073ed6243a1
Author: Luke Lau <luke at igalia.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/InlineSpiller.cpp
A llvm/test/CodeGen/AArch64/pr164181.ll
Log Message:
-----------
[RegAlloc] Constrain rematted regclass to use (#164386)
When rematting we create a new virtual register with the original def's
register class. However the use may have a different register class if
the interval is split, which means we end up with an invalid register
class.
This fixes #164181 by constraining the newly created register to the
use's register class.
The test case is reduced as far as it goes. Because this test requires
us to reach a certain amount of register pressure in certain conditions
I'm not sure if there's an easy way to handwrite this scenario.
Commit: e1ae12640102fd2b05bc567243580f90acb1135f
https://github.com/llvm/llvm-project/commit/e1ae12640102fd2b05bc567243580f90acb1135f
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/AArch64/Inputs/plt-gnu-ld.yaml
A bolt/test/AArch64/invalid-code-padding.s
M bolt/test/AArch64/plt-got.test
Log Message:
-----------
[BOLT][AArch64] Validate code padding (#164037)
Check whether AArch64 function code padding is valid,
and add an option to treat invalid code padding as error.
Commit: 3c2dae69196801b830e849f43b744a15fbc75547
https://github.com/llvm/llvm-project/commit/3c2dae69196801b830e849f43b744a15fbc75547
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/test/Transforms/ADCE/2016-09-06.ll
M llvm/test/Transforms/ADCE/blocks-with-dead-term-nondeterministic.ll
M llvm/test/Transforms/AddDiscriminators/basic.ll
M llvm/test/Transforms/AddDiscriminators/call-nested.ll
M llvm/test/Transforms/AddDiscriminators/call.ll
M llvm/test/Transforms/AddDiscriminators/diamond.ll
M llvm/test/Transforms/AddDiscriminators/first-only.ll
M llvm/test/Transforms/AddDiscriminators/invoke.ll
M llvm/test/Transforms/AddDiscriminators/multiple.ll
M llvm/test/Transforms/AddDiscriminators/no-discriminators.ll
M llvm/test/Transforms/AddDiscriminators/oneline.ll
M llvm/test/Transforms/Attributor/reduced/register_benchmark_test.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/bitreverse-recognize.ll
M llvm/test/Transforms/CodeGenPrepare/X86/bitreverse-hang.ll
M llvm/test/Transforms/CodeGenPrepare/dom-tree.ll
M llvm/test/Transforms/ConstantHoisting/X86/ehpad.ll
M llvm/test/Transforms/Coroutines/coro-debug.ll
M llvm/test/Transforms/Coroutines/coro-split-dbg.ll
M llvm/test/Transforms/Util/dbg-user-of-aext.ll
M llvm/test/Transforms/Util/libcalls-fast-math-inf-loop.ll
Log Message:
-----------
[test][Transforms] Remove unsafe-fp-math uses part 1 (NFC) (#164742)
Post cleanup for #164534.
Commit: 6fdef0bbe235303dd98be61275acfa79fab34770
https://github.com/llvm/llvm-project/commit/6fdef0bbe235303dd98be61275acfa79fab34770
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/include/llvm/Support/GlobPattern.h
M llvm/lib/Support/GlobPattern.cpp
M llvm/unittests/Support/GlobPatternTest.cpp
Log Message:
-----------
[NFC][GlobPattern] Add GlobPattern::longest_substr() (#164512)
Finds longest (almost) plain substring in the pattern.
Implementation is conservative to avoid false positives.
The result is not used to optimize
`GlobPattern::match()` so it's calculated on
request.
For
* https://github.com/llvm/llvm-project/pull/164545
---------
Co-authored-by: Luke Lau <luke at igalia.com>
Commit: 8e5797162b5a5a1e4dc6de9c3c102919582228ea
https://github.com/llvm/llvm-project/commit/8e5797162b5a5a1e4dc6de9c3c102919582228ea
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Make sure operand to syncthread function is i32 (#164747)
Commit: 50ca1f407801cd268a1c130b9576dfb51fe7f392
https://github.com/llvm/llvm-project/commit/50ca1f407801cd268a1c130b9576dfb51fe7f392
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
Reapply "[clang-format] Annotate ::operator and Foo::operator correctly" (#164670)
This reverts commit 99abda7b02c9d6ba8b996867d2de624815ace1ce.
See https://github.com/llvm/llvm-project/pull/164670#issuecomment-3435040114
Commit: f3df058b03867e64af0195001d1e455257a81603
https://github.com/llvm/llvm-project/commit/f3df058b03867e64af0195001d1e455257a81603
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/include/llvm/CodeGen/AtomicExpand.h
M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
M llvm/include/llvm/CodeGen/CodeGenPrepare.h
M llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
M llvm/include/llvm/CodeGen/DwarfEHPrepare.h
M llvm/include/llvm/CodeGen/ExpandFp.h
M llvm/include/llvm/CodeGen/ExpandLargeDivRem.h
M llvm/include/llvm/CodeGen/ExpandMemCmp.h
M llvm/include/llvm/CodeGen/IndirectBrExpand.h
M llvm/include/llvm/CodeGen/InterleavedAccess.h
M llvm/include/llvm/CodeGen/InterleavedLoadCombine.h
M llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
M llvm/include/llvm/CodeGen/SafeStack.h
M llvm/include/llvm/CodeGen/SelectOptimize.h
M llvm/include/llvm/CodeGen/StackProtector.h
M llvm/include/llvm/CodeGen/TypePromotion.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/lib/CodeGen/ExpandFp.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
A llvm/test/tools/opt/no-target-machine.ll
Log Message:
-----------
[Passes] Report error when pass requires target machine (#142550)
Fixes #142146
Do nullptr check when pass accept `const TargetMachine &` in
constructor, but it is still not exhaustive.
Commit: d8563e51b56684e7c5491647424aff55d60017fd
https://github.com/llvm/llvm-project/commit/d8563e51b56684e7c5491647424aff55d60017fd
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Target/LLVMIR/nvvm/convert_fp4x2.mlir
M mlir/test/Target/LLVMIR/nvvm/convert_fp6x2.mlir
M mlir/test/Target/LLVMIR/nvvm/convert_fp8x2.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
Log Message:
-----------
[MLIR][NVVM] Add support for converting fp4/6/8 to fp16x2 (#162439)
This change adds the following NVVM dialect Ops for converting fp4/6/8
to fp16x2:
- `convert.f4x2.to.f16x2`
- `convert.f6x2.to.f16x2`
- `convert.f8x2.to.f16x2`
- `convert.f8x2.to.bf16x2`
Tests are added in `convert_fp4x2.mlir`, `convert_fp6x2.mlir`, and
`convert_fp8x2.mlir`.
PTX Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-cvt
Commit: 5c666f559ca7c8ea0058b5b80d8b6059dc358fa7
https://github.com/llvm/llvm-project/commit/5c666f559ca7c8ea0058b5b80d8b6059dc358fa7
Author: jofrn <jofernau at amd.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/IR/Verifier.cpp
M llvm/test/Assembler/atomic.ll
M llvm/test/Verifier/atomics.ll
Log Message:
-----------
IR/Verifier: Allow vector type in atomic load and store (#148893)
Vector types on atomics are assumed to be invalid by the verifier. However,
this type can be valid if it is lowered by codegen.
Commit: 13b5e396a007d119a65e0ba41b1f3604369376aa
https://github.com/llvm/llvm-project/commit/13b5e396a007d119a65e0ba41b1f3604369376aa
Author: Twice <twice at apache.org>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M mlir/examples/standalone/python/CMakeLists.txt
M mlir/python/CMakeLists.txt
Log Message:
-----------
[MLIR][Python] Skip stubgen while any sanitizer is enabled (#164661)
The intention of this PR is described
https://github.com/llvm/llvm-project/issues/164197#issuecomment-3432843709
(and
https://github.com/llvm/llvm-project/issues/164197#issuecomment-3432935838).
When sanitizers are enabled, some additional setup (such as preloading
certain libraries) seems to be required for the stubgen step to work
properly
(https://github.com/llvm/llvm-project/issues/164197#issuecomment-3432924034).
In this case, I chose to simply skip the stubgen process, as supporting
it would likely require some extra CMake logic, and type stubs don’t
appear to be particularly necessary in this configuration.
Commit: 407a9099e15db1aacc560f50b968f8f4f45cada7
https://github.com/llvm/llvm-project/commit/407a9099e15db1aacc560f50b968f8f4f45cada7
Author: jofrn <jofernau at amd.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/X86/atomic-load-store.ll
Log Message:
-----------
[SelectionDAG] Legalize <1 x T> vector types for atomic load (#148894)
`load atomic <1 x T>` is not valid. This change legalizes
vector types of atomic load via scalarization in SelectionDAG
so that it can, for example, translate from `v1i32` to `i32`.
Commit: df970d5ff756e71cdb889f6253d9ef3187e9e251
https://github.com/llvm/llvm-project/commit/df970d5ff756e71cdb889f6253d9ef3187e9e251
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/test/CodeGen/MSP430/libcalls.ll
Log Message:
-----------
MSP430: Remove more default compiler-rt calls (#164752)
Commit: 7dd06b377447b2bac4a243f7db59fca59ee32e86
https://github.com/llvm/llvm-project/commit/7dd06b377447b2bac4a243f7db59fca59ee32e86
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/FoldingSet.h
Log Message:
-----------
[ADT] Simplify AddInteger overloads in FoldingSetNodeID (NFC) (#164753)
This patch simplifies the AddInteger overloads by introducing
AddIntegerImpl, a helper function to handle all cases, both 32-bit and
64-bit cases.
Commit: d548b0de1c5033f5fd396ee0afbeb244f9e025c4
https://github.com/llvm/llvm-project/commit/d548b0de1c5033f5fd396ee0afbeb244f9e025c4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-22 (Wed, 22 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/IndexedMap.h
Log Message:
-----------
[ADT] Use default member initialization in IndexedMap (NFC) (#164754)
Commit: cae7dec112800cb6670324f52098e10a432d3306
https://github.com/llvm/llvm-project/commit/cae7dec112800cb6670324f52098e10a432d3306
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/utils/lit/lit/run.py
M llvm/utils/lit/tests/shtest-ulimit.py
Log Message:
-----------
[LIT][Cygwin] Mark `ulimit -n` unsupported for Cygwin (#164604)
Cygwin doesn't support `ulimit -n` because Windows doesn't provide such
functionality.
Commit: 542703fa68c5549292ccdd6b5c80ff8b7202a9b1
https://github.com/llvm/llvm-project/commit/542703fa68c5549292ccdd6b5c80ff8b7202a9b1
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/test/CodeGen/ARM/2014-05-14-DwarfEHCrash.ll
M llvm/test/CodeGen/ARM/ARMLoadStoreDBG.mir
M llvm/test/CodeGen/ARM/Windows/wineh-basic.ll
M llvm/test/CodeGen/ARM/byval_load_align.ll
M llvm/test/CodeGen/ARM/cfguard-module-flag.ll
M llvm/test/CodeGen/ARM/clang-section.ll
M llvm/test/CodeGen/ARM/cmse-clear-float-bigend.mir
M llvm/test/CodeGen/ARM/coalesce-dbgvalue.ll
M llvm/test/CodeGen/ARM/constantpool-promote-dbg.ll
M llvm/test/CodeGen/ARM/constantpool-promote.ll
M llvm/test/CodeGen/ARM/early-cfi-sections.ll
M llvm/test/CodeGen/ARM/fp16-vld.ll
M llvm/test/CodeGen/ARM/global-merge-1.ll
M llvm/test/CodeGen/ARM/isel-v8i32-crash.ll
M llvm/test/CodeGen/ARM/out-of-registers.ll
M llvm/test/CodeGen/ARM/relax-per-target-feature.ll
M llvm/test/CodeGen/ARM/softfp-constant-comparison.ll
M llvm/test/CodeGen/ARM/stack-protector-bmovpcb_call.ll
M llvm/test/CodeGen/ARM/stack_guard_remat.ll
M llvm/test/CodeGen/ARM/struct-byval-frame-index.ll
M llvm/test/CodeGen/ARM/subtarget-align.ll
M llvm/test/CodeGen/ARM/unschedule-first-call.ll
M llvm/test/CodeGen/ARM/vector-spilling.ll
M llvm/test/CodeGen/ARM/vldm-sched-a9.ll
M llvm/test/CodeGen/Thumb/PR17309.ll
M llvm/test/CodeGen/Thumb/fastcc.ll
M llvm/test/CodeGen/Thumb/ldm-merge-call.ll
M llvm/test/CodeGen/Thumb/stack_guard_remat.ll
M llvm/test/CodeGen/Thumb/stm-merge.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vpt-block-debug.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-2-blocks-1-pred.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-2-blocks-2-preds.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-2-blocks-ctrl-flow.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-2-blocks-non-consecutive-ins.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-2-blocks.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-3-blocks-kill-vpr.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-1-ins.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-2-ins.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-4-ins.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-elses.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-fold-vcmp.mir
M llvm/test/CodeGen/Thumb2/mve-vpt-block-optnone.mir
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-4.ll
M llvm/test/CodeGen/Thumb2/stack_guard_remat.ll
M llvm/test/CodeGen/Thumb2/t2sizereduction.mir
Log Message:
-----------
[test][ARM] Remove unsafe-fp-math-uses (NFC) (#164744)
Post cleanup for #164534.
Commit: fb4c05cf036e09ed97a48a6c515befbcc9198c61
https://github.com/llvm/llvm-project/commit/fb4c05cf036e09ed97a48a6c515befbcc9198c61
Author: Matthias Springer <me at m-sp.org>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M mlir/include/mlir/IR/Value.h
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Shard/Transforms/Partition.cpp
Log Message:
-----------
[mlir][IR] Add implicit conversion operator to `TypedValue` (#164621)
Allow implicit conversion from `TypedValue<B>` to `TypedValue<A>` if `B`
is assignable to `A`.
Example:
```c++
TypedValue<MemRefType> val;
TypedValue<ShapedType> shapedVal = val; // this is now valid
```
Commit: a3ea51e4f161aecfe7dfe9e7c9d709b1f9cdf0ec
https://github.com/llvm/llvm-project/commit/a3ea51e4f161aecfe7dfe9e7c9d709b1f9cdf0ec
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
Log Message:
-----------
[SDAG] Introduce inbounds flag for ISD::PTRADD (#162477)
This patch introduces SDNodeFlags::InBounds, to show that an ISD::PTRADD SDNode
implements an inbounds getelementptr operation (i.e., the pointer operand is in
bounds wrt. an allocated object it is based on, and the arithmetic does not
change that). The flag is set in the DAG construction when lowering inbounds
GEPs.
Inbounds information is useful in the ISel when selecting memory instructions
that perform address computations whose intermediate steps must be in the same
memory region as the final result. Follow-up patches to propagate the flag in
DAGCombines and to use it when lowering AMDGPU's flat memory instructions,
where the immediate offset must not affect the memory aperture of the address
(similar to this GISel patch: #153001), are planned.
This mirrors #150900, which has introduced a similar flag in GlobalISel.
This patch supersedes #131862, which previously attempted to introduce an
SDNodeFlags::InBounds flag. The difference between this PR and #131862 is that
there is now an ISD::PTRADD opcode (PR #140017) and the InBounds flag is only
defined to apply to ISD::PTRADD DAG nodes. It is therefore unambiguous that
in-bounds-ness refers to a memory object into which the left operand of the
PTRADD node points (in contrast to #131862, where InBounds would have applied
to commutative ISD::ADD nodes, so that the semantics would be more difficult to
reason about).
For SWDEV-516125.
Commit: 01f29552d87ba70d876e76fdedea839a2f2b2a2a
https://github.com/llvm/llvm-project/commit/01f29552d87ba70d876e76fdedea839a2f2b2a2a
Author: Shaoce SUN <sunshaoce at outlook.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/RISCVCombine.td
A llvm/test/CodeGen/RISCV/GlobalISel/store-fp-zero-to-x0.ll
Log Message:
-----------
[RISCV][GISel] Fold G_FCONSTANT 0.0 store into G_CONSTANT x0 (#163008)
Commit: 13a40e38924a04fd5ddf0cbfefd9861521f362ba
https://github.com/llvm/llvm-project/commit/13a40e38924a04fd5ddf0cbfefd9861521f362ba
Author: Gleb Popov <6yearold at gmail.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
Log Message:
-----------
[Analysis] Use the addCost() helper across InlineCost.cpp (#141901)
For the sake of consistency.
Commit: c80495c1b094dcca0a9933d8af3972393592b066
https://github.com/llvm/llvm-project/commit/c80495c1b094dcca0a9933d8af3972393592b066
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/intrinsic-select.ll
M llvm/test/Transforms/InstCombine/phi.ll
M llvm/test/Transforms/InstCombine/select_frexp.ll
M llvm/test/Transforms/PhaseOrdering/always-inline-alloca-promotion.ll
Log Message:
-----------
[InstCombine] Allow folding cross-lane operations into PHIs/selects (#164388)
Previously, cross-lane operations were disallowed here, but they are
only problematic if the `select` condition is a vector, as the input of
the operation is not simply one of the arms of the phi/select.
Commit: 4a95cd14b381b34a821ce561577d386f46e5e51c
https://github.com/llvm/llvm-project/commit/4a95cd14b381b34a821ce561577d386f46e5e51c
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/test/Bitcode/DILocation-implicit-code.ll
M llvm/test/Bitcode/drop-debug-info.3.5.ll
M llvm/test/Bitcode/upgrade-tbaa.ll
Log Message:
-----------
[test][Bitcode] Remove unsafe-fp-math uses (NFC) (#164743)
Post cleanup for #164534.
Commit: e6cd7a52bc1454c58bdb3ca51aa8780e04b3342f
https://github.com/llvm/llvm-project/commit/e6cd7a52bc1454c58bdb3ca51aa8780e04b3342f
Author: Jasmine Tang <jjasmine at igalia.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/simd-relaxed-fmax.ll
M llvm/test/CodeGen/WebAssembly/simd-relaxed-fmin.ll
Log Message:
-----------
[WebAssembly] [Codegen] Add pattern for relaxed min max from pmin/pmax-based patterns over v4f32 and v2f64 (#164486)
Related to https://github.com/llvm/llvm-project/issues/55932
Commit: d2889d7ce3f2eef7f38a8a429c9a23f15c6adc66
https://github.com/llvm/llvm-project/commit/d2889d7ce3f2eef7f38a8a429c9a23f15c6adc66
Author: don <122427011+donneypr at users.noreply.github.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][x86][bytecode] remove trailing returns type from interp__builtin_elementwise_int_binop callbacks (#164679)
Related to the discussion in #162346, this PR is to remove the trailing type from the 'interp__builtin_elementwise_int_binop' callbacks.
Commit: f567367c7f1d543c2825f13aed83661dd4790e66
https://github.com/llvm/llvm-project/commit/f567367c7f1d543c2825f13aed83661dd4790e66
Author: Ville-Markus Yli-Suutala <villemarkus.ylisuutala at gmail.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/math-lowering/sinh.f90
M flang/test/Lower/trigonometric-intrinsics.f90
Log Message:
-----------
[Flang] Generate math.sinh op for single and double precision sinh (#162734)
Fixes issue with double precision sinh when using OpenMP offloading with
AMD GPUs. The machinery to convert the op to a ROCDL call is already in
place.
https://github.com/llvm/llvm-project/issues/162733
Commit: 4f99111faf51a27f138f46f90bb1445a8962d13b
https://github.com/llvm/llvm-project/commit/4f99111faf51a27f138f46f90bb1445a8962d13b
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/test/CIR/CodeGen/struct-init.cpp
Log Message:
-----------
[CIR] ConstRecordBuilder check if attribute present before casting (#164575)
Fix the crash because in `ConstRecordBuilder::build` we cast to
TypedAttr then we check if it null, but in case that the result from
emitter is nullptr, that cast crash, In this PR I fixed the order to
check first if it not null, then casting to the TypedAttr
Commit: 7f66c31fab38801f9d27819ad89ee873e2fecb24
https://github.com/llvm/llvm-project/commit/7f66c31fab38801f9d27819ad89ee873e2fecb24
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/test/CIR/CodeGen/global-init.cpp
Log Message:
-----------
[CIR] Implement global initializer for ComplexType (#164610)
Implement a global initializer for ComplexType
Issue https://github.com/llvm/llvm-project/issues/141365
Commit: ae6cb98b29a6e1bf8acfa0ae230493c0d16a6bbf
https://github.com/llvm/llvm-project/commit/ae6cb98b29a6e1bf8acfa0ae230493c0d16a6bbf
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M bolt/README.md
M bolt/docs/Heatmaps.md
M bolt/docs/index.rst
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/nolbr.s
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/perf2bolt/perf_test.test
M clang/utils/perf-training/perf-helper.py
Log Message:
-----------
[BOLT] Add --ba flag to deprecate --nl (#164257)
The `--nl` flag, originally for Non-LBR mode, is deprecated and will be
replaced by `--basic-events` (alias `--ba`).
`--nl` remains as a deprecated alias for backward compatibility.
Commit: 0fddaf058ac0c2627553b65ed7d057719d31aa7c
https://github.com/llvm/llvm-project/commit/0fddaf058ac0c2627553b65ed7d057719d31aa7c
Author: Marco Elver <elver at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
A clang/include/clang/AST/InferAlloc.h
M clang/lib/AST/CMakeLists.txt
A clang/lib/AST/InferAlloc.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
Log Message:
-----------
[Clang] Refactor allocation type inference logic (#163636)
Refactor the logic for inferring allocated types out of `CodeGen` and
into a new reusable component in `clang/AST/InferAlloc.h`.
This is a preparatory step for implementing `__builtin_infer_alloc_token`.
By moving the type inference heuristics into a common place, it can be
shared between the existing allocation-call instrumentation and the new
builtin's implementation.
Commit: cd6e913d00cf91b7bbac205351e967a68cd14797
https://github.com/llvm/llvm-project/commit/cd6e913d00cf91b7bbac205351e967a68cd14797
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
[Clang] Handle TemplateTemplateParmDecl in concept cache (#164777)
We forgot to handle those in e9972debc, hence the inconsistency across
multiple instantiations.
This is a regression on trunk, so no release note.
Fixes https://github.com/llvm/llvm-project/issues/164750
Commit: f5ac58f5b88086f6b0e6e02383bc811e343dec06
https://github.com/llvm/llvm-project/commit/f5ac58f5b88086f6b0e6e02383bc811e343dec06
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Clang] Fix a use-after-move issue in SubsumptionChecker (#164781)
Spotted by Shafik.
Commit: b474be668091301d4a214da922f0cb98d416dc6b
https://github.com/llvm/llvm-project/commit/b474be668091301d4a214da922f0cb98d416dc6b
Author: Keith Thompson <Keith.S.Thompson at gmail.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/switch-missing-default-case.rst
Log Message:
-----------
[clang-tidy][NFC] Clarify switch-missing-default-case doc (#164699) (#164709)
Falling through a defaultless switch statement has well defined
behavior. Fixes https://github.com/llvm/llvm-project/issues/164699.
Credit for noticing this problem goes to user "pozz" on comp.lang.c,
Message-ID: <10da67g$3q59f$1 at dont-email.me>
Commit: 6003a448b3998c720fe87f0f4d8f263ebe9ae2ee
https://github.com/llvm/llvm-project/commit/6003a448b3998c720fe87f0f4d8f263ebe9ae2ee
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/CGData/CodeGenDataReader.cpp
Log Message:
-----------
[NFC][CGData] Use `std::move` in `lazyDeserialize` call (#164558)
Use `std::move` for shared_ptr in `lazyDeserialize` call to avoid extra
refcount ops
Commit: 710a5873fbf43d312555a1ddbafafa10f44f576e
https://github.com/llvm/llvm-project/commit/710a5873fbf43d312555a1ddbafafa10f44f576e
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/CGData/StableFunctionMap.cpp
Log Message:
-----------
[NFC][CGData] Add assert to `StableFunctionMap::at` (#164564)
Add assert to `StableFunctionMap::at` to verify `FunctionHash` exists.
Commit: f801b6f67ea896d6e4d2de38bce9a79689ceb254
https://github.com/llvm/llvm-project/commit/f801b6f67ea896d6e4d2de38bce9a79689ceb254
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/ptrtoaddr.ll
M llvm/test/Transforms/InstCombine/sub-gep.ll
Log Message:
-----------
[InstCombine] Add support for ptrtoaddr in pointer difference folds (#164428)
This adds support for folding `ptrtoaddr(p2) - ptrtoaddr(p)` pointer
subtractions. We can treat ptrtoaddr the same as ptrtoint as the
transform is truncation safe anyway (and in fact supports explicit
truncation as well).
The only interesting case is the subtraction of zext of ptrtoaddr. For
this transform it's important that the address bits are not truncated --
and if any pointer bits are truncated, that the truncation is consistent
for both operands. I've explicitly spelled out the three different cases
for this, which also fixes a miscompile in the existing ptrtoint fold.
Commit: 4f4bee428d2269808f2ef5f97f3482382d18945d
https://github.com/llvm/llvm-project/commit/4f4bee428d2269808f2ef5f97f3482382d18945d
Author: Marco Elver <elver at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/Sema/SemaChecking.cpp
A clang/test/SemaCXX/alloc-token.cpp
Log Message:
-----------
[Clang][Sema] Add __builtin_infer_alloc_token() declaration and semantic checks (#163638)
Introduce the `__builtin_infer_alloc_token()` builtin declaration and
adds the necessary semantic checks in Sema.
Commit: 902b07f711946988252f83d2fd369da89f28676d
https://github.com/llvm/llvm-project/commit/902b07f711946988252f83d2fd369da89f28676d
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-to-svbool-binops.ll
Log Message:
-----------
[LLVM][InstCombine][SVE] Improve isAllActivePredicate by looking through from.svbool. (#164446)
When a predicate is of the form "%a = sve.from.vsbool(%b)" we know all
bits in %a come from %b and thus if %b is all true then %a must also be
all true.
Commit: 6b19a546aa8d341dfdfa2a3a0a37fb90ac786f92
https://github.com/llvm/llvm-project/commit/6b19a546aa8d341dfdfa2a3a0a37fb90ac786f92
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/maxbandwidth-regpressure.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-constant-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
A llvm/test/Transforms/LoopVectorize/WebAssembly/partial-reduce-accumulate.ll
Log Message:
-----------
[LV] Bundle partial reductions inside VPExpressionRecipe (#147302)
This PR bundles partial reductions inside the VPExpressionRecipe class.
Stacked PRs:
1. https://github.com/llvm/llvm-project/pull/147026
2. https://github.com/llvm/llvm-project/pull/147255
3. https://github.com/llvm/llvm-project/pull/156976
4. https://github.com/llvm/llvm-project/pull/160154
5. -> https://github.com/llvm/llvm-project/pull/147302
6. https://github.com/llvm/llvm-project/pull/162503
7. https://github.com/llvm/llvm-project/pull/147513
Commit: 11bbee9d9fbaa98978ed7704e799d6b56fb47295
https://github.com/llvm/llvm-project/commit/11bbee9d9fbaa98978ed7704e799d6b56fb47295
Author: ddubov100 <155631080+ddubov100 at users.noreply.github.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/canonicalize.mlir
Log Message:
-----------
Adding to execute_region_op some missing support (#164159)
Adding canonicalization pattern in case execute_region op has yieldOps
which operands are from outside the execute_region, then it simplifies
the op to return just internal values. The pattern is applied only in
case all yieldOps within execute_region_op have same operands
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: daf0182277831222101ee8e29f6fa3a1ac3b809d
https://github.com/llvm/llvm-project/commit/daf0182277831222101ee8e29f6fa3a1ac3b809d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/add-nsw.ll
M llvm/test/Transforms/ConstraintElimination/gep-arithmetic-add.ll
Log Message:
-----------
[ConstraintElim] Apply add with neg constant first during decomp. (#164791)
We have dedicated decomposition logic for (add %x, -C), but if we have
(add nsw %x, -C) we will first apply the generic logic for NSWAdd, which
gives worse results for negative constants in practice.
Update the code to first apply the pattern with negative constants.
Helps to remove a number of runtime checks in practice:
https://github.com/dtcxzyw/llvm-opt-benchmark/pull/2968
Alive2 proofs for the test changes: https://alive2.llvm.org/ce/z/JfR2Ma
PR: https://github.com/llvm/llvm-project/pull/164791
Commit: b11f0e1bcde45b2ee81d06a9c6a94da089dfd157
https://github.com/llvm/llvm-project/commit/b11f0e1bcde45b2ee81d06a9c6a94da089dfd157
Author: Vitalii Shutov <vitaly.shutov1 at gmail.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[mlir][tosa] Stop folding pad into avg_pool2d (#164599)
Keep explicit padding ahead of tosa.avg_pool2d to preserve semantics.
Folding a pad into the op drops padded values from the average divisor.
Commit: 911e5aa5cceda96dfcf578baae41e5452ff2ef11
https://github.com/llvm/llvm-project/commit/911e5aa5cceda96dfcf578baae41e5452ff2ef11
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
Log Message:
-----------
[flang][NFC] fix build warning about unused argument (#164776)
Fix warning about unused arguments. Just use [[maybe_unsued]] to deal with
the fact that these arguments are not always used because of the `if constexpr`.
Commit: 0591297c8aa123d9503e4706b5c45617536ec882
https://github.com/llvm/llvm-project/commit/0591297c8aa123d9503e4706b5c45617536ec882
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Fix initializing primitive fields via initlist (#164789)
Fixes https://github.com/llvm/llvm-project/issues/152901
Commit: 3107c2fe94e9ec4b406eb137ca95097f57a85507
https://github.com/llvm/llvm-project/commit/3107c2fe94e9ec4b406eb137ca95097f57a85507
Author: Shawn K <kimshawn02 at icloud.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/builtin_prefetech.c
Log Message:
-----------
[CIR] Upstream handling for __builtin_prefetch (#164387)
Fix #163886
Commit: 249883d0c5883996bed038cd82a8999f342994c9
https://github.com/llvm/llvm-project/commit/249883d0c5883996bed038cd82a8999f342994c9
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/test/Transforms/DeadArgElim/dbginfo.ll
M llvm/test/Transforms/DeadStoreElimination/mda-with-dbg-values.ll
M llvm/test/Transforms/FunctionImport/Inputs/funcimport_debug.ll
M llvm/test/Transforms/FunctionImport/funcimport_debug.ll
M llvm/test/Transforms/GCOVProfiling/exit-block.ll
M llvm/test/Transforms/GCOVProfiling/linezero.ll
M llvm/test/Transforms/GCOVProfiling/split-indirectbr-critical-edges.ll
M llvm/test/Transforms/GVN/cond_br2.ll
M llvm/test/Transforms/GVN/pr33549.ll
M llvm/test/Transforms/GVN/pr42605.ll
M llvm/test/Transforms/GVNHoist/hoist-unsafe-pr31729.ll
M llvm/test/Transforms/GVNHoist/pr30499.ll
M llvm/test/Transforms/IndVarSimplify/X86/widen-nsw.ll
M llvm/test/Transforms/Inline/always-inline-attr.ll
M llvm/test/Transforms/Inline/debug-info-duplicate-calls.ll
M llvm/test/Transforms/Inline/inline-vla.ll
M llvm/test/Transforms/Inline/optimization-remarks-hotness-threshold.ll
M llvm/test/Transforms/Inline/optimization-remarks-passed-deleted-callee-yaml.ll
M llvm/test/Transforms/Inline/optimization-remarks-passed-yaml.ll
M llvm/test/Transforms/Inline/optimization-remarks.ll
M llvm/test/Transforms/InstCombine/bitreverse-hang.ll
M llvm/test/Transforms/InstCombine/select-extractelement-inseltpoison.ll
M llvm/test/Transforms/InstCombine/select-extractelement.ll
M llvm/test/Transforms/JumpThreading/ddt-crash3.ll
M llvm/test/Transforms/LICM/volatile-alias.ll
M llvm/test/Transforms/LoopRotate/noalias.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/different-addrspace-addressing-mode-loops.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/pr17473.ll
M llvm/test/Transforms/LoopStrengthReduce/pr18165.ll
M llvm/test/Transforms/LoopStrengthReduce/two-combinations-bug.ll
M llvm/test/Transforms/LoopUnroll/runtime-epilog-debuginfo.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr33053.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/ARM/arm-ieee-vectorize.ll
M llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
M llvm/test/Transforms/LoopVectorize/X86/int128_no_gather.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_folding_and_assume_safety.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-profitable.ll
M llvm/test/Transforms/LoopVectorize/diag-missing-instr-debug-loc.ll
M llvm/test/Transforms/LoopVectorize/diag-with-hotness-info-2.ll
M llvm/test/Transforms/LoopVectorize/diag-with-hotness-info.ll
M llvm/test/Transforms/LoopVectorize/incorrect-dom-info.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/metadata-width.ll
M llvm/test/Transforms/LoopVectorize/multiple-address-spaces.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-address-space.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-readonly-address-space.ll
M llvm/test/Transforms/LoopVectorize/scev-exitlim-crash.ll
M llvm/test/Transforms/MergeICmps/X86/int64-and-ptr.ll
M llvm/test/Transforms/MergeICmps/X86/pr41917.ll
M llvm/test/Transforms/NewGVN/basic-cyclic-opt.ll
M llvm/test/Transforms/NewGVN/cond_br2-xfail.ll
M llvm/test/Transforms/NewGVN/equivalent-phi.ll
M llvm/test/Transforms/NewGVN/memory-handling.ll
M llvm/test/Transforms/NewGVN/pr31483.ll
M llvm/test/Transforms/NewGVN/pr31501.ll
M llvm/test/Transforms/NewGVN/pr33187.ll
M llvm/test/Transforms/NewGVN/pr33305.ll
M llvm/test/Transforms/NewGVN/pr34430.ll
M llvm/test/Transforms/NewGVN/pr34452.ll
M llvm/test/Transforms/OpenMP/dead_use.ll
M llvm/test/Transforms/OpenMP/icv_remarks.ll
M llvm/test/Transforms/PGOProfile/misexpect-branch-correct.ll
M llvm/test/Transforms/PGOProfile/misexpect-branch-overflow.ll
M llvm/test/Transforms/PGOProfile/misexpect-branch-stripped.ll
M llvm/test/Transforms/PGOProfile/misexpect-branch-unpredictable.ll
M llvm/test/Transforms/PGOProfile/misexpect-branch.ll
M llvm/test/Transforms/PGOProfile/misexpect-switch-default.ll
M llvm/test/Transforms/PGOProfile/misexpect-switch.ll
Log Message:
-----------
[test][Transforms] Remove unsafe-fp-math uses part 2 (NFC) (#164786)
Post cleanup for #164534.
Commit: 3f47a7be1ae689074913f5b72cfb49bedd0bad2f
https://github.com/llvm/llvm-project/commit/3f47a7be1ae689074913f5b72cfb49bedd0bad2f
Author: Nikita Kornev <nikita.kornev at intel.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_shader_clock/shader_clock.ll
Log Message:
-----------
[SPIRV] Upd SPV_KHR_shader_clock extension (#160147)
Add __spirv_ReadClockKHR support
Commit: a242a20f21f4f72304316573b6e08ea869b12371
https://github.com/llvm/llvm-project/commit/a242a20f21f4f72304316573b6e08ea869b12371
Author: David Green <david.green at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/test/Analysis/CostModel/ARM/fparith.ll
M llvm/test/Analysis/CostModel/ARM/fptoi_sat.ll
R llvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
A llvm/test/Analysis/CostModel/ARM/mve-intrinsic-cost-kinds.ll
A llvm/test/Analysis/CostModel/ARM/mve-target-intrinsics.ll
R llvm/test/Analysis/CostModel/ARM/target-intrinsics.ll
Log Message:
-----------
[ARM] Update more MVE costmodel tests with -cost-kind=all. NFC
Commit: 53b9441f5355fcdca07dc5b6ddc4fa5bb7ce4920
https://github.com/llvm/llvm-project/commit/53b9441f5355fcdca07dc5b6ddc4fa5bb7ce4920
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTestObjC.cpp
Log Message:
-----------
[clang-format] Break the line within ObjC `@selector` (#164674)
after, with style `{ColumnLimit: 60}`
```Objective-C
[objectName
respondsToSelector:
@selector(
somelonglonglonglongnameeeeeeee:
loooooooooanotherlonglonglonglongnametopush:
otherlongnameforlimit:)];
```
before
```Objective-C
[objectName
respondsToSelector:
@selector(
somelonglonglonglongnameeeeeeee:loooooooooanotherlonglonglonglongnametopush:otherlongnameforlimit:)];
```
Fixes #164574.
The stuff inside the parentheses got a new type in 2a059042882ed. I
neglected to add it to the logic for breaking lines.
Commit: ece83ed7dfe6ef65ac100efcc61f50a2a337436a
https://github.com/llvm/llvm-project/commit/ece83ed7dfe6ef65ac100efcc61f50a2a337436a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Fix instance pointer in IndirectFieldDecl inits (#164751)
Points to the first chain link in this case.
Commit: 90b51c393905eb82eb882d7a1d5bb999dc67a74b
https://github.com/llvm/llvm-project/commit/90b51c393905eb82eb882d7a1d5bb999dc67a74b
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M mlir/lib/ExecutionEngine/SparseTensor/CMakeLists.txt
Log Message:
-----------
[MLIR][ExecutionEngine] don't leak -Wweak-vtables (#164498)
I'm not 100% what this is used for in this lib but the compile flag
leaks out and prevents (in certain compile scenarios) linking
`mlir_c_runner_utils`.
Commit: d43b06709c11998c63d1c7880c8670fa9a65dfca
https://github.com/llvm/llvm-project/commit/d43b06709c11998c63d1c7880c8670fa9a65dfca
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/TensorCopyInsertion.cpp
Log Message:
-----------
[mlir][bufferize] Cleanup TensorCopyInsertion.cpp (NFC) (#164541)
Commit: 865cd8ea02de68b30d2ade1bae8c7527c27093c6
https://github.com/llvm/llvm-project/commit/865cd8ea02de68b30d2ade1bae8c7527c27093c6
Author: Nathan Gauër <brioche at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/include/clang/AST/Attr.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/semantics/semantic-struct-1.hlsl
A clang/test/CodeGenHLSL/semantics/semantic-struct-2.hlsl
A clang/test/CodeGenHLSL/semantics/semantic-struct-nested-inherit.hlsl
A clang/test/CodeGenHLSL/semantics/semantic-struct-nested-shadow.hlsl
A clang/test/CodeGenHLSL/semantics/semantic-struct-nested.hlsl
M clang/test/SemaHLSL/Semantics/entry_parameter.hlsl
M clang/test/SemaHLSL/Semantics/position.ps.hlsl
A clang/test/SemaHLSL/Semantics/position.ps.struct.hlsl
A clang/test/SemaHLSL/Semantics/struct_input.hlsl
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[HLSL] Allow input semantics on structs (#159047)
This PR is an incremental improvement regarding semantics I/O in HLSL.
This PR allows
system semantics to be used on struct type in addition to parameters
(state today).
This PR doesn't consider implicit indexing increment that happens when
placing a semantic on an aggregate/array as implemented system semantics
don't allow such use yet.
The next step will be to enable user semantics, which will bring the
need to properly determine semantic indices depending on context.
This PR diverge from the initial wg-hlsl proposal as all diagnostics are
done in Sema (initial proposal suggested running diags in codegen).
This is not yet a solid semantic implementation, but increases the test
coverage and improves the status from where we are now.
Commit: 2d18c498b004fe3553d444c54dfe5e2993faa7a9
https://github.com/llvm/llvm-project/commit/2d18c498b004fe3553d444c54dfe5e2993faa7a9
Author: Jorn Tuyls <jorn.tuyls at gmail.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/MemRef/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[MemRef] Implement value bounds interface for ExpandShapeOp (#164438)
Commit: 0ba6d6d41659fd375a43f1a646ffab7c075637f8
https://github.com/llvm/llvm-project/commit/0ba6d6d41659fd375a43f1a646ffab7c075637f8
Author: David Green <david.green at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/load-zext-bitcast.ll
Log Message:
-----------
[AArch64] Correct am_indexed used in bitcast loadext patterns. (#164588)
The i8 versions were using the wrong index modes, we didn't have enough
test cases.
Commit: 5c30a5c7b8d9cb885cf636c656d2849881a61532
https://github.com/llvm/llvm-project/commit/5c30a5c7b8d9cb885cf636c656d2849881a61532
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
Log Message:
-----------
[ExecutionEngine] Call hash_combine_range with a range (NFC) (#164755)
We can pass a range directly to hash_combine_range these days.
Commit: d7c87c71b8caae4bc6b18b909c3d0cfe83c87fce
https://github.com/llvm/llvm-project/commit/d7c87c71b8caae4bc6b18b909c3d0cfe83c87fce
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/docs/TableGen/index.rst
Log Message:
-----------
[llvm] Proofread TableGen/index.rst (#164756)
Commit: c5f1c694ac2bbb07887abd88983bf4bec00830fe
https://github.com/llvm/llvm-project/commit/c5f1c694ac2bbb07887abd88983bf4bec00830fe
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/DebugObjectManagerPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.h
M llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/Layer.h
M llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorMemoryManager.h
M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
M llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
M llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.h
M llvm/unittests/ExecutionEngine/Orc/EPCGenericMemoryAccessTest.cpp
M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ResourceTrackerTest.cpp
Log Message:
-----------
[ExecutionEngine] Add "override" where appropriate (NFC) (#164757)
Note that "override" makes "virtual" redundant.
Identified with modernize-use-override.
Commit: 9c7b3047c428147eec84914d1bb2e103db28de98
https://github.com/llvm/llvm-project/commit/9c7b3047c428147eec84914d1bb2e103db28de98
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/test/ThinLTO/X86/devirt_external_comdat_same_guid.ll
Log Message:
-----------
[WPD] Reduce ThinLTO link time by avoiding unnecessary summary analysis (#164046)
We are scanning through every single definition of a vtable across all
translation units which is unnecessary in most cases.
If this is a local, we want to make sure there isn't another local with
the same GUID due to it having the same relative path. However, we were
always scanning through every single summary in all cases.
We can now check the new HasLocal flag added in PR164647 ahead of the
loop,
instead of checking on every iteration.
This cut down a large thin link by around 6%, which was over half the
time it spent in WPD.
Note that we previously took the last conforming vtable summary, and now
we use the first. This caused a test difference in one somewhat
contrived test for vtables in comdats.
Commit: 1c33b820719cbc506c70e100592b732a991cfd89
https://github.com/llvm/llvm-project/commit/1c33b820719cbc506c70e100592b732a991cfd89
Author: Shawn K <kimshawn02 at icloud.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/tmmintrin.h
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/ssse3-builtins.c
Log Message:
-----------
[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow MMX/SSE/AVX2 PSIGN intrinsics to be used in constexpr (#163685)
Fix #155812
Commit: fedbe384519115b25b193db2882b18b6bf253eaa
https://github.com/llvm/llvm-project/commit/fedbe384519115b25b193db2882b18b6bf253eaa
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/include/clang/AST/StmtOpenACC.h
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
Log Message:
-----------
[OpenACC][CIR] Implement atomic-write lowering (#164627)
This is a slightly more complicated variant of this, which supports 'x =
expr', so the right hand side is an r-value. This patch implements that,
adds some tests, and does some minor refactoring to the infrastructure
added for the 'atomic read' to make it more flexible for 'write'.
This is the second of four 'atomic' kinds.
Commit: 5d7da0a5cd0031e4a3e4f685e061a0dc6d599ae9
https://github.com/llvm/llvm-project/commit/5d7da0a5cd0031e4a3e4f685e061a0dc6d599ae9
Author: Timur Golubovich <timur.golubovich at syntacore.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M lldb/source/Core/DumpDataExtractor.cpp
M lldb/test/API/commands/memory/read/TestMemoryRead.py
M lldb/test/API/commands/memory/read/main.c
Log Message:
-----------
[lldb] Added a warning in case of instruction decode failure (#164413)
While testing baremetal lldb, I came across a situation that if an
instruction could not be disassembled, lldb will print nothing as an
output which might be a bit strange. I added at least printing warning
in this case.
Commit: 45f97f71aff8c22f1880e817b6f05ae6ae3afa72
https://github.com/llvm/llvm-project/commit/45f97f71aff8c22f1880e817b6f05ae6ae3afa72
Author: A. Jiang <de34 at live.cn>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++][docs] Add missing column headers for GitHub issues (#164745)
We started to list GitHub issues in the status CSV tables/pages due to
e0d0b90d52f54f291c1042046ddf22e925408235. However, the changes made
existing column header insufficient. We probably need to add new column
headers for GitHub issues.
Commit: 9a5ae34eb6e90c51e2231ceb1a8cf933341f3222
https://github.com/llvm/llvm-project/commit/9a5ae34eb6e90c51e2231ceb1a8cf933341f3222
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TargetEnv.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Dialect/Tosa/IR/TargetEnv.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add support for matmul_t_block_scaled (#163433)
This commit adds support for the MATMUL_T_BLOCK_SCALED operation from
the EXT_MXFP extension. This includes:
- Operation definition in TosaOps.td
- Micro-scaling supported types definition
- Shape inference and verifiers
- Validation pass checks to ensure usage is only valid when the target
environment includes ext-mxfp and at least v1.1.draft of the
specification.
As part of this commit, a notion of EXT_MXFP is also added. The
extension can be specified as part of the target environment and can
only be used if the specification version is at least 1.1.
Note: currently it excludes support for mxint8. This will be added in a
later commit.
Note: this commit adds support as defined in the spec in
https://github.com/arm/tosa-specification/commit/063846a75b9687ab01e58cb3538472bffb3a03b0.
EXT_MXFP extension is considered experimental and subject to breaking
change.
Co-authored-by: Tat Wai Chong <tatwai.chong at arm.com>
Commit: 917d1f20aecfdbdc9e5a7a0eaf947ff7be6fbe15
https://github.com/llvm/llvm-project/commit/917d1f20aecfdbdc9e5a7a0eaf947ff7be6fbe15
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
Log Message:
-----------
Silence "not all control paths return a value" warning; NFC
Commit: faf7af864f9258768133894764f1fae58d43bb09
https://github.com/llvm/llvm-project/commit/faf7af864f9258768133894764f1fae58d43bb09
Author: Chad Smith <cssmith at fb.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
R lldb/test/Shell/lldb-server/TestErrorMessages.test
A lldb/test/Shell/lldb-server/TestGdbserverErrorMessages.test
A lldb/test/Shell/lldb-server/TestPlatformErrorMessages.test
A lldb/test/Shell/lldb-server/TestPlatformHelp.test
A lldb/test/Shell/lldb-server/TestPlatformSuccessfulStartup.test
M lldb/tools/lldb-server/CMakeLists.txt
A lldb/tools/lldb-server/PlatformOptions.td
M lldb/tools/lldb-server/lldb-platform.cpp
Log Message:
-----------
[lldb] update lldb-server platform help parsing (#162730)
The lldb-server platform help text is inconsistent with lldb-server
gdbserver help text. This PR modernizes the platform server to use
LLVM's [TableGen](https://llvm.org/docs/TableGen/)-based option parsing
(matching the existing gdbserver implementation), which auto-generates
option parsing code and help text.
The changes improve documentation quality by adding comprehensive option
descriptions,, adding support for `-h`/`--help` flags, and organizing
help output with DESCRIPTION and EXAMPLES sections. Internal-only
options (`--child-platform-fd`) and unused legacy options (`--debug`,
`--verbose`) are now hidden from help while maintaining backward
compatibility. All functional behavior remains unchanged—this is purely
a documentation and code modernization improvement.
## before
```
> /opt/llvm/bin/lldb-server p -h
p: unrecognized option '-h'
Usage:
/opt/llvm/bin/lldb-server p [--log-file log-file-name] [--log-channels log-channel-list] [--port-file port-file-path] --server --listen port
```
## after
```
lldb-server p -h
OVERVIEW: lldb-server platform
USAGE: lldb-server p [options] --listen <[host]:port> [[--] program args...]
CONNECTION OPTIONS:
--gdbserver-port <port> Port to use for spawned gdbserver instances. If 0 or unspecified, a port will be chosen automatically. Short form: -P
--listen <[host]:port> Host and port to listen on. Format: [host]:port or protocol://[host]:port (e.g., tcp://localhost:1234, unix:///path/to/socket). Short form: -L
--socket-file <path> Write listening socket information (port number for TCP or path for Unix domain sockets) to the specified file. Short form: -f
GENERAL OPTIONS:
--help Display this help message and exit.
--log-channels <channel1 categories...:channel2 categories...>
Channels to log. A colon-separated list of entries. Each entry starts with a channel followed by a space-separated list of categories. Common channels: lldb, gdb-remote, platform, process. Short form: -c
--log-file <file> Destination file to log to. If empty, log to stderr. Short form: -l
--server Run in server mode, accepting multiple client connections sequentially. Without this flag, the server exits after handling the first connection.
OPTIONS:
-- program args Arguments to pass to launched gdbserver instances.
DESCRIPTION
Acts as a platform server for remote debugging. When LLDB clients connect,
the platform server handles platform operations (file transfers, process
launching) and spawns debug server instances (lldb-server gdbserver) to
handle actual debugging sessions.
By default, the server exits after handling one connection. Use --server
to keep running and accept multiple connections sequentially.
EXAMPLES
# Listen on port 1234, exit after first connection
lldb-server platform --listen tcp://0.0.0.0:1234
# Listen on port 5555, accept multiple connections
lldb-server platform --server --listen tcp://localhost:5555
# Listen on Unix domain socket
lldb-server platform --listen unix:///tmp/lldb-server.sock
```
For comparison, here is the **gdbserver** help text:
```
lldb-server g -h
OVERVIEW: lldb-server
USAGE: lldb-server g[dbserver] [options] [[host]:port] [[--] program args...]
CONNECTION:
--fd <fd> Communicate over the given file descriptor.
--named-pipe <name> Write port lldb-server will listen on to the given named pipe.
--pipe <fd> Write port lldb-server will listen on to the given file descriptor.
--reverse-connect Connect to the client instead of passively waiting for a connection. In this case [host]:port denotes the remote address to connect to.
GENERAL OPTIONS:
--help Prints out the usage information for lldb-server.
--log-channels <channel1 categories...:channel2 categories...>
Channels to log. A colon-separated list of entries. Each entry starts with a channel followed by a space-separated list of categories.
--log-file <file> Destination file to log to. If empty, log to stderr.
--setsid Run lldb-server in a new session.
TARGET SELECTION:
--attach <pid-or-name> Attach to the process given by a (numeric) process id or a name.
-- program args Launch program for debugging.
DESCRIPTION
lldb-server connects to the LLDB client, which drives the debugging session.
If no connection options are given, the [host]:port argument must be present
and will denote the address that lldb-server will listen on. [host] defaults
to "localhost" if empty. Port can be zero, in which case the port number will
be chosen dynamically and written to destinations given by --named-pipe and
--pipe arguments.
If no target is selected at startup, lldb-server can be directed by the LLDB
client to launch or attach to a process.
```
Commit: 536bd7214848a75594bb72ab01e02d13d54fb359
https://github.com/llvm/llvm-project/commit/536bd7214848a75594bb72ab01e02d13d54fb359
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/include/clang/AST/StmtOpenACC.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
Log Message:
-----------
[NFC] Rename 'Expr' to 'RefExpr' to fix the build warnings (#164828)
I used 'expr' since that is what it is in the standard, but that
obviously conflicts with our warnings on some build bots. This patch
fixes that by renaming it.
Commit: 0ac4a715f55ed860268740ad5f5535161b6cb552
https://github.com/llvm/llvm-project/commit/0ac4a715f55ed860268740ad5f5535161b6cb552
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel][lldb] Port #162730: tablegen for lldb-server platform ops (#164832)
Commit: d130f402642fba3d065aacb506cb061c899558de
https://github.com/llvm/llvm-project/commit/d130f402642fba3d065aacb506cb061c899558de
Author: Kees Cook <kees at kernel.org>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.h
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/test/CodeGen/ARM/O3-pipeline.ll
A llvm/test/CodeGen/ARM/kcfi-arm.ll
A llvm/test/CodeGen/ARM/kcfi-cbz-range.ll
A llvm/test/CodeGen/ARM/kcfi-patchable-function-prefix.ll
A llvm/test/CodeGen/ARM/kcfi-thumb.ll
A llvm/test/CodeGen/ARM/kcfi-thumb2.ll
R llvm/test/CodeGen/ARM/kcfi.ll
Log Message:
-----------
[ARM][KCFI] Add backend support for Kernel Control-Flow Integrity (#163698)
Implement KCFI (Kernel Control Flow Integrity) backend support for
ARM32, Thumb2, and Thumb1. The Linux kernel has supported ARM KCFI via
Clang's generic KCFI implementation, but this has finally started to
[cause problems](https://github.com/ClangBuiltLinux/linux/issues/2124)
so it's time to get the KCFI operand bundle lowering working on ARM.
Supports patchable-function-prefix with adjusted load offsets. Provides
an instruction size worst case estimate of how large the KCFI bundle is
so that range-limited instructions (e.g. cbz) know how big the indirect
calls can become.
ARM implementation notes:
- Four-instruction EOR sequence builds the 32-bit type ID byte-by-byte
to work within ARM's modified immediate encoding constraints.
- Scratch register selection: r12 (IP) is preferred, r3 used as fallback
when r12 holds the call target. r3 gets spilled/reloaded if it is
being used as a call argument.
- UDF trap encoding: 0x8000 | (0x1F << 5) | target_reg_index, similar
to aarch64's trap encoding.
Thumb2 implementation notes:
- Logically the same as ARM
- UDF trap encoding: 0x80 | target_reg_index
Thumb1 implementation notes:
- Due to register pressure, 2 scratch registers are needed: r3 and r2,
which get spilled/reloaded if they are being used as call args.
- Instead of EOR, add/lsl sequence to load immediate, followed by
a compare.
- No trap encoding.
Update tests to validate all three sub targets.
Commit: c6073d72ee23d8cd6aa49c08edde846359e41bde
https://github.com/llvm/llvm-project/commit/c6073d72ee23d8cd6aa49c08edde846359e41bde
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Analysis/LoopCacheAnalysis.cpp
Log Message:
-----------
[LoopCacheAnalysis] Drop incorrect nowrap flags from addrec (#164796)
This patch stops propagating nowrap flags unconditionally. In the
modified part, when we have an addrec `{%a,+,%b}` where `%b` is known to
be negative, we create a new addrec `{%a,+,(-1 * %b)}`. When creating
it, the nowrap flags are transferred from the original addrec to the new
one without any checks, which is generally incorrect. Since the nowrap
property is not essential for this analysis, it would be better to drop
it to avoid potential bugs.
Commit: 150145486e82c8da581f94cdceceb2652d644825
https://github.com/llvm/llvm-project/commit/150145486e82c8da581f94cdceceb2652d644825
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.h
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
A mlir/test/Conversion/GPUToLLVMSPV/printf.mlir
A mlir/test/Integration/Dialect/XeVM/GPU/gpu_printf.mlir
Log Message:
-----------
[MLIR][GPU] Generalize gpu.printf op lowering to LLVM call pattern. (#164297)
Existing pattern for lowering gpu.printf op to LLVM call uses fixed
function name and calling convention.
Those two should be exposed as pass option to allow supporting Intel
Compute Runtime for GPU.
Also adds gpu.printf op pattern to GPU to LLVMSPV pass.
It may appear out of place, but integration test is added to XeVM
integration test as that is the current best folder for testing with
Intel Compute Runtime.
Test should be moved in the future if a better test folder is added.
Commit: cf20a2685e1eb062e8c46f091797576e2a270003
https://github.com/llvm/llvm-project/commit/cf20a2685e1eb062e8c46f091797576e2a270003
Author: Andrew Ng <andrew.ng at sony.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/include/clang/Driver/CommonArgs.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
A clang/test/Driver/DTLTO/Inputs/dtlto-helper.py
M clang/test/Driver/DTLTO/dtlto.c
R clang/test/Driver/DTLTO/filename.py
A clang/test/Driver/DTLTO/lit.local.cfg
M clang/test/Driver/DTLTO/ps5-dtlto.c
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/LTO.cpp
M lld/COFF/Options.td
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/LTO.cpp
M lld/ELF/Options.td
M lld/docs/DTLTO.rst
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/LTO/LTO.cpp
M llvm/test/ThinLTO/X86/dtlto/json.ll
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
[DTLTO][Clang][LLD] Fix DTLTO for multi-call LLVM driver toolchain (#162456)
Add DTLTO linker option `--thinlto-remote-compiler-prepend-arg` to
enable support for the multi-call LLVM driver that requires an
additional option to specify the subcommand, e.g. "llvm clang ...".
Fixes https://github.com/llvm/llvm-project/issues/159125.
Commit: 6058c0cf4383149e4f0f61a6786d2a4dd6bd301a
https://github.com/llvm/llvm-project/commit/6058c0cf4383149e4f0f61a6786d2a4dd6bd301a
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
Log Message:
-----------
[NFC][clang][OpenMP] Cleanup leftover unused CodeGen functions (#164767)
Commit: c13ac9cadf1f9b4fa886b82d1e84a5feb0439023
https://github.com/llvm/llvm-project/commit/c13ac9cadf1f9b4fa886b82d1e84a5feb0439023
Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/x86.c
Log Message:
-----------
[Compiler-rt] Fix wrong assignment in compiler_rt (#164713)
The `INTEL_CLEARWATERFOREST` belongs to `ProcessorTypes` enum, but it
was assigned to `Subtype` value, leading to cpu_specific/cpu_dispatch
not recognizing CWF. The type for `Subtype` and `Type` are changed to
respective enums to guard against these sort of errors in the future
Commit: 7ca1472df011a3a7c341f7a866e68b2308d12442
https://github.com/llvm/llvm-project/commit/7ca1472df011a3a7c341f7a866e68b2308d12442
Author: Marco Elver <elver at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/alloc-token.cpp
Log Message:
-----------
[Clang] Implement constexpr evaluation for __builtin_infer_alloc_token() (#163639)
Implement the constexpr evaluation for `__builtin_infer_alloc_token()`
in Clang's constant expression evaluators (both in ExprConstant and the
new bytecode interpreter).
The constant evaluation is only supported for stateless (hash-based)
token modes. If a stateful mode like `increment` is used, the evaluation
fails, as the token value is not deterministic at compile time.
Commit: 213b8a9f18742b2327be177b34eba42d4aedcc4c
https://github.com/llvm/llvm-project/commit/213b8a9f18742b2327be177b34eba42d4aedcc4c
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
Log Message:
-----------
[NFC][LLVM] Namespace cleanup in MergeICmps (#163761)
Commit: 71b21b5391b267f10c8222fbbe73494fbce6dd86
https://github.com/llvm/llvm-project/commit/71b21b5391b267f10c8222fbbe73494fbce6dd86
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/test/CIR/CodeGen/try-catch.cpp
Log Message:
-----------
[CIR] Move alloca from cir.try to the surrounding cir.scope (#164488)
Upstream moving the allocas from cir.try block to the surrounding
cir.scope
Issue https://github.com/llvm/llvm-project/issues/154992
Commit: 7731156f30c6e7731e08b4ff52d262be10f93b16
https://github.com/llvm/llvm-project/commit/7731156f30c6e7731e08b4ff52d262be10f93b16
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/SemaOpenMP/openmp-begin-declare-variant_template.cpp
Log Message:
-----------
[clang] OpenMP: fix variant template mismatch crash (#164511)
This ammends the fix commited in https://reviews.llvm.org/D109770 /
6cf6fa6ef1c28
Comparing the number of template parameter lists with the number of
template parameters is obviously wrong.
Even then, the number of parameters being the same doesn't mean the
templates are compatible.
This change compares if the template parameters are actually equivalent.
This fixes the crash, but I am not sure what is the design and intention
here, this openmp template support looks too fragile.
The added test case still doesn't work, but at least we don't crash now.
Commit: d8d80b659a2b36cda574733abe5446c9f9773524
https://github.com/llvm/llvm-project/commit/d8d80b659a2b36cda574733abe5446c9f9773524
Author: wdx727 <wudexin at kuaishou.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/docs/Extensions.rst
A llvm/include/llvm/CodeGen/MachineBlockHashInfo.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/MachineBlockHashInfo.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/test/CodeGen/X86/basic-block-address-map-empty-function.ll
M llvm/test/CodeGen/X86/basic-block-address-map-function-sections.ll
M llvm/test/CodeGen/X86/basic-block-address-map-pgo-features.ll
M llvm/test/CodeGen/X86/basic-block-address-map-with-basic-block-sections.ll
A llvm/test/CodeGen/X86/basic-block-address-map-with-emit-bb-hash.ll
M llvm/test/CodeGen/X86/basic-block-address-map-with-mfs.ll
M llvm/test/CodeGen/X86/basic-block-address-map.ll
Log Message:
-----------
Adding Matching and Inference Functionality to Propeller-PR2 (#162963)
Adding Matching and Inference Functionality to Propeller. For detailed
information, please refer to the following RFC:
https://discourse.llvm.org/t/rfc-adding-matching-and-inference-functionality-to-propeller/86238.
This is the second PR, which includes the calculation of basic block
hashes and their emission to the ELF file. It is associated with the
previous PR at https://github.com/llvm/llvm-project/pull/160706.
co-authors: lifengxiang1025
[lifengxiang at kuaishou.com](mailto:lifengxiang at kuaishou.com); zcfh
[wuminghui03 at kuaishou.com](mailto:wuminghui03 at kuaishou.com)
Co-authored-by: lifengxiang1025 <lifengxiang at kuaishou.com>
Co-authored-by: zcfh <wuminghui03 at kuaishou.com>
Co-authored-by: Rahman Lavaee <rahmanl at google.com>
Commit: 01498648143c6de409e9c3672ef373189ba97e35
https://github.com/llvm/llvm-project/commit/01498648143c6de409e9c3672ef373189ba97e35
Author: NohHyeon Kwon <96061253+swote-git at users.noreply.github.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
A clang/test/Preprocessor/cxx_oper_comma.cpp
Log Message:
-----------
[clang][test] Add test for comma operator rejection in preprocessor conditionals (#155570)
Add test coverage to ensure comma operators remain properly rejected in
`#if` directives.
Per CWG 1436, comma is not among the permitted operators in preprocessor
conditional expressions. This test prevents regressions and clarifies
the intended behavior.
Fixes #132822
Commit: 930b36cfbbc873fe6c329b95e1c56c6ae1ea1d94
https://github.com/llvm/llvm-project/commit/930b36cfbbc873fe6c329b95e1c56c6ae1ea1d94
Author: Chad Smith <cssmith at fb.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M lldb/test/Shell/lldb-server/TestPlatformErrorMessages.test
M lldb/test/Shell/lldb-server/TestPlatformHelp.test
Log Message:
-----------
[lldb] fix lldb-server test failures on windows (#164843)
Fix windows test failures from
https://github.com/llvm/llvm-project/pull/162730 by including and
optional .exe on the lldb-server name. Still passes on linux, but should
pass on windows now.
```
> bin/llvm-lit -v tools/lldb/test/Shell/lldb-server/
llvm-lit: llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using clang: llvm-project/build/bin/clang
llvm-lit: llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using ld.lld: /usr/bin/ld.lld
llvm-lit: llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using lld-link: /usr/bin/lld-link
llvm-lit: llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using ld64.lld: /usr/bin/ld64.lld
llvm-lit: llvm-project/llvm/utils/lit/lit/llvm/config.py:531: note: using wasm-ld: /usr/bin/wasm-ld
llvm-lit: llvm-project/llvm/utils/lit/lit/llvm/subst.py:126: note: Did not find obj2yaml in llvm-project/build/./bin:llvm-project/build/./bin
llvm-lit: llvm-project/llvm/utils/lit/lit/llvm/subst.py:126: note: Did not find llvm-objdump in llvm-project/build/./bin:llvm-project/build/./bin
llvm-lit: llvm-project/lldb/test/Shell/lit.cfg.py:125: warning: Could not set a default per-test timeout. Requires the Python psutil module but it could not be found. Try installing it via pip or via your operating system's package manager.
-- Testing: 4 tests, 4 workers --
PASS: lldb-shell :: lldb-server/TestGdbserverErrorMessages.test (1 of 4)
PASS: lldb-shell :: lldb-server/TestPlatformHelp.test (2 of 4)
PASS: lldb-shell :: lldb-server/TestPlatformErrorMessages.test (3 of 4)
PASS: lldb-shell :: lldb-server/TestPlatformSuccessfulStartup.test (4 of 4)
Testing Time: 1.10s
Total Discovered Tests: 4
Passed: 4 (100.00%)
1 warning(s) in tests
```
Commit: 1031f1b293cad13465888722470966ea4b641386
https://github.com/llvm/llvm-project/commit/1031f1b293cad13465888722470966ea4b641386
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M flang/lib/Frontend/FrontendActions.cpp
M flang/test/CMakeLists.txt
M flang/test/Driver/lto-bc.f90
Log Message:
-----------
[Flang][Driver] Emit module summary for Full LTO (#164302)
This PR enables module summary for Full LTO. Module summaries are
enabled by default for Full LTO in clang, this change makes the flang
behaviour consistent. Reference PR: https://reviews.llvm.org/D34156
Commit: ede9dd3951e29632a29e13b2fd8c4b6b9d185643
https://github.com/llvm/llvm-project/commit/ede9dd3951e29632a29e13b2fd8c4b6b9d185643
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
Log Message:
-----------
[CIR] Handle dynamic cast to null (#164732)
This adds support for handling dynamic casts that are known at compile
time to always result in a null pointer. For pointer casts, this emits a
null pointer value. For reference casts, it calls the __bad_cast
function.
Commit: 1ab6c0d60c52539b77e1cbfdc7f1ba47ad140b8d
https://github.com/llvm/llvm-project/commit/1ab6c0d60c52539b77e1cbfdc7f1ba47ad140b8d
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScannerImpl.cpp
A clang/test/Modules/explicit-build-cwd.c
Log Message:
-----------
[clang] Make explicitly-built modules independent of the CWD (#164840)
PR https://github.com/llvm/llvm-project/pull/150123 changed how we
normalize the modules cache path. Unfortunately, empty path would get
normalized to the current working directory. This means that even
explicitly-built PCMs that don't rely on the CWD now embed it, leading
to surprising behavior. This PR fixes that by normalizing an empty
modules cache path to an empty string.
Commit: 38473c5d351d6b2ae21b5eb1ce66c2bcc2f7c6f7
https://github.com/llvm/llvm-project/commit/38473c5d351d6b2ae21b5eb1ce66c2bcc2f7c6f7
Author: Ian Anderson <iana at apple.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang-tools-extra/clang-include-fixer/find-all-symbols/STLPostfixHeaderMap.cpp
M clang-tools-extra/clangd/index/CanonicalIncludes.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/__float_float.h
A clang/lib/Headers/__float_header_macro.h
A clang/lib/Headers/__float_infinity_nan.h
M clang/lib/Headers/float.h
M clang/lib/Headers/module.modulemap
A clang/test/Headers/floatneeds.c
M clang/test/Modules/relative-resource-dir.m
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[clang][headers] Need a way for math.h to share the definitions of INIFINITY and NAN with float.h (#164348)
In C23 mode, both float.h and math.h are required to define INIFINITY
and NAN. However, with clang modules, there needs to be a single owner
for the declarations. Let that be float.h since that's the suggested
true owner in Annex F.2.2 of ISO/IEC 9899:2024, and introduce
`__need_infinity_nan` so that math.h can pick up the compiler
definitions.
Commit: 1c53bfc635b1138a549d7ff82425af91aa9db512
https://github.com/llvm/llvm-project/commit/1c53bfc635b1138a549d7ff82425af91aa9db512
Author: Zack Johnson <zacklj89 at gmail.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Log Message:
-----------
[compiler-rt][ASan] Define SANITIZER_INTERCEPT_WCSNLEN (#164845)
Follow up to #162028
`SANITIZER_INTERCEPT_WCSNLEN` is not defined, so `internal_wcsnlen` is
always used instead of using `REAL(wcsnlen)` if intercepted.
Commit: 2b42c6c163f8520e5a279d6b995907ab606c8600
https://github.com/llvm/llvm-project/commit/2b42c6c163f8520e5a279d6b995907ab606c8600
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/test/CodeGen/DirectX/CBufferAccess/unused.ll
Log Message:
-----------
[DirectX] Use a well-formed cbuffer in the unused cbuffer test (#164844)
CBuffers still need a layout type for now. Fix the crash when looking up
the cbuffer info.
Commit: 2b6686f2cd4424d22905a67afee7b0c514fa9042
https://github.com/llvm/llvm-project/commit/2b6686f2cd4424d22905a67afee7b0c514fa9042
Author: jofrn <jofernau at amd.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/atomic-load-store.ll
Log Message:
-----------
[X86] Manage atomic load of fp -> int promotion in DAG (#148895)
When lowering atomic <1 x T> vector types with floats, selection can fail since
this pattern is unsupported. To support this, floats can be casted to
an integer type of the same size.
Commit: 10bec2cd9dab796d5685fa8aadf47b912e3558fe
https://github.com/llvm/llvm-project/commit/10bec2cd9dab796d5685fa8aadf47b912e3558fe
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-ir2vec.rst
M llvm/include/llvm/CodeGen/MIR2Vec.h
A llvm/test/tools/llvm-ir2vec/entities.mir
A llvm/test/tools/llvm-ir2vec/output/lit.local.cfg
A llvm/test/tools/llvm-ir2vec/output/reference_triplets.txt
A llvm/test/tools/llvm-ir2vec/output/reference_x86_entities.txt
A llvm/test/tools/llvm-ir2vec/triplets.mir
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
Log Message:
-----------
[llvm-ir2vec][MIR2Vec] Supporting MIR mode in triplet and entity generation (#164329)
Add support for Machine IR (MIR) triplet and entity generation in llvm-ir2vec.
This change extends llvm-ir2vec to support Machine IR (MIR) in addition to LLVM IR, enabling the generation of training data for MIR2Vec embeddings. MIR2Vec provides machine-level code embeddings that capture target-specific instruction semantics, complementing the target-independent IR2Vec embeddings.
- Extended llvm-ir2vec to support triplet and entity generation for Machine IR (MIR)
- Added `--mode=mir` option to specify MIR mode (vs LLVM IR mode)
- Implemented MIR triplet generation with Next and Arg relationships
- Added entity mapping generation for MIR vocabulary
- Updated documentation to explain MIR-specific features and usage
(Partially addresses #162200 ; Tracking issue - #141817)
Commit: 83f751a001fa57dd8eaa60f08ed420e90170e11d
https://github.com/llvm/llvm-project/commit/83f751a001fa57dd8eaa60f08ed420e90170e11d
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[FlowSensitive] [StatusOr] [6/N] support pointer comparison (#164856)
Commit: 4d80e0c4446b3bd1c2ae2583be8dc545e5a4e0b9
https://github.com/llvm/llvm-project/commit/4d80e0c4446b3bd1c2ae2583be8dc545e5a4e0b9
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Semantics/openmp-utils.cpp
Log Message:
-----------
[flang][OpenMP] Add missing forward declarations and includes (#164860)
Add declarations/includes of Scope and Symbol to Semantics/openmp-utils.
Commit: c20835b4c978e1f20628186223e1ce27db757df2
https://github.com/llvm/llvm-project/commit/c20835b4c978e1f20628186223e1ce27db757df2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
Log Message:
-----------
[ARM] Fix a warning
This patch fixes:
llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1643:9: error: unused variable
'T2SOImmVal' [-Werror,-Wunused-variable]
Commit: b08bbe5ada92e7bebac8bf9ebe362fd1d2265ca6
https://github.com/llvm/llvm-project/commit/b08bbe5ada92e7bebac8bf9ebe362fd1d2265ca6
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
Log Message:
-----------
[ARM][KFCI] Fix unused variable for #163698 (#164857)
Commit: e665f245f501a5cb9e33e67085ddc9507959d5bb
https://github.com/llvm/llvm-project/commit/e665f245f501a5cb9e33e67085ddc9507959d5bb
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Passes.h
M mlir/include/mlir/Dialect/Affine/Passes.td
M mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
M mlir/test/Dialect/Affine/unroll.mlir
M mlir/test/Transforms/scf-loop-unroll.mlir
M mlir/test/lib/Dialect/SCF/TestLoopUnrolling.cpp
Log Message:
-----------
[mlir] Delete unroll-full option for Affine/SCF unroll pass (#164658)
Make the unroll-factor take -1 as "full" and avoid potential conflict
when passing both an explicit factor and unroll-full=true.
Commit: 3f27f5723ba36c44d2cbeddf14b00eb32f6565e2
https://github.com/llvm/llvm-project/commit/3f27f5723ba36c44d2cbeddf14b00eb32f6565e2
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/SmallVector.h
M llvm/unittests/ADT/SmallVectorTest.cpp
Log Message:
-----------
[ADT] Use `adl_begin`/`end` with `to_vector` functions (#164823)
Similar to other code in ADT / STLExtras, allow `to_vector` to work with
ranges that require ADL to find the begin/end iterators.
Commit: 0198e8f068460f292477a6797de31aa4bac736f5
https://github.com/llvm/llvm-project/commit/0198e8f068460f292477a6797de31aa4bac736f5
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
A lld/test/wasm/lto/relocation-model.ll
M lld/wasm/LTO.cpp
Log Message:
-----------
[lld][WebAssembly] Honor command line reloc model during LTO (#164838)
This code matches what the ELF linker already does. See ae4c30a4bed from
back in 2019.
Commit: 2bb4226c7c6da0edf40b4f1b87e9a625ff2a0e31
https://github.com/llvm/llvm-project/commit/2bb4226c7c6da0edf40b4f1b87e9a625ff2a0e31
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/TableGen/intrinsic-manual-name.td
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
Log Message:
-----------
[LLVM][Intrinsics] Print note if manual name matches default name (#164716)
Print a note when the manually specified name in an intrinsic matches
the default name it would have been assigned based on the record name,
in which case the manual specification is redundant and can be
eliminated.
Also remove existing redundant manual names.
Commit: b2c8b07f79cacc9d7f37e73370475e47f4121749
https://github.com/llvm/llvm-project/commit/b2c8b07f79cacc9d7f37e73370475e47f4121749
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-10-23 (Thu, 23 Oct 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
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Parser/OpenMP/declare-reduction-multi.f90
M flang/test/Parser/OpenMP/declare-reduction-operator.f90
M flang/test/Parser/OpenMP/declare-reduction-unparse.f90
M flang/test/Parser/OpenMP/metadirective-dirspec.f90
M flang/test/Parser/OpenMP/openmp6-directive-spellings.f90
Log Message:
-----------
[flang][OpenMP] Rename some AST classes to follow spec naming, NFC (#164870)
Rename OmpTypeSpecifier to OmpTypeName, since it represents a type-name
list item. Also, OpenMP 6.0 introduced type-specifier with a different
meaning.
Rename OmpReductionCombiner to OmpCombinerExpression.
Commit: f11899f6479cebe47bcdc2cf049fa8a47991ad46
https://github.com/llvm/llvm-project/commit/f11899f6479cebe47bcdc2cf049fa8a47991ad46
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
Log Message:
-----------
[ThinLTO][WPD] Simplify check for local summary for efficiency (NFCI) (#164859)
Use the new HasLocal flag to avoid looking through all summaries to see
if there is a local copy.
Commit: a909ec64dc36ba26f103b9f1bd71dd4b9c73ed5f
https://github.com/llvm/llvm-project/commit/a909ec64dc36ba26f103b9f1bd71dd4b9c73ed5f
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
Log Message:
-----------
[ThinLTO][WPD] LICM a loop invariant check (#164862)
Move a loop invariant check out of the innermost loop. I measured a
small but consistent thin link speedup from this change for a large
target (0.75%).
Commit: c745f745b11766949cfc7326e69e3cdccf9cc893
https://github.com/llvm/llvm-project/commit/c745f745b11766949cfc7326e69e3cdccf9cc893
Author: Florian Mayer <fmayer at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[FlowSensitive] [StatusOr] [7/N] Support StatusOr::emplace
This always makes the StatusOr OK.
Reviewers: jvoung, Xazax-hun
Reviewed By: jvoung
Pull Request: https://github.com/llvm/llvm-project/pull/163876
Commit: ad75b3be4e187e4cc634b33d8ed638c8232c33f4
https://github.com/llvm/llvm-project/commit/ad75b3be4e187e4cc634b33d8ed638c8232c33f4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
Log Message:
-----------
[RISCV] Add AltFmtType = IS_NOT_ALTFMT to SF_VFNRCLIP_X(U)_F_QF. (#164759)
These instructions are FP instructions with SEW=8. vtype.altfmt=1 should
be considered reserved for them.
Commit: d87200e8ca2a2c593baea2e113b90bf43409b534
https://github.com/llvm/llvm-project/commit/d87200e8ca2a2c593baea2e113b90bf43409b534
Author: jofrn <jofernau at amd.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/test/CodeGen/X86/atomic-load-store.ll
Log Message:
-----------
[X86] Add atomic vector tests for unaligned >1 sizes. (#148896)
Unaligned atomic vectors with size >1 are lowered to calls.
Adding their tests separately here.
Commit: 1c30038e5af5256aeda45946ddc0b5f801749e15
https://github.com/llvm/llvm-project/commit/1c30038e5af5256aeda45946ddc0b5f801749e15
Author: Atmn Patel <atmnp at nvidia.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][mlir] add missing type conversion when lowering atomiccas (#164865)
When lowering `atomiccas`, flang does not convert the output of the
`llvm.extract_value` op to result type expected in the expression being
lowered. This results in invalid MLIR being generated such as when the
output of the atomiccas is being used for an equality check in a `do
while` loop condition, where the `arith.cmpi` would be comparing an `i64
0` with an `i1`. This change ensures that the appropriate cast is
inserted.
Reviewers: @clementval @vzakhari
Commit: f899893c1949183d35ec986090f449d82a796b2d
https://github.com/llvm/llvm-project/commit/f899893c1949183d35ec986090f449d82a796b2d
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU][NFC] Cleanly make 32-bit abs legal (#164837)
Cleanly make 32-bit abs legal only in SIISelLowering.cpp
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: eaedab226cfcf99b92fbfc91b502096a11b45de8
https://github.com/llvm/llvm-project/commit/eaedab226cfcf99b92fbfc91b502096a11b45de8
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for misc-use-internal-linkage in Serializer.cpp (NFC)
Commit: 2b808c0e009e60460be7c91e4770225af56d5504
https://github.com/llvm/llvm-project/commit/2b808c0e009e60460be7c91e4770225af56d5504
Author: cmtice <cmtice at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
Log Message:
-----------
[CI][Github] Install Clang in Windows container (#164519)
Downloads clang-for-windows from the LLVM releases website, decompresses
and untars the images, and leave them in C:\clang\clang-msvc\...
Temporarily downloads the 'xz' utility to decompress the downloaded
clang tarball image.
Commit: 4456afcf0bcb29d3ba5670dbc583ee5ea00a01f3
https://github.com/llvm/llvm-project/commit/4456afcf0bcb29d3ba5670dbc583ee5ea00a01f3
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M lldb/test/Shell/lldb-server/TestPlatformErrorMessages.test
M lldb/test/Shell/lldb-server/TestPlatformHelp.test
Log Message:
-----------
Revert "[lldb] fix lldb-server test failures on windows (#164843)"
This reverts commit 930b36cfbbc873fe6c329b95e1c56c6ae1ea1d94.
Reverting because it depends on 5fc40a5f2bedaf6ca3f024aa2a91c5f4ce187061.
Commit: aac036a7f6730118f0d832150243d66b603c3af3
https://github.com/llvm/llvm-project/commit/aac036a7f6730118f0d832150243d66b603c3af3
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
A lldb/test/Shell/lldb-server/TestErrorMessages.test
R lldb/test/Shell/lldb-server/TestGdbserverErrorMessages.test
R lldb/test/Shell/lldb-server/TestPlatformErrorMessages.test
R lldb/test/Shell/lldb-server/TestPlatformHelp.test
R lldb/test/Shell/lldb-server/TestPlatformSuccessfulStartup.test
M lldb/tools/lldb-server/CMakeLists.txt
R lldb/tools/lldb-server/PlatformOptions.td
M lldb/tools/lldb-server/lldb-platform.cpp
Log Message:
-----------
Revert "[lldb] update lldb-server platform help parsing (#162730)"
This reverts commit faf7af864f9258768133894764f1fae58d43bb09.
This is failing on the Darwin bots.
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake/16164/changes#faf7af864f9258768133894764f1fae58d43bb09
Commit: 910cf518922305ad079211184e843a4437de89ba
https://github.com/llvm/llvm-project/commit/910cf518922305ad079211184e843a4437de89ba
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port d8d80b659a2b
Commit: c97256d540d1903d6d884f26cdfb90467ae46b59
https://github.com/llvm/llvm-project/commit/c97256d540d1903d6d884f26cdfb90467ae46b59
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/utils/mlgo-utils/IR2Vec/generateTriplets.py
Log Message:
-----------
[MIR2Vec] Add MIR support to triplet generator script (#164332)
Add support for MIR (Machine IR) triplet generation to the triplet gen script.
Commit: d47873784174181f1d5837f1389d23afeead734c
https://github.com/llvm/llvm-project/commit/d47873784174181f1d5837f1389d23afeead734c
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/arm64/sme_thread_status.h
Log Message:
-----------
[lldb][debugserver] fix typeo in SME ZA register
chunk enumeartions. Noticed by David Spickett.
NFC--no machine with a ZA register large enough to use this exists
today.
Commit: 4ec5852c1d9f78df2d586ad4ee7af3f087a97555
https://github.com/llvm/llvm-project/commit/4ec5852c1d9f78df2d586ad4ee7af3f087a97555
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-multi-block.ll
Log Message:
-----------
[LV] Add tests for narrowing interleave groups with multiple blocks.
Add additional test coverage for narrowInterleaveGroups with loops with
multiple blocks.
Commit: 7ac29007187e43c2b5224a0334f82800f5109a34
https://github.com/llvm/llvm-project/commit/7ac29007187e43c2b5224a0334f82800f5109a34
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/test/CodeGen/arm-acle-coproc.c
A clang/test/Driver/aarch64-v97a.c
M clang/test/Driver/arm-cortex-cpus-1.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/arm-target-features.c
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParser.def
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/ARM/ARMArchitectures.td
M llvm/lib/Target/ARM/ARMFeatures.td
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/ARMTargetParserCommon.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[ARM][AArch64] Introduce the Armv9.7-A architecture version (#163154)
This introduces the Armv9.7-A architecture version, including the
relevant command-line option for -march.
More details about the Armv9.7-A architecture version can be found at:
* https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-developments-2025
* https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
* https://developer.arm.com/documentation/ddi0602/2025-09/
Co-authored-by: Caroline Concatto <caroline.concatto at arm.com>
Commit: f28224b78f9ef8c0017a62b9db19338fbd051394
https://github.com/llvm/llvm-project/commit/f28224b78f9ef8c0017a62b9db19338fbd051394
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/test/Driver/aarch64-v97a.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
A llvm/test/MC/AArch64/armv9.7a-memsys.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][llvm] Armv9.7-A: Add support for FEAT_CMH and FEAT_LSCP (#163155)
Add the following instructions to support:
* `FEAT_CMH`: Contention Management Hints extension
* `SHUH` instruction
* `FEAT_LSCP`: Load-acquire and store-release pair extension
* `STLP` instruction
* `LDAP` instruction
* `LDAPP` instruction
and system registers:
- `TLBIDIDR_EL1`
- `VTLBID<n>_EL2`
- `VTLBIDOS<n>_EL2`
as documented here:
* https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
* https://developer.arm.com/documentation/ddi0602/2025-09/
Co-authored-by: Martin Wehking <martin.wehking at arm.com>
Commit: 66e8270e8f3cd5a291e48097095c4f547ddf417d
https://github.com/llvm/llvm-project/commit/66e8270e8f3cd5a291e48097095c4f547ddf417d
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/test/Driver/aarch64-v97a.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
A llvm/test/MC/AArch64/armv9.7a-tlbid-diagnostics.s
A llvm/test/MC/AArch64/armv9.7a-tlbid.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][llvm] Armv9.7-A: Add support for TLBI Domains (FEAT_TLBID) (#163156)
Allow the following `TLBI` operation types to take an optional register
operand when enabled by `FEAT_TLBID`:
- ALL*
- VMALL*
- VMALLS12*
- VMALLWS2*
as documented here:
* https://developer.arm.com/documentation/ddi0602/2025-09/
* https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
Notes on implementation:
Currently, AArch64 `SYS` alias instructions fall into two categories:
* a register value must be present (indicated by any value except `XZR`)
* no register value must be present (this value must be `XZR`)
When +tblid is enabled, `SYS` aliases are now allowed to take an optional
register, or no register as before. We need an extra tablegen flag to
indicate if the register is optional or not (the existing "NeedsReg" flag
is binary and not suitable; the register is either present or absent,
not either for a specific TLBI operation)
Don't produce an error message if the register operand is missing or
unexpected, if it is specified as an optional register.
Commit: d30f18d2cd464383ba5777d21219026780b0b890
https://github.com/llvm/llvm-project/commit/d30f18d2cd464383ba5777d21219026780b0b890
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/test/Driver/aarch64-v97a.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/test/MC/AArch64/armv8.4a-mpam.s
A llvm/test/MC/AArch64/armv9.7a-mpamv2-diagnostics.s
A llvm/test/MC/AArch64/armv9.7a-mpamv2.s
M llvm/test/MC/Disassembler/AArch64/armv8.4a-mpam.txt
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][llvm] Armv9.7-A: Add support for Memory Partitioning and Management (FEAT_MPAMv2) (#163157)
Add new instructions and system registers for `FEAT_MPAMv2`:
* MLBI ALLE1
* MLBI VMALLE1
* MLBI VPIDE1, <Xt>
* MLBI VPMGE1, <Xt>
as documented here:
* https://developer.arm.com/documentation/ddi0602/2025-09/
* https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
Co-authored-by: Caroline Concatto <caroline.concatto at arm.com>
Commit: ca10dacf19d52cad8cbf6c4b5eb5dad0e265a704
https://github.com/llvm/llvm-project/commit/ca10dacf19d52cad8cbf6c4b5eb5dad0e265a704
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/test/Driver/aarch64-v97a.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
A llvm/test/MC/AArch64/armv9.7a-mtetc-diagnostics.s
A llvm/test/MC/AArch64/armv9.7a-mtetc.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][llvm] Armv9.7-A: Add support for Virtual Memory Tagging (FEAT_MTETC) (#163158)
Add the following instructions for `FEAT_MTETC`, which is a part of
`FEAT_VMTE` for Virtual Tagging:
* `DC ZGBVA`
* `DC GBVA`
as documented here:
* https://developer.arm.com/documentation/ddi0602/2025-09/
* https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
Commit: 6836261ee4acecd14c31f8d66d746f58de87a34b
https://github.com/llvm/llvm-project/commit/6836261ee4acecd14c31f8d66d746f58de87a34b
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/test/Driver/aarch64-v97a.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
A llvm/test/MC/AArch64/armv9.7a-gcie-diagnostics.s
A llvm/test/MC/AArch64/armv9.7a-gcie.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][llvm] Armv9.7-A: Add support for GICv5 (FEAT_GCIE) (#163159)
Add new instruction and system registers that are specified in the
Generic Interrupt Controller Architecture v5 (GICv5) standard,
announced here:
* https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/introducing-gicv5
and documented here:
* https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
* https://developer.arm.com/documentation/ddi0602/2025-09/
Co-authored-by: Jack Styles <jack.styles at arm.com>
Commit: ef923f1b281cf25bc8fed129e0851b178a094c56
https://github.com/llvm/llvm-project/commit/ef923f1b281cf25bc8fed129e0851b178a094c56
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/add-max.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
Log Message:
-----------
[AMDGPU] Change patterns for v_[pk_]add_{min|max} (#164881)
The intermediate result is in fact the add with saturation
regardless of the clamp bit.
Commit: 997af95fac7b9069e8afa5bd208e02344fab8ce3
https://github.com/llvm/llvm-project/commit/997af95fac7b9069e8afa5bd208e02344fab8ce3
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/test/MC/AMDGPU/gfx1250_asm_sopp.s
M llvm/test/MC/AMDGPU/gfx1250_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_sopp.txt
Log Message:
-----------
[AMDGPU] Remove validation of s_set_vgpr_msb range (#164888)
We will need the full 16-bit range of the operand to record
previous mode.
Commit: cab4c68a669df7856c9b0babf05709e10f89c7e2
https://github.com/llvm/llvm-project/commit/cab4c68a669df7856c9b0babf05709e10f89c7e2
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/test/Driver/aarch64-v97a.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/MC/AArch64/SVE2p3/arithmetic-diagnostics.s
A llvm/test/MC/AArch64/SVE2p3/arithmetic.s
A llvm/test/MC/AArch64/SVE2p3/directive-arch-negative.s
A llvm/test/MC/AArch64/SVE2p3/directive-arch_extension-negative.s
A llvm/test/MC/AArch64/SVE2p3/directive-cpu-negative.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][llvm] Armv9.7-A: Add support for SVE2p3 arithmetic operations (#163160)
Add instructions for SVE2p3 arithmetic operations:
- `ADDQP` (add pairwise within quadword vector segments)
- `ADDSUBP` (add subtract pairwise)
- `SABAL` (two-way signed absolute difference sum and accumulate long)
- `SUBP` (subtract pairwise)
- `UABAL` (two-way unsigned absolute difference sum and accumulate long)
as documented here:
* https://developer.arm.com/documentation/ddi0602/2025-09/
* https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
Commit: bfae15a1257a63f205db12308ca4b131f3b3f3b3
https://github.com/llvm/llvm-project/commit/bfae15a1257a63f205db12308ca4b131f3b3f3b3
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/test/Driver/aarch64-v97a.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE/bfmmla-diagnostics.s
M llvm/test/MC/AArch64/SVE2p1/sdot-diagnostics.s
M llvm/test/MC/AArch64/SVE2p1/udot-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fmmla-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fmmla.s
A llvm/test/MC/AArch64/SVE2p3/bfmmla-diagnostics.s
A llvm/test/MC/AArch64/SVE2p3/bfmmla.s
A llvm/test/MC/AArch64/SVE2p3/dot-diagnostics.s
A llvm/test/MC/AArch64/SVE2p3/dot.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][llvm] Armv9.7-A: Add support for SVE2p3 DOT and MLA operations (#163161)
Add instructions for SVE2p3 DOT and MLA operations:
- BFMMLA (non-widening)
- FMMLA (non-widening)
- SDOT (2-way, vectors)
- SDOT (2-way, indexed)
- UDOT (2-way, vectors)
- UDOT (2-way, indexed)
as documented here:
* https://developer.arm.com/documentation/ddi0602/2025-09/
* https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
Commit: 29969c988bb9004d201e7e6280e193cbcf7aacc8
https://github.com/llvm/llvm-project/commit/29969c988bb9004d201e7e6280e193cbcf7aacc8
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/MC/AArch64/SVE2p3/cvt-diagnostics.s
A llvm/test/MC/AArch64/SVE2p3/cvt.s
Log Message:
-----------
[AArch64][llvm] Armv9.7-A: Add support for SVE2p3 CVT operations (#163162)
Add instructions for SVE2p3 CVT operations:
- FCVTZSN
- FCVTZUN
- SCVTF
- SCVTFLT
- UCVTF
- UCVTFLT
as documented here:
* https://developer.arm.com/documentation/ddi0602/2025-09/
* https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
Commit: 301fa24671256734df6b7ee65f23ad885400108e
https://github.com/llvm/llvm-project/commit/301fa24671256734df6b7ee65f23ad885400108e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-multi-block.ll
Log Message:
-----------
[VPlan] Limit narrowInterleaveGroups to single block regions for now.
Currently only regions with a single block are supported by the legality
checks.
Commit: 9470c2e152c6917b8950d2d506b0a4505723011a
https://github.com/llvm/llvm-project/commit/9470c2e152c6917b8950d2d506b0a4505723011a
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
A clang/test/SemaCXX/ptrauth-nested-incomplete-types.cpp
Log Message:
-----------
[PAC][clang] Correct handling of ptrauth queries of incomplete types (#164528)
In normal circumstances we can never get to this point as earlier Sema
checks will have already have prevented us from making these queries.
However in some cases, for example a sufficiently large number of
errors, clang can start allowing incomplete types in records.
This means a number of the internal interfaces can end up perform type
trait queries that require querying the pointer authentication
properties of types that contain incomplete types. While the trait
queries attempt to guard against incomplete types, those tests fail in
this case as the incomplete types are actually nested in the seemingly
complete parent type.
Commit: d12ab4434cd84667a25cee6e7eddedc0ac7e4371
https://github.com/llvm/llvm-project/commit/d12ab4434cd84667a25cee6e7eddedc0ac7e4371
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/MC/AArch64/SVE2p3/qshrn-diagnostics.s
A llvm/test/MC/AArch64/SVE2p3/qshrn.s
Log Message:
-----------
[AArch64][llvm] Armv9.7-A: Add support for SVE2p3 shift operations (#163163)
Add instructions for SVE2p3 shift operations:
- SQRSHRN
- SQRSHRUN
- SQSHRN
- SQSHRUN
- UQRSHRN
- UQSHRN
as documented here:
* https://developer.arm.com/documentation/ddi0602/2025-09/
* https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
Commit: 475a1c5882305357ec432c93c496fed7c8e1fcdf
https://github.com/llvm/llvm-project/commit/475a1c5882305357ec432c93c496fed7c8e1fcdf
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/MC/AArch64/SME2p3/luti6-diagnostics.s
A llvm/test/MC/AArch64/SME2p3/luti6.s
A llvm/test/MC/AArch64/SVE2p3/luti6-diagnostics.s
A llvm/test/MC/AArch64/SVE2p3/luti6.s
Log Message:
-----------
[AArch64][llvm] Armv9.7-A: Add support for SVE2p3 LUTI6 operations (#163164)
Add instructions for SVE2p3 LUTI6 operations:
- LUTI6 (16-bit)
- LUTI6 (8-bit)
- LUTI6 (vector, 16-bit)
- LUTI6 (table, four registers, 8-bit)
- LUTI6 (table, single, 8-bit)
as documented here:
* https://developer.arm.com/documentation/ddi0602/2025-09/
* https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
Co-authored-by: Virginia Cangelosi <virginia.cangelosi at arm.com>
Commit: 09cf301384ce29312347c608db4871f21af753fc
https://github.com/llvm/llvm-project/commit/09cf301384ce29312347c608db4871f21af753fc
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/FP8/fmmla-diagnostics.s
A llvm/test/MC/AArch64/neon-fdot-diagnostics.s
A llvm/test/MC/AArch64/neon-fdot.s
A llvm/test/MC/AArch64/neon-fmmla-HtoS-diagnostics.s
A llvm/test/MC/AArch64/neon-fmmla-HtoS.s
A llvm/test/MC/AArch64/neon-fmmla-diagnostics.s
A llvm/test/MC/AArch64/neon-fmmla.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][llvm] Armv9.7-A: Add support for new Advanced SIMD (Neon) instructions (#163165)
Add support for new Advanced SIMD (Neon) instructions:
- FDOT (half-precision to single-precision, by element)
- FDOT (half-precision to single-precision, vector)
- FMMLA (half-precision, non-widening)
- FMMLA (widening, half-precision to single-precision)
as documented here:
* https://developer.arm.com/documentation/ddi0602/2025-09/
* https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
Co-authored-by: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Co-authored-by: Caroline Concatto <caroline.concatto at arm.com>
Co-authored-by: Virginia Cangelosi <virginia.cangelosi at arm.com>
Commit: 6dd78f6aefdb76ce7c82ea69813f8e92481737cd
https://github.com/llvm/llvm-project/commit/6dd78f6aefdb76ce7c82ea69813f8e92481737cd
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/test/MC/AArch64/armv8.4a-mpam.s
M llvm/test/MC/Disassembler/AArch64/armv8.4a-mpam.txt
Log Message:
-----------
[AArch64][llvm] Remove FeatureMPAM guards for parity with gcc (#163166)
Remove `AArch64::FeatureMPAM` guards from some MPAM system registers,
since these system registers are not any under feature guard for gcc.
Commit: 7d0ce4840c1f2850de905b06d957a6dcd99c2825
https://github.com/llvm/llvm-project/commit/7d0ce4840c1f2850de905b06d957a6dcd99c2825
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] (NFC) Tidy up alignment/formatting in AArch64/AArch64InstrInfo.td (#163645)
It was noted in a code-review for earlier changes in this stack
that some of the new 9.7 entries were mis-aligned. But actually,
many of the entries were, so I've tidied them all up.
Commit: 0e8781100357b46c9ec6cd2e31a635ad2b2b3211
https://github.com/llvm/llvm-project/commit/0e8781100357b46c9ec6cd2e31a635ad2b2b3211
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/test/Driver/aarch64-v96a.c
M clang/test/Driver/aarch64-v97a.c
M llvm/lib/Target/AArch64/AArch64Features.td
Log Message:
-----------
[AArch64][llvm] Relax mandatory features for Armv9.6-A (#163973)
`FEAT_FPRCVT` is moved from being mandatory in Armv9.6-A to Armv9.7-A
`FEAT_SVE2p2` is removed from being mandatory in Armv9.6-A
Commit: cea8ffa5f3412a58adc5c9c4b0ad0e31869f6e3d
https://github.com/llvm/llvm-project/commit/cea8ffa5f3412a58adc5c9c4b0ad0e31869f6e3d
Author: Thurston Dang <thurston at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
Log Message:
-----------
[asan] Avoid -Wpointer-bool-conversion warning by comparing to nullptr (#164906)
The current code may trigger a compiler warning:
```
address of function 'wcsnlen' will always evaluate to 'true' [-Wpointer-bool-conversion]
```
Fix this by comparing to nullptr. The same fix is applied to strnlen for
future-proofing.
Commit: 169626f11ab19a0b33fba2ca84cf4d9ec2b76fb1
https://github.com/llvm/llvm-project/commit/169626f11ab19a0b33fba2ca84cf4d9ec2b76fb1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
Log Message:
-----------
[RISCV] Rename RISCVISD::ABSW->NEGW_MAX. NFC (#164909)
This matches what it expands to. The P extension adds a proper ABSW
instruction so being precise is important to avoid confusion.
Commit: 6ed814a823258fa357c25bd71e76eb688fbbff79
https://github.com/llvm/llvm-project/commit/6ed814a823258fa357c25bd71e76eb688fbbff79
Author: Andrew Savonichev <andrew.savonichev at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/IR/Module.cpp
M llvm/unittests/IR/ModuleTest.cpp
Log Message:
-----------
[IR] Fix Module::setModuleFlag for uniqued metadata (#164580)
`Module::setModuleFlag` is supposed to change a single module. However,
when an `MDNode` has the same value in more than one module in the same
`LLVMContext`, such `MDNode` is shared (uniqued) across all of them.
Therefore `MDNode::replaceOperandWith` changes all modules that share
the same `MDNode`.
This used to cause problems for #86212, where a module is marked as
"upgraded" via a module flag. When this flag is shared across multiple
modules, all of them are marked, yet some may not have been processed at
all.
After the patch we now construct a new `MDNode` and replace the old one.
Commit: 4a84f10554a78486e69384590582117c09154ce3
https://github.com/llvm/llvm-project/commit/4a84f10554a78486e69384590582117c09154ce3
Author: Carl Peto <carl.peto at me.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/AVR/AVRInstrInfo.td
M llvm/lib/Target/AVR/AVRRegisterInfo.td
M llvm/test/CodeGen/AVR/dynalloca.ll
A llvm/test/CodeGen/AVR/issue-163015.ll
Log Message:
-----------
[AVR] Fix occasional corruption in stack passed params
Corruption can occur with passing parameters on the stack when under register pressure.
Fixes #163015 .
Commit: 6a0f392bb50d890f13cb961a911be28f965ed4f2
https://github.com/llvm/llvm-project/commit/6a0f392bb50d890f13cb961a911be28f965ed4f2
Author: Thurston Dang <thurston at google.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
Log Message:
-----------
[asan] Avoid -Wtautological-pointer-compare (#164918)
https://github.com/llvm/llvm-project/pull/164906 converted a
-Wpointer-bool-conversion warning into a -Wtautological-pointer-compare
warning. Avoid both by using the bool cast.
Commit: bcee0ee68dbdcdd5e07e16303b6a5805814d1dfd
https://github.com/llvm/llvm-project/commit/bcee0ee68dbdcdd5e07e16303b6a5805814d1dfd
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/test/CodeGen/X86/fp-intrinsics-flags.ll
Log Message:
-----------
[SDAG] Fix deferring constrained function calls (#153029)
Selection DAG has a more sophisticated execution order representation
than the simple sequence used in IR, so building the DAG can take into
account specific properties of the nodes to better express possible
parallelism. The existing implementation does this for constrained
function calls, some of them are considered as independent, which can
potentially improve the generated code. However this mechanism
incorrectly implies that the calls with exception behavior 'ebIgnore'
cannot raise floating-point exception. The purpose of this change is to
fix the implementation.
In the current implementation, constrained function calls don't
immediately update the DAG root. Instead, the DAG builder collects their
output chains and flushes them when the root is required. Constrained
function calls cannot be moved across calls of external functions and
intrinsics that access floating-point environment, they work as
barriers. Between the barriers, constrained function calls can be
reordered, they may be considered independent from viewpoint of raising
exceptions. For strictfp functions this is possible only if
floating-point trapping is disabled.
This change introduces a new restriction - the calls with default
exception handling cannot not be moved between strictfp function calls.
Otherwise the exceptions raised by such call can disturb the expected
exception sequence. It means that constrained function calls with strict
exception behavior act as barriers for the calls with non-strict
behavior and vice versa. Effectively it means that the entire sequence
of constrained calls in IR is split into "strict" and "non-strict"
regions, in which restrictions on the order of constrained calls are
relaxed, but move from one region to another is not allowed. It agrees
with the representation of strictfp code in high-level languages. For
example, C/C++ strictfp code correspond to blocks where pragma `STDC
FENV_ACCESS ON` is in effect, this restriction should help preserving
the intended semantics.
When floating-point exception trapping is enabled, constrained
intrinsics with 'ebStrict' cannot be reordered, their sequence must be
identical to the original source order. The current implementation does
not distinguish between strictfp modes with trapping and without it.
This change make assumption that the trapping is disabled. It is not
correct in the general case, but is compatible with the existing
implementation.
Commit: 0341fb63f2abe2ce98434c45fef8826718f9198c
https://github.com/llvm/llvm-project/commit/0341fb63f2abe2ce98434c45fef8826718f9198c
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[ThinLTO] Avoid creating map entries on lookup (NFCI) (#164873)
We could inadvertently create new entries in the PrevailingModuleForGUID
map during lookup, which was always using operator[]. In most cases we
will have one for external symbols, but not in cases where the
prevailing copy is in a native object. Or if this happened to be looked
up for a local.
Make the map private and create and use accessors.
Commit: 750a58337ee8594f5253733786e066f7941d617d
https://github.com/llvm/llvm-project/commit/750a58337ee8594f5253733786e066f7941d617d
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[ThinLTO] Simplify checking for single external copy (NFCI) (#164861)
Replace a loop over all summary copies with a simple check for a single
externally available copy of a symbol. The usage of this result has
changed since it was added and we now only need to know if there is a
single one.
Commit: e4c308424f9fbde2b9429f5f977e92e289e10991
https://github.com/llvm/llvm-project/commit/e4c308424f9fbde2b9429f5f977e92e289e10991
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/unittests/Analysis/MemoryProfileInfoTest.cpp
Log Message:
-----------
[MemProf] Fix the propagation of context/size info after inlining (#164872)
In certain cases the context/size info we use for reporting of hinted
bytes in the LTO link was being dropped when we re-constructed context
tries and memprof metadata after inlining. This only affected cases
where we were using the -memprof-min-percent-max-cold-size option to
only keep that information for the largest cold contexts, and where the
pre-LTO compile did *not* specify -memprof-report-hinted-sizes.
The issue is that we don't have a MaxSize, which is only available
during the profile matching step. Use an existing bool indicating that
we are redoing this from existing metadata to always propagate any
context size metadata in that case.
Commit: 93bb5c699f9fc2e6ee26fc8f86f8bca038f58409
https://github.com/llvm/llvm-project/commit/93bb5c699f9fc2e6ee26fc8f86f8bca038f58409
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/arrays.cpp
Log Message:
-----------
[clang][bytecode] Fix CXXConstructExpr for multidim arrays (#164760)
This is a thing apparently.
Fixes https://github.com/llvm/llvm-project/issues/153803
Commit: 57ccb4624f7a8329567ec5a02962815f5617e3f1
https://github.com/llvm/llvm-project/commit/57ccb4624f7a8329567ec5a02962815f5617e3f1
Author: David Green <david.green at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/test/Analysis/CostModel/ARM/add-cast-vect.ll
M llvm/test/Analysis/CostModel/ARM/cast_ldst.ll
M llvm/test/Analysis/CostModel/ARM/freeshift.ll
M llvm/test/Analysis/CostModel/ARM/gep.ll
M llvm/test/Analysis/CostModel/ARM/immediates.ll
M llvm/test/Analysis/CostModel/ARM/insertelement.ll
M llvm/test/Analysis/CostModel/ARM/load-to-trunc.ll
M llvm/test/Analysis/CostModel/ARM/load_store.ll
M llvm/test/Analysis/CostModel/ARM/logicalop.ll
M llvm/test/Analysis/CostModel/ARM/mul-cast-vect.ll
M llvm/test/Analysis/CostModel/ARM/muls-in-smlal-patterns.ll
M llvm/test/Analysis/CostModel/ARM/muls-in-umull-patterns.ll
M llvm/test/Analysis/CostModel/ARM/select.ll
M llvm/test/Analysis/CostModel/ARM/shl-cast-vect.ll
M llvm/test/Analysis/CostModel/ARM/shuffle.ll
M llvm/test/Analysis/CostModel/ARM/sub-cast-vect.ll
Log Message:
-----------
[ARM] Update remaining cost tests with -cost-kind=all. NFC
Commit: 7c441b21b7fac52a8c28eaa4a4b829c0e5ce6d7b
https://github.com/llvm/llvm-project/commit/7c441b21b7fac52a8c28eaa4a4b829c0e5ce6d7b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/placement-new.cpp
Log Message:
-----------
[clang][bytecode] Catch placement-new into invalid destination (#164804)
We failed to check for null and non-block pointers.
Fixes https://github.com/llvm/llvm-project/issues/152952
Commit: c07d305718744917ba5dc6693322e13a5c2314df
https://github.com/llvm/llvm-project/commit/c07d305718744917ba5dc6693322e13a5c2314df
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-10-23 (Thu, 23 Oct 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Add the support for WTF::ScopeExit and WTF::makeVisitor (#161926)
Lambda passed to WTF::ScopeExit / WTF::makeScopeExit and
WTF::makeVisitor should be ignored by the lambda captures checker so
long as its resulting object doesn't escape the current scope.
Unfortunately, recognizing this pattern generally is too hard to do so
directly hard-code these two function names to the checker.
Commit: 9681705fbc3e16810ed031ca9bdd4b78654a3058
https://github.com/llvm/llvm-project/commit/9681705fbc3e16810ed031ca9bdd4b78654a3058
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/test/CodeGen/X86/2013-03-13-VEX-DestReg.ll
M llvm/test/CodeGen/X86/GlobalISel/x86_64-legalize-sitofp.mir
M llvm/test/CodeGen/X86/GlobalISel/x86_64-select-sitofp.mir
M llvm/test/CodeGen/X86/StackColoring-use-between-allocas.mir
M llvm/test/CodeGen/X86/atom-fixup-lea4.ll
M llvm/test/CodeGen/X86/avoid-sfb-g-no-change.mir
M llvm/test/CodeGen/X86/avoid-sfb-g-no-change2.mir
M llvm/test/CodeGen/X86/avoid-sfb-g-no-change3.mir
M llvm/test/CodeGen/X86/avoid-sfb-overlaps.ll
M llvm/test/CodeGen/X86/avx512-cmp-kor-sequence.ll
M llvm/test/CodeGen/X86/bit-piece-comment.ll
M llvm/test/CodeGen/X86/catchpad-regmask.ll
M llvm/test/CodeGen/X86/catchpad-weight.ll
M llvm/test/CodeGen/X86/clang-section-coff.ll
M llvm/test/CodeGen/X86/cleanuppad-inalloca.ll
M llvm/test/CodeGen/X86/complex-fastmath.ll
M llvm/test/CodeGen/X86/crash-lre-eliminate-dead-def.ll
M llvm/test/CodeGen/X86/dag-optnone.ll
M llvm/test/CodeGen/X86/dbg-changes-codegen-branch-folding.ll
M llvm/test/CodeGen/X86/dbg-changes-codegen.ll
M llvm/test/CodeGen/X86/dbg-combine.ll
M llvm/test/CodeGen/X86/debug-loclists-lto.ll
M llvm/test/CodeGen/X86/debugloc-argsize.ll
M llvm/test/CodeGen/X86/early-cfi-sections.ll
M llvm/test/CodeGen/X86/fadd-combines.ll
M llvm/test/CodeGen/X86/fastmath-float-half-conversion.ll
M llvm/test/CodeGen/X86/fdiv.ll
M llvm/test/CodeGen/X86/fma_patterns_wide.ll
M llvm/test/CodeGen/X86/fold-tied-op.ll
M llvm/test/CodeGen/X86/fp128-g.ll
M llvm/test/CodeGen/X86/fp128-i128.ll
M llvm/test/CodeGen/X86/frame-order.ll
M llvm/test/CodeGen/X86/fsafdo_test2.ll
M llvm/test/CodeGen/X86/i386-shrink-wrapping.ll
M llvm/test/CodeGen/X86/inline-asm-A-constraint.ll
M llvm/test/CodeGen/X86/label-annotation.ll
M llvm/test/CodeGen/X86/label-heapallocsite.ll
M llvm/test/CodeGen/X86/late-remat-update.mir
M llvm/test/CodeGen/X86/lea-opt-memop-check-1.ll
M llvm/test/CodeGen/X86/lifetime-alias.ll
M llvm/test/CodeGen/X86/limit-split-cost.mir
M llvm/test/CodeGen/X86/merge-vector-stores-scale-idx-crash.ll
M llvm/test/CodeGen/X86/misched-copy.ll
M llvm/test/CodeGen/X86/misched-matmul.ll
M llvm/test/CodeGen/X86/movpc32-check.ll
M llvm/test/CodeGen/X86/ms-inline-asm-avx512.ll
M llvm/test/CodeGen/X86/nocf_check.ll
M llvm/test/CodeGen/X86/pr15705.ll
M llvm/test/CodeGen/X86/pr18846.ll
M llvm/test/CodeGen/X86/pr31045.ll
M llvm/test/CodeGen/X86/pr32610.ll
M llvm/test/CodeGen/X86/pr34080-2.ll
M llvm/test/CodeGen/X86/pr34080.ll
M llvm/test/CodeGen/X86/pr34629.ll
M llvm/test/CodeGen/X86/pr34634.ll
M llvm/test/CodeGen/X86/pr42727.ll
M llvm/test/CodeGen/X86/pr48064.mir
M llvm/test/CodeGen/X86/ragreedy-last-chance-recoloring.ll
M llvm/test/CodeGen/X86/recip-fastmath.ll
M llvm/test/CodeGen/X86/recip-fastmath2.ll
M llvm/test/CodeGen/X86/regalloc-advanced-split-cost.ll
M llvm/test/CodeGen/X86/regparm.ll
M llvm/test/CodeGen/X86/seh-catchpad.ll
M llvm/test/CodeGen/X86/seh-except-finally.ll
M llvm/test/CodeGen/X86/seh-no-invokes.ll
M llvm/test/CodeGen/X86/shrinkwrap-hang.ll
M llvm/test/CodeGen/X86/sqrt-fastmath.ll
M llvm/test/CodeGen/X86/sse1.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx1.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16vl.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512vl.ll
M llvm/test/CodeGen/X86/stack-folding-fp-sse42.ll
M llvm/test/CodeGen/X86/stack-protector-3.ll
M llvm/test/CodeGen/X86/stack-protector-vreg-to-vreg-copy.ll
M llvm/test/CodeGen/X86/stack_guard_remat.ll
M llvm/test/CodeGen/X86/tail-merge-wineh.ll
M llvm/test/CodeGen/X86/tls-shrink-wrapping.ll
M llvm/test/CodeGen/X86/unused_stackslots.ll
M llvm/test/CodeGen/X86/uwtables.ll
M llvm/test/CodeGen/X86/vec_int_to_fp.ll
M llvm/test/CodeGen/X86/vector-sqrt.ll
M llvm/test/CodeGen/X86/vector-width-store-merge.ll
M llvm/test/CodeGen/X86/win-cleanuppad.ll
M llvm/test/CodeGen/X86/win32-seh-catchpad.ll
M llvm/test/CodeGen/X86/win32-seh-nested-finally.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppDtors01.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-TryInFinally.ll
M llvm/test/CodeGen/X86/x86-64-double-shifts-Oz-Os-O2.ll
Log Message:
-----------
[test][X86] Remove unsafe-fp-math uses (NFC) (#164814)
Post cleanup for #164534.
Commit: a1e59bdc173187ec47e6ede69c99316eaee9e375
https://github.com/llvm/llvm-project/commit/a1e59bdc173187ec47e6ede69c99316eaee9e375
Author: David Green <david.green at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.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/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-shuffle-vector-disjoint-mask.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-shuffle-vector-undef-rhs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-shuffle-vector.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shuffle-vector.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-shuffle.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/shufflevector-pointer-crash.mir
M llvm/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
A llvm/test/CodeGen/MIR/AArch64/parse-shufflemask-invalid-scalar.mir
M llvm/test/CodeGen/MIR/AArch64/parse-shufflemask.mir
M llvm/test/MachineVerifier/test_g_shuffle_vector.mir
Log Message:
-----------
[GlobalISel] Make scalar G_SHUFFLE_VECTOR illegal. (#140508)
I'm not sure if this is the best way forward or not, but we have a lot
of issues with forgetting that shuffle_vectors can be scalar again and
again. (There is another example from the recent known-bits code added
recently). As a scalar-dst shuffle vector is just an extract, and a
scalar-source shuffle vector is just a build vector, this patch makes
scalar shuffle vector illegal and adjusts the irbuilder to create the
correct node as required.
Most targets do this already through lowering or combines. Making scalar
shuffles illegal simplifies gisel as a whole, it just requires that
transforms that create shuffles of new sizes to account for the scalar
shuffle being illegal (mostly IRBuilder and LessElements).
Commit: 8ebec3d55123bf1c961df829f5529705004dacc2
https://github.com/llvm/llvm-project/commit/8ebec3d55123bf1c961df829f5529705004dacc2
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/constant-vector-insert.ll
Log Message:
-----------
[InstCombine] Constant fold binops through `vector.insert` (#164624)
This patch improves constant folding through `llvm.vector.insert`. It
does not change anything for fixed-length vectors (which can already be
folded to ConstantVectors for these cases), but folds scalable vectors
that otherwise would not be folded.
These folds preserve the destination vector (which could be undef or
poison), giving targets more freedom in lowering the operations.
Commit: 44331d25949302c3898b71fa5aceaea3d49248b5
https://github.com/llvm/llvm-project/commit/44331d25949302c3898b71fa5aceaea3d49248b5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__cxx03/__thread/support/pthread.h
M libcxx/include/__cxx03/cctype
M libcxx/include/__cxx03/cerrno
M libcxx/include/__cxx03/cfenv
M libcxx/include/__cxx03/cfloat
M libcxx/include/__cxx03/cinttypes
R libcxx/include/__cxx03/complex.h
M libcxx/include/__cxx03/cstddef
M libcxx/include/__cxx03/cstdio
R libcxx/include/__cxx03/ctype.h
M libcxx/include/__cxx03/cwctype
R libcxx/include/__cxx03/errno.h
M libcxx/include/__cxx03/ext/__hash
R libcxx/include/__cxx03/fenv.h
R libcxx/include/__cxx03/float.h
R libcxx/include/__cxx03/inttypes.h
R libcxx/include/__cxx03/stdbool.h
R libcxx/include/__cxx03/stddef.h
R libcxx/include/__cxx03/stdio.h
R libcxx/include/__cxx03/tgmath.h
M libcxx/include/__cxx03/wchar.h
R libcxx/include/__cxx03/wctype.h
M libcxx/include/complex.h
M libcxx/include/ctype.h
M libcxx/include/errno.h
M libcxx/include/fenv.h
M libcxx/include/float.h
M libcxx/include/inttypes.h
M libcxx/include/stdbool.h
M libcxx/include/stddef.h
M libcxx/include/stdio.h
M libcxx/include/tgmath.h
M libcxx/include/wctype.h
Log Message:
-----------
[libc++][C++03] Remove some of the C++03-specific C wrapper headers (#163772)
`include_next` doesn't work very well with the C++03 headers and
modules. Since these specific headers are very self-contained there
isn't much of a reason to split them into C++03/non-C++03 headers, so
let's just remove them. The few C wrapper headers that aren't as
self-contained will be refactored in a separate patch.
Commit: 6b30d2104084eda539278097b6b16215a7c908d7
https://github.com/llvm/llvm-project/commit/6b30d2104084eda539278097b6b16215a7c908d7
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 44331d259493
Commit: ea2de9aaa64ac5e20a9c7898864760c1086e0f8c
https://github.com/llvm/llvm-project/commit/ea2de9aaa64ac5e20a9c7898864760c1086e0f8c
Author: Brandon <61314499+brandonxin at users.noreply.github.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-adc.ll
M llvm/test/CodeGen/X86/combine-sbb.ll
M llvm/test/CodeGen/X86/dag-update-nodetomatch.ll
Log Message:
-----------
[X86] Fold generic ADD/SUB with constants to X86ISD::SUB/ADD (#164316)
Fix #163125
This PR enhances `combineX86AddSub` so that it can handle `X86ISD::SUB(X,Constant)` with `add(X,-Constant)` and other similar cases:
- `X86ISD::ADD(LHS, C)` will fold `sub(-C, LHS)`
- `X86ISD::SUB(LHS, C)` will fold `add(LHS, -C)`
- `X86ISD::SUB(C, RHS)` will fold `add(RHS, -C)`
`CodeGen/X86/dag-update-nodetomatch.ll` is updated because following IR is folded:
```llvm
for.body2:
; ......
; This generates `add t6, Constant:i64<1>`
%indvars.iv.next = add nsw i64 %indvars.iv, 1;
; This generates `X86ISD::SUB t6, Constant:i64<-1>` and folds the previous `add`
%cmp = icmp slt i64 %indvars.iv, -1;
br i1 %cmp, label %for.body2, label %for.cond1.for.inc3_crit_edge.loopexit
```
```diff
- ; CHECK-NEXT: movq (%r15), %rax
- ; CHECK-NEXT: movq %rax, (%r12,%r13,8)
- ; CHECK-NEXT: leaq 1(%r13), %rdx
- ; CHECK-NEXT: cmpq $-1, %r13
- ; CHECK-NEXT: movq %rdx, %r13
+ ; CHECK-NEXT: movq (%r12), %rax
+ ; CHECK-NEXT: movq %rax, (%r13,%r9,8)
+ ; CHECK-NEXT: incq %r9
```
Commit: 27453ce5215969a5e56b4dd5503361ffca3d8835
https://github.com/llvm/llvm-project/commit/27453ce5215969a5e56b4dd5503361ffca3d8835
Author: Ye Tian <939808194 at qq.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
Log Message:
-----------
[Headers][X86] Allow SLLDQ/SRLDQ byte shift intrinsics to be used in constexpr (#164166)
Support constexpr usage for SLLDQ/SRLDQ byte shift intrinsics
This draft PR adds support for using the following SRLDQ intrinsics in
constant expressions:
- _mm_srli_si128
- _mm256_srli_si256
- _mm_slli_si128
- _mm256_slli_si256
Relevant tests are included.
Fixes #156494
Commit: fc7f34078cdaaecac0100a30cdbcdbcced76fef7
https://github.com/llvm/llvm-project/commit/fc7f34078cdaaecac0100a30cdbcdbcced76fef7
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M mlir/test/Dialect/Vector/vector-mem-transforms.mlir
Log Message:
-----------
[mlir][vector][nfc] Update tests for folding mem operations (#164255)
Tests in "fold_maskedload_to_load_all_true_dynamic" excercise folders
for:
* vector.maskedload, vector.maskedstore, vector.scatter,
vector.gather, vector.compressstore, vector.expandload.
This patch renames and documents these tests in accordance with:
* https://mlir.llvm.org/getting_started/TestingGuide/
Note: the updated tests are referenced in the Test Formatting Best
Practices section of the MLIR testing guide:
* https://mlir.llvm.org/getting_started/TestingGuide/#test-formatting-best-practices
Keeping them aligned with the guidelines ensures consistency and clarity
across MLIR’s test suite.
Commit: d522b1b3000f99337fd97059fae441476b000960
https://github.com/llvm/llvm-project/commit/d522b1b3000f99337fd97059fae441476b000960
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M libcxx/include/__config
M libcxx/test/std/depr/depr.c.headers/uchar_h.compile.pass.cpp
A libcxx/test/std/depr/depr.c.headers/uchar_h_char8_t.compile.pass.cpp
M libcxx/test/std/strings/c.strings/cuchar.compile.pass.cpp
A libcxx/test/std/strings/c.strings/cuchar_char8_t.compile.pass.cpp
R libcxx/test/std/strings/c.strings/no_c8rtomb_mbrtoc8.verify.cpp
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libcxx] Define `_LIBCPP_HAS_C8RTOMB_MBRTOC8` to true if compiling with clang (#152724)
Define `_LIBCPP_HAS_C8RTOMB_MBRTOC8` to `1` if compiling with clang.
Some tests involving functionality from `uchar.h`/`cuchar` fail when the
platform or the supporting C library does not provide support for the
corresponding features. These have been xfailed.
This patch will enable the adoption of newer picolibc versions.
Commit: a1a37fedfecccd72fe2c3c8b03327819b9923c55
https://github.com/llvm/llvm-project/commit/a1a37fedfecccd72fe2c3c8b03327819b9923c55
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/test/CIR/CodeGen/global-init.cpp
Log Message:
-----------
[CIR] Support ExplicitCast for ConstantExpr (#164783)
Support the ExplicitCast for ConstantExpr
Commit: 86a2073b5bf5f0b44573b8f7e600040a8cdc8bc2
https://github.com/llvm/llvm-project/commit/86a2073b5bf5f0b44573b8f7e600040a8cdc8bc2
Author: fabrizio-indirli <fabrizio.indirli at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
A mlir/test/Dialect/SCF/parallel-loop-unroll.mlir
M mlir/test/lib/Dialect/SCF/CMakeLists.txt
A mlir/test/lib/Dialect/SCF/TestParallelLoopUnrolling.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][scf] Add parallelLoopUnrollByFactors() (#163806)
- In the SCF Utils, add the `parallelLoopUnrollByFactors()` function
to unroll scf::ParallelOp loops according to the specified unroll factors
- Add a test pass "TestParallelLoopUnrolling" and the related LIT test
- Expose `mlir::parallelLoopUnrollByFactors()`, `mlir::generateUnrolledLoop()`,
and `mlir::scf::computeUbMinusLb()` functions in the
mlir/Dialect/SCF/Utils/Utils.h header to make them available
to other passes.
- In `mlir::generateUnrolledLoop()`, add also an optional
`IRMapping *clonedToSrcOpsMap` argument to map the new cloned
operations to their original ones.
In the function body, change the default `AnnotateFn` type to
`static const` to silence potential warnings about dangling references
when a function_ref is assigned to a variable with automatic storage.
Signed-off-by: Fabrizio Indirli <Fabrizio.Indirli at arm.com>
Commit: ed87795aa6a0ea7bc49cd9257ff363e220f35872
https://github.com/llvm/llvm-project/commit/ed87795aa6a0ea7bc49cd9257ff363e220f35872
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
Log Message:
-----------
[llvm][docs] Correct description of %t lit substitution (#164397)
%t is currently documented as:
temporary file name unique to the test
https://llvm.org/docs/CommandGuide/lit.html#substitutions
Which I take to mean if the path is a/b/c/tempfile, then %t would be
tempfile. It is not, it's the whole path.
(which is hinted at by %basename_t, but why would you read that if you
didn't need to use it)
As seen in #164396 this can create confusion when people use it as if it
were just the file name.
Make it clear in the docs that this is a unique path, which can be used
to make files or folders.
Commit: 5f8b3c11ad7641e145d5bc79c21f7c0d9d589a59
https://github.com/llvm/llvm-project/commit/5f8b3c11ad7641e145d5bc79c21f7c0d9d589a59
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
Log Message:
-----------
[AArch64][CostModel] Reduce cost of wider than legal get.active.lane.mask (#163786)
getIntrinsicInstrCost should halve the cost returned by getTypeLegalizationCost
when the return type requires splitting, but we know that the whilelo
(predicate pair) instruction can be used.
When splitting is still required, the cost get_active_lane_mask should also
reflect the additional saturating add required to increment the start value.
Commit: 4f53413ff0a5e33cf6e39f538d4103fe0e310bf4
https://github.com/llvm/llvm-project/commit/4f53413ff0a5e33cf6e39f538d4103fe0e310bf4
Author: SahilPatidar <sahilpatidar60 at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
A llvm/include/llvm/ExecutionEngine/Orc/Shared/SymbolFilter.h
A llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryResolver.h
A llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryScanner.h
M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/TargetProcess/LibraryResolver.cpp
A llvm/lib/ExecutionEngine/Orc/TargetProcess/LibraryScanner.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/Inputs/A/A_linux.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/A/A_macho.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/B/B_linux.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/B/B_macho.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/C/C_linux.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/C/C_macho.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/D/D_linux.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/D/D_macho.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/Z/Z_linux.yaml
A llvm/unittests/ExecutionEngine/Orc/Inputs/Z/Z_macho.yaml
A llvm/unittests/ExecutionEngine/Orc/LibraryResolverTest.cpp
Log Message:
-----------
REAPPLY [ORC] Add automatic shared library resolver for unresolved symbols. #148410 (#164551)
This PR reapplies the changes previously introduced in #148410.
It introduces a redesigned and rebuilt Cling-based auto-loading
workaround that enables scanning libraries and resolving unresolved
symbols within those libraries.
Commit: 92e1be489a9a7a25857060872d6910573dfd41d5
https://github.com/llvm/llvm-project/commit/92e1be489a9a7a25857060872d6910573dfd41d5
Author: fabrizio-indirli <fabrizio.indirli at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
R mlir/test/Dialect/SCF/parallel-loop-unroll.mlir
M mlir/test/lib/Dialect/SCF/CMakeLists.txt
R mlir/test/lib/Dialect/SCF/TestParallelLoopUnrolling.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
Revert "[mlir][scf] Add parallelLoopUnrollByFactors()" (#164949)
Reverts llvm/llvm-project#163806 due to linking errors on the function
`mlir::scf::computeUbMinusLb`
Commit: fb925b5244012f42bfbd2f4566a6f01789d7412d
https://github.com/llvm/llvm-project/commit/fb925b5244012f42bfbd2f4566a6f01789d7412d
Author: Emilio Cota <ecg at google.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M mlir/lib/Dialect/OpenMP/Transforms/OpenMPOffloadPrivatizationPrepare.cpp
Log Message:
-----------
[flang][mlir] fix irreflexibility violation of strict weak ordering in #155348 (#164833)
This fixes strict weak ordering checks violations from #155348 when
running these two tests:
mlir/test/Dialect/OpenMP/omp-offload-privatization-prepare.mlir
mlir/test/Dialect/OpenMP/omp-offload-privatization-prepare-by-value.mlir
Sample error:
/stable/src/libcxx/include/__debug_utils/strict_weak_ordering_check.h:50: libc++ Hardening assertion !__comp(*__first + __a), *(__first + __b)) failed: Your comparator is not a valid strict-weak ordering
This is because (x < x) should be false, not true, to meet the
irreflexibility property. (Note that .dominates(x, x) returns true.)
I'm afraid that even after this commit we can't guarantee a strict weak
ordering, because we can't guarantee transitivity of equivalence by
sorting with a strict dominance function. However the tests are not
failing anymore, and I am not at all familiar with this code so I will
leave this concern up to the original author for consideration. (Ideas
without any further context: I would consider a topological sort or
walking a dominator tree.)
Reference on std::sort and strict weak ordering:
https://danlark.org/2022/04/20/changing-stdsort-at-googles-scale-and-beyond/
Commit: 5dfbe84da278126ac8017618af885ffc8581a728
https://github.com/llvm/llvm-project/commit/5dfbe84da278126ac8017618af885ffc8581a728
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/TargetProcess/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 4f53413ff0a5
Commit: f362a4e7a0e587629fbb6f98469a2c6806c8f644
https://github.com/llvm/llvm-project/commit/f362a4e7a0e587629fbb6f98469a2c6806c8f644
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sme-intrinsics-rdsvl.ll
Log Message:
-----------
[AArch64] Optimized rdsvl followed by constant mul (#162853)
Currently when RDSVL is followed by constant multiplication, no specific
optimization exist which would leverage the immediate multiplication
operand to generate simpler assembly. This patch adds such optimization
and allow rewrites like these if certain conditions are met:
`(mul (srl (rdsvl 1), 3), x) -> (shl (rdsvl y), z) `
Commit: 2c6c2689c5d631f08fe52844a4b192521fd710d5
https://github.com/llvm/llvm-project/commit/2c6c2689c5d631f08fe52844a4b192521fd710d5
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/include/llvm/Analysis/InstSimplifyFolder.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/constantfolder.ll
Log Message:
-----------
[VPlan] Extend tryToFoldLiveIns to fold binary intrinsics (#161703)
InstSimplifyFolder can fold binary intrinsics, so take the opportunity
to unify code with getOpcodeOrIntrinsicID, and handle the case. The
additional handling of WidenGEP is non-functional, as the GEP is
simplified before it is widened, as the included test shows.
Commit: 332f786a3597442f49a3f7531f3188c8cc14e8fb
https://github.com/llvm/llvm-project/commit/332f786a3597442f49a3f7531f3188c8cc14e8fb
Author: David Green <david.green at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/ldst-prepost-uses.ll
Log Message:
-----------
[DAG][AArch64] Ensure that ResNo is correct for uses of Ptr when considering postinc. (#164810)
We might be looking at a different use, for example in the uses of a
i32,i64,ch preindex load.
Fixes #164775
Commit: 86fd3af1637d64bfe329379ac4af330cfb27e449
https://github.com/llvm/llvm-project/commit/86fd3af1637d64bfe329379ac4af330cfb27e449
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/lib/Dialect/Tosa/IR/TargetEnv.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
Log Message:
-----------
[mlir][tosa] Add ext-int64 support (#164389)
This commit adds support for the EXT-INT64 extension added
to the specification here:
https://github.com/arm/tosa-specification/commit/1b690f8e120de2cc9b28a23b9f607225aedafdce
Commit: f8b81b45ba654d6768b98db5041046ba9231df1d
https://github.com/llvm/llvm-project/commit/f8b81b45ba654d6768b98db5041046ba9231df1d
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/AArch64/reduce_muladd.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/reduce_submuladd.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_add_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_fill_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
M llvm/test/Transforms/PhaseOrdering/X86/fmaddsub.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv-nounroll.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll
M llvm/test/Transforms/SLPVectorizer/NVPTX/vectorizable-intrinsic.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_bullet3.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_flop7.ll
M llvm/test/Transforms/SLPVectorizer/X86/debug_info.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr16899.ll
M llvm/test/Transforms/SLPVectorizer/X86/vector_gep.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-pair-path.ll
M llvm/test/Transforms/SLPVectorizer/consecutive-access.ll
M llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/insert-element-build-vector.ll
M llvm/test/Transforms/SROA/mem-par-metadata-sroa.ll
M llvm/test/Transforms/SafeStack/ARM/debug.ll
M llvm/test/Transforms/SafeStack/X86/debug-loc.ll
M llvm/test/Transforms/SafeStack/X86/debug-loc2.ll
M llvm/test/Transforms/SampleProfile/Inputs/profile-symbol-list.ll
M llvm/test/Transforms/SampleProfile/branch.ll
M llvm/test/Transforms/SampleProfile/csspgo-import-list.ll
M llvm/test/Transforms/SampleProfile/csspgo-inline-debug.ll
M llvm/test/Transforms/SampleProfile/csspgo-inline.ll
M llvm/test/Transforms/SampleProfile/csspgo-summary.ll
M llvm/test/Transforms/SampleProfile/csspgo-use-preinliner.ll
M llvm/test/Transforms/SampleProfile/entry_counts_cold.ll
M llvm/test/Transforms/SampleProfile/entry_counts_missing_dbginfo.ll
M llvm/test/Transforms/SampleProfile/fsafdo_test.ll
M llvm/test/Transforms/SampleProfile/gcc-simple.ll
M llvm/test/Transforms/SampleProfile/inline-act.ll
M llvm/test/Transforms/SampleProfile/misexpect.ll
M llvm/test/Transforms/SampleProfile/norepeated-icp-2.ll
M llvm/test/Transforms/SampleProfile/norepeated-icp-3.ll
M llvm/test/Transforms/SampleProfile/norepeated-icp-4.ll
M llvm/test/Transforms/SampleProfile/norepeated-icp.ll
M llvm/test/Transforms/SampleProfile/offset.ll
M llvm/test/Transforms/SampleProfile/profile-context-order.ll
M llvm/test/Transforms/SampleProfile/profile-context-tracker-debug.ll
M llvm/test/Transforms/SampleProfile/profile-context-tracker.ll
M llvm/test/Transforms/SampleProfile/profile-topdown-order.ll
M llvm/test/Transforms/SampleProfile/propagate.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-discriminator.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-icp-factor.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-no-debug-info.ll
M llvm/test/Transforms/SampleProfile/remarks.ll
M llvm/test/Transforms/SampleProfile/uniqname.ll
M llvm/test/Transforms/Scalarizer/dbginfo.ll
M llvm/test/Transforms/SimplifyCFG/Hexagon/switch-to-lookup-table.ll
M llvm/test/Transforms/SimplifyCFG/X86/merge-cleanuppads.ll
M llvm/test/Transforms/SimplifyCFG/pr50060-constantfold-loopid.ll
M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/pr23975.ll
M llvm/test/Transforms/StructurizeCFG/nested-loop-order.ll
Log Message:
-----------
[test][Transforms] Remove unsafe-fp-math uses part 3 (NFC) (#164787)
Post cleanup for #164534.
Commit: 89b18f0304c8a4f7e069fdba92a13d1b939a218f
https://github.com/llvm/llvm-project/commit/89b18f0304c8a4f7e069fdba92a13d1b939a218f
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-fp-use-def.mir
A llvm/test/CodeGen/AArch64/arm64-cvt-simd-fptoi.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
Log Message:
-----------
[AArch64][GlobalISel] SIMD fpcvt codegen for fptoi(_sat) (#160831)
This is followup patch to #157680, which allows simd fpcvt instructions
to be generated from fptoi(_sat) nodes.
Commit: 9ef60ff7ff187f5d80e745d3047d0f0b1e684cac
https://github.com/llvm/llvm-project/commit/9ef60ff7ff187f5d80e745d3047d0f0b1e684cac
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
[llvm][utils] Improve the StringRef summary provider (#162298)
- check the length of data before casting as `char[N]` because the will
cause lldb to allocate `N` bytes of memory.
---------
Co-authored-by: Dave Lee <davelee.com at gmail.com>
Commit: 2db482d4ea97d4b2a690775655534c2b48695319
https://github.com/llvm/llvm-project/commit/2db482d4ea97d4b2a690775655534c2b48695319
Author: NagaChaitanya Vellanki <pnagato at protonmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
Log Message:
-----------
[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - Allow shufps/pd shuffles intrinsics to be used in constexpr (#164078)
Resolves #161208
Commit: 357b030f5e62a5891fd6120c02aa28d0874f0a06
https://github.com/llvm/llvm-project/commit/357b030f5e62a5891fd6120c02aa28d0874f0a06
Author: Owen Anderson <resistor at mac.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
A lld/test/riscv-vendor-relocations.s
Log Message:
-----------
[lld] Add infrastructure for handling RISCV vendor-specific relocations. (#159987)
Commit: a2f3811a3d252994c18957fb777c66bba129ccf8
https://github.com/llvm/llvm-project/commit/a2f3811a3d252994c18957fb777c66bba129ccf8
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add dependency for 4f53413ff0a5e33cf6e39f538d4103fe0e310bf4
Commit: d34ead1ce493c0c1630468a1604764450ef41c77
https://github.com/llvm/llvm-project/commit/d34ead1ce493c0c1630468a1604764450ef41c77
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/OSTargets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/Linux.h
M clang/test/Driver/aarch64-ptrauth.c
Log Message:
-----------
[PAC][clang] Handle pauthtest environment and ABI in Linux-specific code (#113151)
Since pauthtest is a Linux-specific ABI, it should not be handled in
common driver code.
Commit: 9e7a3ee5ff85a6c6838b20734822d658744e9bf3
https://github.com/llvm/llvm-project/commit/9e7a3ee5ff85a6c6838b20734822d658744e9bf3
Author: Owen Anderson <resistor at mac.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
A lld/test/ELF/riscv-vendor-relocations.s
R lld/test/riscv-vendor-relocations.s
Log Message:
-----------
[lld] Fix RISCV vendor relocation testcase to require RISCV
Fixes test issue introduced in 357b030f5e62a5891fd6120c02aa28d0874f0a06
Commit: c087b8048380e46834c73313bb5d5c4920f7d5a3
https://github.com/llvm/llvm-project/commit/c087b8048380e46834c73313bb5d5c4920f7d5a3
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/test/MC/Disassembler/Xtensa/debug.txt
M llvm/test/MC/Xtensa/debug.s
Log Message:
-----------
[Xtensa] Fix encoding of `break.n` (#155159)
According to the manual, bits 3...0 should be 1101. (1100 is `movi.n`.)
Commit: 7d4430bb7fd488344fba9ecf88f5cd34accaf3be
https://github.com/llvm/llvm-project/commit/7d4430bb7fd488344fba9ecf88f5cd34accaf3be
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
Log Message:
-----------
[mlir][tosa] Add ext-mxfp support for const and cast ops (#163641)
This commit allows const and cast ops with MXFP datatypes through the
validation pass when specification version 1.1.draft is selected.
Note: it doesn't include support for the mxint8 datatype. This will be
added in a separate commit.
Note: this commit adds support as defined in the spec in
https://github.com/arm/tosa-specification/commit/063846a75b9687ab01e58cb3538472bffb3a03b0.
EXT_MXFP extension is considered experimental and subject to breaking
change.
Commit: f5a2e6bb8ff98cdccd0531e22fa3a7875d718fde
https://github.com/llvm/llvm-project/commit/f5a2e6bb8ff98cdccd0531e22fa3a7875d718fde
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
Log Message:
-----------
CodeGen: Remove overrides of getSSPStackGuardCheck (NFC) (#164044)
All 3 implementations are just checking if this has the
windows check function, so merge that as the only implementation.
Commit: 6c5770ddaa2769fbc9261d59b50e705a1f463a81
https://github.com/llvm/llvm-project/commit/6c5770ddaa2769fbc9261d59b50e705a1f463a81
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
RuntimeLibcalls: Avoid reporting __stack_chk_guard as available for msvc (#164133)
The predicate system is currently primitive and alternative call
predicates
should be mutually exclusive.
Commit: 26db21400d5bfe87e2b3d386c8589b56b965b158
https://github.com/llvm/llvm-project/commit/26db21400d5bfe87e2b3d386c8589b56b965b158
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
Log Message:
-----------
Fix link error with shared libraries
/usr/bin/ld: unittests/ExecutionEngine/Orc/CMakeFiles/OrcJITTests.dir/L
ibraryResolverTest.cpp.o: undefined reference to symbol '_ZN4llvm4yaml1
1convertYAMLERNS0_5InputERNS_11raw_ostreamENS_12function_refIFvRKNS_5Tw
ineEEEEjm'
/usr/bin/ld: lib/libLLVMObjectYAML.so.22.0git: error adding symbols: DS
O missing from command line
Commit: fe5f49942eb7b27989b04736bc91e14730dc478d
https://github.com/llvm/llvm-project/commit/fe5f49942eb7b27989b04736bc91e14730dc478d
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaximum.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminimum.mir
M llvm/test/CodeGen/AMDGPU/fmaximum.ll
M llvm/test/CodeGen/AMDGPU/fminimum.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Lower G_FMINIMUM and G_FMAXIMUM (#151122)
Add GlobalISel lowering of G_FMINIMUM and G_FMAXIMUM following the same
logic as in SDag's expandFMINIMUM_FMAXIMUM.
Update AMDGPU legalization rules: Pre GFX12 now uses new lowering method
and make G_FMINNUM_IEEE and G_FMAXNUM_IEEE legal to match SDag.
Commit: 76b6399ca2bacd13e8bd0e26c95513c6036a8438
https://github.com/llvm/llvm-project/commit/76b6399ca2bacd13e8bd0e26c95513c6036a8438
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
Log Message:
-----------
DAG: Remove unused TargetLowering field (#164969)
This has been dead since 97bfb936af4077e8cb6c75664231f27a9989d563
Commit: c0b27cf9e5578aba68ac3fca7ad857ccef337f32
https://github.com/llvm/llvm-project/commit/c0b27cf9e5578aba68ac3fca7ad857ccef337f32
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
Revert "[bazel][lldb] Port #162730: tablegen for lldb-server platform ops" (#164981)
Reverts llvm/llvm-project#164832. The corresponding
[#162730](https://github.com/llvm/llvm-project/pull/162730) was reverted
in
https://github.com/llvm/llvm-project/commit/aac036a7f6730118f0d832150243d66b603c3af3.
Commit: f6d8f55a41094bdce401521c0ce31d1ffde7b87a
https://github.com/llvm/llvm-project/commit/f6d8f55a41094bdce401521c0ce31d1ffde7b87a
Author: Nathan Gauër <brioche at google.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/lib/Parse/ParseHLSL.cpp
Log Message:
-----------
[NFC][clang] cleanup dead code (#164977)
Dead code probably left-over of some PR refactoring.
Commit: 426d1fe548b6d10994862e309c169831fbba4c35
https://github.com/llvm/llvm-project/commit/426d1fe548b6d10994862e309c169831fbba4c35
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M offload/include/OffloadPolicy.h
M offload/include/OpenMP/InternalTypes.h
M offload/include/OpenMP/omp.h
M offload/libomptarget/OpenMP/API.cpp
M offload/libomptarget/OpenMP/InteropAPI.cpp
Log Message:
-----------
[OFFLOAD] Remove weak from __kmpc_* calls and gather them in one header (#164613)
Follow-up from #162652
---------
Co-authored-by: Michael Klemm <michael.klemm at amd.com>
Commit: ab9bdb7ecdac8900217917b80a74b551efd56e84
https://github.com/llvm/llvm-project/commit/ab9bdb7ecdac8900217917b80a74b551efd56e84
Author: David Green <david.green at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
Log Message:
-----------
[AArch64] Add an extra long-multiple test case. NFC
Commit: 26450db480761c0fedf319fc350178798ce7e547
https://github.com/llvm/llvm-project/commit/26450db480761c0fedf319fc350178798ce7e547
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
Log Message:
-----------
AArch64: Use RuntimeLibcallsInfo in SMEAttributes (NFC) (#164968)
Eventually this should be program state, and not part of TargetLowering
so avoid direct references to the libcall functions in it.
The usage of RuntimeLibcallsInfo here is not good though, particularly
the use through TargetTransformInfo. It would be better if the IR
attributes were directly encoded in the libcall definition (or at least made
consistent elsewhere). The parsing of the attributes should not also be
responsible for doing the libcall recognition, which is the only part pulling in
the dependency.
Commit: 83e852e4cf201048186e7cc2883d33ef696f45b4
https://github.com/llvm/llvm-project/commit/83e852e4cf201048186e7cc2883d33ef696f45b4
Author: Fateme Hosseini <quic_fhossein at quicinc.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsHexagon.td
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonPatternsV65.td
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
A llvm/test/CodeGen/Hexagon/autohvx/ripple_scalarize_scatter.ll
A llvm/test/CodeGen/Hexagon/autohvx/ripple_vgather.ll
A llvm/test/CodeGen/Hexagon/autohvx/ripple_vgather_SpVV.ll
A llvm/test/CodeGen/Hexagon/autohvx/ripple_vscatter.ll
A llvm/test/CodeGen/Hexagon/masked_gather.ll
A llvm/test/CodeGen/Hexagon/vector-gather.ll
Log Message:
-----------
Add HVX vgather/vscatter Support (#164421)
This patch adds HVX vgather/vscatter genertion for i16, i32, and i8. It
also adds a flag to control generation of scatter/gather instructions
for HVX. Default to "disable".
Co-authored-by: Sergei Larin <slarin at codeaurora.org>
Co-authored-by: Sergei Larin <slarin at quicinc.com>
Co-authored-by: Maxime Schmitt <maxime.schmitt at qti.qualcomm.com>
Commit: 11a293aadb24376cdb627ead888bdddc5867b7aa
https://github.com/llvm/llvm-project/commit/11a293aadb24376cdb627ead888bdddc5867b7aa
Author: Timur Baydyusenov <t.baydyusenov at syntacore.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
A llvm/test/Assembler/metadata-annotations.ll
Log Message:
-----------
[llvm][llvm-dis] Fix 'llvm-dis' with '--materialize-metadata --show-annotations' crashes (#164819)
Commit: 3af73460bcf996862fb5626cb95b89194e77d9bd
https://github.com/llvm/llvm-project/commit/3af73460bcf996862fb5626cb95b89194e77d9bd
Author: Guy David <guyda96 at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
A llvm/test/CodeGen/AArch64/dup-ext-load-combine.ll
M llvm/test/CodeGen/AArch64/dup.ll
M llvm/test/CodeGen/AArch64/load-zext-bitcast.ll
Log Message:
-----------
[AArch64] Optimize splat of extending loads to avoid GPR->FPR transfer (#163067)
Loads the data into the SIMD register, thus sparing a physical register
and a potentially costly movement of data.
Commit: 986e0feb1d688409236832d9dac65fc900c2bf51
https://github.com/llvm/llvm-project/commit/986e0feb1d688409236832d9dac65fc900c2bf51
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add support for cast_from/to_block_scaled (#163436)
This commit adds support for the cast_from/to_block_scaled operations
from the ext-mxfp extension. This includes:
- Operation definition in TosaOps.td
- Micro-scaling supported types definition
- Shape inference and verifiers
- Validation pass checks to ensure usage is only valid when the target
environment includes ext-mxfp and at least v1.1.draft of the
specification.
Note: currently it excludes support for mxint8. This will be added in a
later commit.
Note: this commit adds support as defined in the spec in
https://github.com/arm/tosa-specification/commit/063846a75b9687ab01e58cb3538472bffb3a03b0.
EXT_MXFP extension is considered experimental and subject to breaking
change.
Co-authored-by: Tat Wai Chong <tatwai.chong at arm.com>
Commit: c18c3ccd0b48c4055dfdcdc2ff7514ca8ab3dfae
https://github.com/llvm/llvm-project/commit/c18c3ccd0b48c4055dfdcdc2ff7514ca8ab3dfae
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
Log Message:
-----------
Fix unused variable warning in release build
Commit: 202bcc4fa1c7d65b29978f063f5aa82010f1d99d
https://github.com/llvm/llvm-project/commit/202bcc4fa1c7d65b29978f063f5aa82010f1d99d
Author: Simon Wallis <simon.wallis2 at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-sve-instructions.s
Log Message:
-----------
[AArch64] Fix Neoverse-V2 scheduling information for STNT1 (#164780)
Fix 3 cases in the scheduler tables to match the current SWOG,
in section 3.29 SVE Store: change pipeline V to V01.
Commit: 9824930744d50667aad3539d7936571a6d148a11
https://github.com/llvm/llvm-project/commit/9824930744d50667aad3539d7936571a6d148a11
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M llvm/include/llvm/Support/Timer.h
M llvm/lib/Support/Timer.cpp
Log Message:
-----------
[NFC] Add PrintOnExit parameter to a llvm::TimerGroup (#164407)
Clean up AnalysisConsumer code from the timer-related branches that are
not used most of the time, and move this logic to Timer.cpp, which is a
more relevant place and allows for a cleaner implementation.
Commit: bdec5bf69c74a51ae9de53cc951a42d491d85987
https://github.com/llvm/llvm-project/commit/bdec5bf69c74a51ae9de53cc951a42d491d85987
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-or-s64-s32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/or.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sext_inreg.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Combine (or s64, zext(s32)) (#151519)
If we only deal with a one part of 64bit value we can just generate
merge and unmerge which will be either combined away or
selected into copy / mov_b32.
Commit: a1ae9001ebb04a43f15a063663be22b92c3d0eb6
https://github.com/llvm/llvm-project/commit/a1ae9001ebb04a43f15a063663be22b92c3d0eb6
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/test/CodeGen/BPF/BTF/binary-format.ll
M llvm/test/CodeGen/BPF/BTF/builtin-btf-type-id.ll
M llvm/test/CodeGen/BPF/BTF/char-no-debuginfo.ll
M llvm/test/CodeGen/BPF/BTF/extern-builtin.ll
M llvm/test/CodeGen/BPF/BTF/extern-func-arg.ll
M llvm/test/CodeGen/BPF/BTF/extern-global-var.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-func-weak-section.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-func-weak.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-func.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-section.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-struct-weak.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-struct.ll
M llvm/test/CodeGen/BPF/BTF/extern-var-weak-section.ll
M llvm/test/CodeGen/BPF/BTF/filename.ll
M llvm/test/CodeGen/BPF/BTF/func-func-ptr.ll
M llvm/test/CodeGen/BPF/BTF/func-non-void.ll
M llvm/test/CodeGen/BPF/BTF/func-source.ll
M llvm/test/CodeGen/BPF/BTF/func-typedef.ll
M llvm/test/CodeGen/BPF/BTF/func-unused-arg.ll
M llvm/test/CodeGen/BPF/BTF/func-void.ll
M llvm/test/CodeGen/BPF/BTF/local-var-readonly-1.ll
M llvm/test/CodeGen/BPF/BTF/local-var-readonly-2.ll
M llvm/test/CodeGen/BPF/BTF/local-var.ll
M llvm/test/CodeGen/BPF/BTF/pruning-const.ll
M llvm/test/CodeGen/BPF/BTF/pruning-typedef.ll
M llvm/test/CodeGen/BPF/BTF/static-func.ll
M llvm/test/CodeGen/BPF/BTF/static-var-derived-type.ll
M llvm/test/CodeGen/BPF/BTF/static-var-inited-sec.ll
M llvm/test/CodeGen/BPF/BTF/static-var-inited.ll
M llvm/test/CodeGen/BPF/BTF/static-var-readonly-sec.ll
M llvm/test/CodeGen/BPF/BTF/static-var-readonly.ll
M llvm/test/CodeGen/BPF/BTF/static-var-sec.ll
M llvm/test/CodeGen/BPF/BTF/static-var-zerolen-array.ll
M llvm/test/CodeGen/BPF/BTF/static-var.ll
M llvm/test/CodeGen/BPF/BTF/struct-anon-2.ll
M llvm/test/CodeGen/BPF/BTF/weak-global-2.ll
M llvm/test/CodeGen/BPF/BTF/weak-global.ll
M llvm/test/CodeGen/BPF/CORE/btf-id-duplicate.ll
M llvm/test/CodeGen/BPF/CORE/field-reloc-alu32.ll
M llvm/test/CodeGen/BPF/CORE/field-reloc-bitfield-1-bpfeb.ll
M llvm/test/CodeGen/BPF/CORE/field-reloc-bitfield-1.ll
M llvm/test/CodeGen/BPF/CORE/field-reloc-bitfield-2-bpfeb.ll
M llvm/test/CodeGen/BPF/CORE/field-reloc-bitfield-2.ll
M llvm/test/CodeGen/BPF/CORE/field-reloc-duplicate.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-array-2.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-array.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-byte-size-1.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-byte-size-2.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-byte-size-3.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-byte-size-4.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-existence-1.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-existence-2.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-existence-3.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-lshift-1-bpfeb.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-lshift-1.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-lshift-2.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-rshift-1.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-rshift-2.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-rshift-3.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-signedness-1.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-signedness-2.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-signedness-3.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-struct.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-enum-value.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-type-exist.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-type-size-1.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-type-size-2.ll
M llvm/test/CodeGen/BPF/CORE/intrinsic-union.ll
M llvm/test/CodeGen/BPF/CORE/no-elf-ama-symbol.ll
M llvm/test/CodeGen/BPF/CORE/no-narrow-load.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-access-str.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-basic.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-array-1.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-array-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-struct-1.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-struct-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-struct-3.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-union-1.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-cast-union-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-end-load.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-end-ret.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-fieldinfo-1.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-fieldinfo-2-bpfeb.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-fieldinfo-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-global-1.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-global-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-global-3.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-ignore.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-middle-chain.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-multi-array-1.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-multi-array-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-multilevel.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-pointer-1.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-pointer-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-struct-anonymous.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-struct-array.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-array.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-struct-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-struct.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-union-2.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-union.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-typedef.ll
M llvm/test/CodeGen/BPF/CORE/offset-reloc-union.ll
M llvm/test/CodeGen/BPF/CORE/store-addr.ll
M llvm/test/CodeGen/BPF/adjust-opt-icmp1.ll
M llvm/test/CodeGen/BPF/adjust-opt-icmp2.ll
M llvm/test/CodeGen/BPF/adjust-opt-speculative1.ll
M llvm/test/CodeGen/BPF/adjust-opt-speculative2.ll
M llvm/test/CodeGen/BPF/callx.ll
M llvm/test/CodeGen/BPF/dwarfdump.ll
M llvm/test/CodeGen/BPF/i128.ll
M llvm/test/CodeGen/BPF/is_trunc_free.ll
M llvm/test/CodeGen/BPF/is_zext_free.ll
M llvm/test/CodeGen/BPF/objdump_two_funcs.ll
M llvm/test/CodeGen/BPF/optnone-1.ll
M llvm/test/CodeGen/BPF/reloc-btf-2.ll
M llvm/test/CodeGen/BPF/reloc-btf.ll
M llvm/test/CodeGen/BPF/simplifycfg.ll
M llvm/test/CodeGen/BPF/warn-stack.ll
M llvm/test/CodeGen/BPF/xadd.ll
Log Message:
-----------
[test][BPF] Remove unsafe-fp-math uses (NFC) (#164784)
Post cleanup for #164534.
Also pick suggestion by nikic, remove redundant attributes.
Commit: 30984358ff94f3f71f4ac50ea58f6ab32ccc7c23
https://github.com/llvm/llvm-project/commit/30984358ff94f3f71f4ac50ea58f6ab32ccc7c23
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
A llvm/test/Analysis/DependenceAnalysis/compute-absolute-value.ll
Log Message:
-----------
[DA] Fix absolute value calculation (#164967)
This patch fixes the computation of the absolute value for SCEV.
Previously, it was calculated as `AbsX = SE->isKnownNonNegative(X) ? X :
-X`, which would incorrectly assume that `!isKnownNonNegative` implies
`isKnownNegative`. This assumption does not hold in general, for
example, when `X` is a `SCEVUnknown` and it can be an arbitrary value.
To compute the absolute value properly, we should use
ScalarEvolution::getAbsExpr instead.
Fix #149977
Commit: 22f29d61e50593c46945f100c9ca11fb9c5cca1b
https://github.com/llvm/llvm-project/commit/22f29d61e50593c46945f100c9ca11fb9c5cca1b
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/test/CodeGen/AArch64/sme-za-exceptions.ll
Log Message:
-----------
[AArch64][SME] Fix incorrect "attributes at callsite do not match" assert (#164991)
Clang always duplicates SME attributes to each callsite, which means
removing "ZA_State_Agnostic" from CalledFn before the assert resulted in
the assertion failing for IR emitted by clang.
I've updated the existing test to match the form emitted by clang (which
previously hit the assert).
Commit: 8a5f15330feb693bc2c3923c0e77ce808382491f
https://github.com/llvm/llvm-project/commit/8a5f15330feb693bc2c3923c0e77ce808382491f
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsHexagon.td
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Preprocessor/hexagon-predefines.c
M llvm/include/llvm/IR/IntrinsicsHexagonDep.td
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonDepArch.h
M llvm/lib/Target/Hexagon/HexagonDepArch.td
M llvm/lib/Target/Hexagon/HexagonDepIICHVX.td
M llvm/lib/Target/Hexagon/HexagonDepIICScalar.td
M llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
M llvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td
M llvm/lib/Target/Hexagon/HexagonSchedule.td
A llvm/lib/Target/Hexagon/HexagonScheduleV81.td
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/test/MC/Hexagon/arch-support.s
A llvm/test/MC/Hexagon/v81_arch.s
Log Message:
-----------
[Hexagon] Add V81 support to compiler and assembler (#164922)
This patch introduces support for the Hexagon V81 architecture. It
includes instruction formats, definitions, encodings, scheduling
classes, and builtins/intrinsics.
Commit: 734d554fe6f22065e262c43111604c931f505004
https://github.com/llvm/llvm-project/commit/734d554fe6f22065e262c43111604c931f505004
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/test/Driver/fuchsia.c
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/Transforms/SafeStack/AArch64/abi_ssp.ll
Log Message:
-----------
De-support SafeStack on non-x86 Fuchsia (#164855)
The Fuchsia Compiler ABI will no longer provide the unsafe stack
for SafeStack on machines other than x86-64. The x86_64-fuchsia
target still both supports -fsanitize=safe-stack and defaults to
it. Fuchsia targets that default to -fsanitize=shadow-call-stack
do not need SafeStack also to be available.
Commit: dc5f2745604d4c5a003e909574b531662b372355
https://github.com/llvm/llvm-project/commit/dc5f2745604d4c5a003e909574b531662b372355
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUDialect.h
M mlir/include/mlir/IR/CommonAttrConstraints.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
A mlir/test/Conversion/AMDGPUToROCDL/wmma-gfx11.mlir
M mlir/test/Conversion/AMDGPUToROCDL/wmma-gfx12.mlir
R mlir/test/Conversion/AMDGPUToROCDL/wmma.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][amdgpu] Add explicit intrinsic shape to wmma (#164920)
This is in preparation for adding support for gfx1250 wmma intrinsics
that include much more possible shapes.
Instead of guessing the wave32/wave64 mode based on element types and
vector sizes, require the intrinsic shapes to be set explicitly as
attributes.
Commit: bf553338e5e1e4520d69ef5b34a8659bf3d92492
https://github.com/llvm/llvm-project/commit/bf553338e5e1e4520d69ef5b34a8659bf3d92492
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/lib/Sema/SemaObjCProperty.cpp
Log Message:
-----------
[clang][Sema][NFC] Adjust parameter name comment
The parameter is called `isSynthesizedAccessorStub`. This is the only callsite that sets it to `true`. So making it greppable is important.
I tried to find this callsite via `grep` but couldn't. This patch aligns the comment with all the other instances.
Commit: 6034ab3d98bf75fd6e6b231a6601d0536e44c222
https://github.com/llvm/llvm-project/commit/6034ab3d98bf75fd6e6b231a6601d0536e44c222
Author: Mihail Mihov <mihovmihailp+github at gmail.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
A llvm/test/Transforms/InstCombine/ctlz-cttz.ll
Log Message:
-----------
[InstCombine] Add CTLZ -> CTTZ simplification (#164733)
This PR adds the simplification `ctlz(~x & (x - 1)) -> bitwidth -
cttz(x, false)` ([Alive2](https://alive2.llvm.org/ce/z/vVDRCu)).
Closes issue #164436
Commit: 4a6c5c6ea845f1dcc32234355d4401659121b13c
https://github.com/llvm/llvm-project/commit/4a6c5c6ea845f1dcc32234355d4401659121b13c
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/scmp.ll
Log Message:
-----------
[InstCombine] Fold shifts + selects with -1 to scmp(X, 0) (#164129)
This is because the sign function with 0 tends to be folded to ashr and
other things.
Alive2: https://alive2.llvm.org/ce/z/Q59KvH
Commit: 28e1628ff6b749fddca5fe50d1cc230fd3dce9dd
https://github.com/llvm/llvm-project/commit/28e1628ff6b749fddca5fe50d1cc230fd3dce9dd
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
Log Message:
-----------
[Hexagon] Fix unused variables for #164421 (#165012)
Commit: 8c4d6617d173f6ddde1f6c2866ff2cf19f165d78
https://github.com/llvm/llvm-project/commit/8c4d6617d173f6ddde1f6c2866ff2cf19f165d78
Author: Sterling-Augustine <saugustine at google.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/MC/CMakeLists.txt
M llvm/lib/MC/MCSFrame.cpp
A llvm/test/MC/ELF/cfi-sframe-cfi-escape-diagnostics.s
A llvm/test/MC/ELF/cfi-sframe-cfi-escape.s
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Sframe] Support cfi_escape directives compatibly with gnu-gas (#161927)
Some cfi_escape directives don't affect sframe unwind info, some do.
Detect those cases appropriately, following gnu-gas for most cases.
Using a full-blown dwarf expression parser allows for somewhat more
precise error detection than other sframe implementations. So this code
is less conservative for long and more involved expressions. It could be
made even more permissive.
Commit: 1297bf2974eea11f25ff4375253ad44e37987a7c
https://github.com/llvm/llvm-project/commit/1297bf2974eea11f25ff4375253ad44e37987a7c
Author: Tim Creech <timothy.m.creech at intel.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
A llvm/test/tools/llvm-profdata/input-wildcard.test
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[llvm-profdata] Reintroduce use of InitLLVM (#164736)
Before llvm-profdata participated in llvm-driver it directly called
InitLLVM, which takes care of wildcard argument expansion for tools on
Windows. When llvm-driver support was added to llvm-profdata this
InitLLVM call was effectively moved into the common llvm-driver wrapper
mechanism.
More recently, in #162191, llvm-driver support was temporarily backed
out of llvm-profdata due to an issue with `cl::opt` handling. This
change reintroduces the direct call to InitLLVM in order to restore
wildcard expansion and also adds a test for the wildcard expansion on
Windows.
Commit: ab1765d76502707c8c3082039775bcaf3c25f280
https://github.com/llvm/llvm-project/commit/ab1765d76502707c8c3082039775bcaf3c25f280
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
A clang/test/CIR/CodeGen/trivial-ctor-const-init.cpp
Log Message:
-----------
[CIR] Upstream trivial constructor const handling (#164849)
This adds handling for records with trivial constructors in CIR's
ConstExprEmitter.
Commit: a1dc546f7f2130b2a9b8c29f24ee57ad9002f5a3
https://github.com/llvm/llvm-project/commit/a1dc546f7f2130b2a9b8c29f24ee57ad9002f5a3
Author: Shreeyash Pandey <shreeyash335 at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/int_hk_t.h
A libc/include/llvm-libc-types/int_hr_t.h
A libc/include/llvm-libc-types/int_k_t.h
A libc/include/llvm-libc-types/int_lk_t.h
A libc/include/llvm-libc-types/int_lr_t.h
A libc/include/llvm-libc-types/int_r_t.h
R libc/include/llvm-libc-types/stdfix-types.h
A libc/include/llvm-libc-types/uint_uhk_t.h
A libc/include/llvm-libc-types/uint_uhr_t.h
A libc/include/llvm-libc-types/uint_uk_t.h
A libc/include/llvm-libc-types/uint_ulk_t.h
A libc/include/llvm-libc-types/uint_ulr_t.h
A libc/include/llvm-libc-types/uint_ur_t.h
M libc/include/stdfix.yaml
M libc/src/stdfix/CMakeLists.txt
M libc/src/stdfix/bitshk.cpp
M libc/src/stdfix/bitshk.h
M libc/src/stdfix/bitshr.cpp
M libc/src/stdfix/bitshr.h
M libc/src/stdfix/bitsk.cpp
M libc/src/stdfix/bitsk.h
M libc/src/stdfix/bitslk.cpp
M libc/src/stdfix/bitslk.h
M libc/src/stdfix/bitslr.cpp
M libc/src/stdfix/bitslr.h
M libc/src/stdfix/bitsr.cpp
M libc/src/stdfix/bitsr.h
M libc/src/stdfix/bitsuhk.cpp
M libc/src/stdfix/bitsuhk.h
M libc/src/stdfix/bitsuhr.cpp
M libc/src/stdfix/bitsuhr.h
M libc/src/stdfix/bitsuk.cpp
M libc/src/stdfix/bitsuk.h
M libc/src/stdfix/bitsulk.cpp
M libc/src/stdfix/bitsulk.h
M libc/src/stdfix/bitsulr.cpp
M libc/src/stdfix/bitsulr.h
M libc/src/stdfix/bitsur.cpp
M libc/src/stdfix/bitsur.h
M libc/src/stdfix/bitusk.cpp
M libc/src/stdfix/hkbits.h
M libc/src/stdfix/hrbits.h
M libc/src/stdfix/kbits.h
M libc/src/stdfix/lkbits.h
M libc/src/stdfix/lrbits.h
M libc/src/stdfix/rbits.h
M libc/src/stdfix/uhkbits.h
M libc/src/stdfix/uhrbits.h
M libc/src/stdfix/ukbits.h
M libc/src/stdfix/ulkbits.h
M libc/src/stdfix/ulrbits.h
M libc/src/stdfix/urbits.h
M libc/test/src/stdfix/CMakeLists.txt
M libc/test/src/stdfix/FxBitsTest.h
M libc/test/src/stdfix/bitshk_test.cpp
M libc/test/src/stdfix/bitshr_test.cpp
M libc/test/src/stdfix/bitsk_test.cpp
M libc/test/src/stdfix/bitslk_test.cpp
M libc/test/src/stdfix/bitslr_test.cpp
M libc/test/src/stdfix/bitsr_test.cpp
M libc/test/src/stdfix/bitsuhk_test.cpp
M libc/test/src/stdfix/bitsuhr_test.cpp
M libc/test/src/stdfix/bitsuk_test.cpp
M libc/test/src/stdfix/bitsulk_test.cpp
M libc/test/src/stdfix/bitsulr_test.cpp
M libc/test/src/stdfix/bitsur_test.cpp
Log Message:
-----------
[libc] add missing headers in stdfix (#162078)
Fixes https://github.com/llvm/llvm-project/issues/129361
@michaelrj-google @PiJoules
---------
Signed-off-by: Shreeyash Pandey <shreeyash335 at gmail.com>
Co-authored-by: Michael Jones <michaelrj at google.com>
Commit: c576c6b41f574d7467acd84cb63c81509752cece
https://github.com/llvm/llvm-project/commit/c576c6b41f574d7467acd84cb63c81509752cece
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
Log Message:
-----------
[flang][cuda] Remove error check from allocation and free call (#165022)
As in https://github.com/llvm/llvm-project/pull/164463, do not do error
checking in the runtime itself but let error go through as user might
want to catch them for error recovery.
Commit: 704240125ddf17b9b4995871af3759c742a202ba
https://github.com/llvm/llvm-project/commit/704240125ddf17b9b4995871af3759c742a202ba
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/test/MC/PowerPC/ppc64-encoding-ext.s
Log Message:
-----------
[PowerPC][NFC] Add new mtpidr alias introduced in ISA3.0 (#163989)
Add new alias `m[tf]pidr` for `m[tf]spr 48` introduced in ISA3.0.
Commit: 621ed04e28787ade92b98e296332ac71d1b81678
https://github.com/llvm/llvm-project/commit/621ed04e28787ade92b98e296332ac71d1b81678
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
Log Message:
-----------
[MLIR][XeGPU]Enhance Pack/Unpack for XeGPUUnroll (#163459)
This PR changes the pack/unpack method used for unrolling to allow for
lower rank slice to be extracted and inserted from and to src vector by
adding reshapes. It also removes leading unit dims from inst_data if
there are any.
Commit: 224f18e549c42233e1cc597873803a183927dfb3
https://github.com/llvm/llvm-project/commit/224f18e549c42233e1cc597873803a183927dfb3
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/test/CIR/CodeGen/delete.cpp
Log Message:
-----------
[CIR] Handle operator delete with virtual destructors (#165010)
This adds support for emitting operator delete when used with classes
that have a virtual destructor.
Commit: 6de1c25d6ba2a22167160ff80f4875b312e79dcd
https://github.com/llvm/llvm-project/commit/6de1c25d6ba2a22167160ff80f4875b312e79dcd
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/include/clang/Basic/FileManager.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/tools/driver/cc1_main.cpp
Log Message:
-----------
[clang] Don't require `FileManager` for creating an output file (#164665)
Conceptually, the `CompilerInstance` doesn't need an instance of the
`FileManager` to create an output file. This PR enables that, removing
an edge-case in `cc1_main()`.
Commit: 1e84cb7de2e2e5d1b710521f55e75d4ff5e8fd0f
https://github.com/llvm/llvm-project/commit/1e84cb7de2e2e5d1b710521f55e75d4ff5e8fd0f
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCVXsf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
M llvm/lib/Target/RISCV/RISCVScheduleXSf.td
A llvm/test/CodeGen/RISCV/rvv/sf_vfbfexp16e.ll
A llvm/test/CodeGen/RISCV/rvv/sf_vfexp16e.ll
A llvm/test/CodeGen/RISCV/rvv/sf_vfexp32e.ll
A llvm/test/CodeGen/RISCV/rvv/sf_vfexpa.ll
A llvm/test/CodeGen/RISCV/rvv/sf_vfexpa64e.ll
Log Message:
-----------
[RISCV] Add LLVM IR intrinsics and codegen for XSfvfexp* and XSfvfexpa* (#164499)
This patch adds LLVM IR intrinsics and basic codegen support for the
XSfvfexp* and XSfvfexpa* extensions.
---------
Co-authored-by: Jesse Huang <jesse.huang at sifive.com>
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 17abc16d7b76addee09d37dfd20247f0c890c3d8
https://github.com/llvm/llvm-project/commit/17abc16d7b76addee09d37dfd20247f0c890c3d8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
A llvm/test/CodeGen/RISCV/rv32p.ll
A llvm/test/CodeGen/RISCV/rv64p.ll
Log Message:
-----------
[RISCV] Support codegen for some scalar P extension instructions. (#164359)
This includes sext.b, sext.h, min/max, rev8, clz(w), and abs.
Test cases copied from rv32zbb.ll and rv64zbb.ll and pruned to what was
needed for P. Eventually we should merge these back into a single test
file, but I wanted to keep P separated while it is experimental.
Commit: 4e7a8456b316bb20874cc1343747b36869eab7a2
https://github.com/llvm/llvm-project/commit/4e7a8456b316bb20874cc1343747b36869eab7a2
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M lldb/test/API/macosx/posix_spawn/TestLaunchProcessPosixSpawn.py
Log Message:
-----------
[lldb] Improve error logging in test (NFC)
Commit: 50eb8659340d4cf318ea208547fa3413caf5e76b
https://github.com/llvm/llvm-project/commit/50eb8659340d4cf318ea208547fa3413caf5e76b
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Remove unused 'build_flang' variables (#164547)
Commit: fb87708317e28573151d588bd117701dd77f2e16
https://github.com/llvm/llvm-project/commit/fb87708317e28573151d588bd117701dd77f2e16
Author: Brandon Wu <songwu0813 at gmail.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Headers/sifive_vector.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e4m3_e4m3.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e4m3_e5m2.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e5m2_e4m3.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e5m2_e5m2.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_f_f.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_s_s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_s_u.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_u_s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_u_u.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vlte16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vlte32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vlte64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vlte8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vsettk.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vsettm.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vsettn.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vsettnt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vste16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vste32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vste64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vste8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtdiscard.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_t_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_v_t.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtzero_t.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e4m3_e4m3.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e4m3_e5m2.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e5m2_e4m3.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e5m2_e5m2.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_f_f.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_s_s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_s_u.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_u_s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_u_u.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vlte16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vlte32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vlte64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vlte8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vste16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vste32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vste64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vste8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vtmv_t_v.c
A clang/test/Sema/sifive-xsfmm.c
A clang/test/Sema/sifive_sf_vset_invalid.c
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[RISCV] Support XSfmm C intrinsics (#143070)
In this version of intrinsics, users need to manage the life time of
tiles on their own, compiler doesn't have tile type for variables not
only for design simplicity but also preventing users to write bad
performance code that could potentially having tile spills which are
quite expensive in terms of cycles.
Intrinsics are specified at the end of this document
https://www.sifive.com/document-file/xsfmm-matrix-extensions-specification
stack on: https://github.com/llvm/llvm-project/pull/143068 and
https://github.com/llvm/llvm-project/pull/143069
Commit: dddcb84f152b99dfe7e117c02ab506c6c14b2f2b
https://github.com/llvm/llvm-project/commit/dddcb84f152b99dfe7e117c02ab506c6c14b2f2b
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
Log Message:
-----------
[scudo] Secondary release to OS uses LRU to scan. (#163691)
Before this change, the code would scan the entire set of cached entries
to find ones to be released. Now, it uses the LRUEntries list to iterate
over the live cached entries. In addition, remove the OldestTime
variable and replace it with OldestPresentEntry which will always be the
oldest entry in the LRU that has Time non-zero.
Commit: f7b4018748715aea536d3d266786ab0d895b335b
https://github.com/llvm/llvm-project/commit/f7b4018748715aea536d3d266786ab0d895b335b
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
Log Message:
-----------
[OpenACC][CIR] Implement atomic update lowering (#164836)
This is the 3rd of 4 forms of the 'atomic' construct. This one allows
increment/decrement, compound-assign, and assign-to-bin-op(referencing
the original variable).
All of the above is enforced during Sema, but for our purposes, we ONLY
need to know the variable on the LHS and the expression, so this does
that.
The ACC dialect for acc.atomic.update uses a 'recipe' as well, which
takes the VALUE, and yields the value of the updated value.
To simplify the implementation, our lowering very simply creates an
alloca inside the recipe, stores the passed-in value, then loads/yields
it at the end.
Commit: d518f8e40e2b0318264ab45424e515862744b572
https://github.com/llvm/llvm-project/commit/d518f8e40e2b0318264ab45424e515862744b572
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/test/Transforms/debug-assumed-size-array.fir
Log Message:
-----------
[flang] fix assumed-size debug info after #164452 (#164772)
I missed this case because the code was not explicitly looking for -1.
Commit: a377b8563428dd53cc33fdd4645d194db5f01397
https://github.com/llvm/llvm-project/commit/a377b8563428dd53cc33fdd4645d194db5f01397
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
A flang/test/Semantics/bug1491.f90
M flang/test/Semantics/null-init.f90
Log Message:
-----------
[flang] Adjust needless warning (#164500)
When an external procedure has an explicit interface in one scope, and
an implicit interface in another, and there's at least one call to it
from which dummy argument information can be inferred, don't emit a
warning about potential incompatibility if the only difference in their
characteristics is that one of their interfaces was implicit.
Commit: 1df7f2baa9a8f9fcec90de486686766cc2fd2bb1
https://github.com/llvm/llvm-project/commit/1df7f2baa9a8f9fcec90de486686766cc2fd2bb1
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/connection.h
M flang-rt/include/flang-rt/runtime/io-stmt.h
Log Message:
-----------
[flang][runtime] Tweak GetNextNonBlank() performance (#164521)
When skipping blanks during input from an ASCII file, scan the buffered
characters directly when possible rather than using the more general
path. This adds complexity, but shaves a few percent off the runtime of
a code that reads in millions of list-directed integers (best time over
multiple runs goes from 17.56 to 16.84 sec).
Commit: 1e237b1785e77b472279f85455decc6ebe3eaf90
https://github.com/llvm/llvm-project/commit/1e237b1785e77b472279f85455decc6ebe3eaf90
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
A flang/test/Semantics/func-proc-result.f90
Log Message:
-----------
[flang] Catch function result that is non-pointer procedure (#164664)
A function result that is a procedure must be a procedure pointer.
Commit: e34d603f185b55a0ef61b1008cdfd12d296a82ac
https://github.com/llvm/llvm-project/commit/e34d603f185b55a0ef61b1008cdfd12d296a82ac
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M flang/include/flang/Evaluate/call.h
M flang/include/flang/Semantics/expression.h
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-call.h
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/generic-error.f90
Log Message:
-----------
[flang] More information on generic resolution failures (#164738)
When a generic procedure reference does not match any of its specific
procedures, run through them and emit the errors for each attempted
match, so that the user has more information to resolve the problem by
adjusting the actual arguments.
Commit: af34890ef8f501cf758525f04b3e6f0e18a96b44
https://github.com/llvm/llvm-project/commit/af34890ef8f501cf758525f04b3e6f0e18a96b44
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Preprocessing/bug164727.cuf
Log Message:
-----------
[flang] Let !@acc and !@cuf conditional lines be continuations (#164892)
OpenMP conditional compilation lines (!$) work as continuation lines,
but OpenACC and CUDA conditional lines do not.
Fixes https://github.com/llvm/llvm-project/issues/164727 and
https://github.com/llvm/llvm-project/issues/164708.
Commit: 251edd122808f1849adb8000119ba9134793a294
https://github.com/llvm/llvm-project/commit/251edd122808f1849adb8000119ba9134793a294
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Initialization.h
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
A clang/test/AST/HLSL/matrix-constructors.hlsl
A clang/test/AST/HLSL/matrix-general-initializer.hlsl
A clang/test/SemaHLSL/BuiltIns/matrix-constructors-errors.hlsl
Log Message:
-----------
[HLSL] Add matrix constructors using initalizer lists (#162743)
fixes #159434
In HLSL matrices are matrix_type in all respects except that they
support a constructor style syntax for initializing matrices.
This change adds a translation of vector constructor arguments into
initializer lists.
This supports the following HLSL syntax:
(1) HLSL matrices support constructor syntax
(2) HLSL matrices are expanded to constituate components in constructor
using the same initalizer list behavior defined in transformInitList
allows us to support struct element initalization via
HLSLElementwiseCast
Commit: 0b01b96864983c4b150776b869a3d048b0d50e2c
https://github.com/llvm/llvm-project/commit/0b01b96864983c4b150776b869a3d048b0d50e2c
Author: Joshua Cranmer <joshua.cranmer at intel.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Symbols.h
M lld/COFF/Writer.cpp
A lld/test/COFF/common-dedup.ll
Log Message:
-----------
[LLD][COFF] Deduplicate common chunks when linking COFF files. (#162553)
This fixes [issue
162148](https://github.com/llvm/llvm-project/issues/162148).
Common symbols are intended to have only a single version of the data
present in the final executable. The MSVC linker is able to successfully
deduplicate these chunks. If you have an application with a large number
of translation units with a large block of common data (this is
possible, for example, with Fortran code), then failing to deduplicate
these chunks can make the data size so large that the resulting
executable fails to load.
The logic in this patch doesn't catch all of the potential cases for
deduplication, but it should catch the most common ones.
Commit: 0fd330dfe3d0504f4143aea58e88d52e62bf7da7
https://github.com/llvm/llvm-project/commit/0fd330dfe3d0504f4143aea58e88d52e62bf7da7
Author: Finn Plummer <mail at inbelic.dev>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/docs/DirectX/DXILArchitecture.rst
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.h
M llvm/test/CodeGen/DirectX/legalize-module-flags.ll
M llvm/test/CodeGen/DirectX/legalize-module-flags2.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/test/CodeGen/DirectX/metadata-stripping.ll
M llvm/test/CodeGen/DirectX/strip-llvm-errno-tbaa.ll
M llvm/test/CodeGen/DirectX/strip-rootsignatures.ll
Log Message:
-----------
[NFC][DirectX] Refactor `DXILPrepare`/`DXILTranslateMetadata` (#164285)
This pr updates `DXILPrepare` and `DXILTranslateMetadata` by moving all
the removal of metadata from `DXILPrepare` to `DXILTranslateMetadata` to
have a more consistent definition of what each pass is doing.
It restricts the `DXILPrepare` to only update function attributes and
insert bitcasts, and moves the removal of metadata to
`DXILTranslateMetadata` so that all manipulation of metadata is done in
a single pass.
Commit: b6e6a4dc6d494191a9665715b0d989876778a46d
https://github.com/llvm/llvm-project/commit/b6e6a4dc6d494191a9665715b0d989876778a46d
Author: Thurston Dang <thurston at google.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/sme-aarch64-svcount-mini.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/sme-aarch64-svcount.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/sme2-intrinsics-add-mini.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/sme2-intrinsics-add.ll
Log Message:
-----------
[msan] Convert target("aarch64.svcount") from compile-time crash to MSan false negatives (#165028)
MSan currently crashes at compile-time when it encounters
target("aarch64.svcount") (e.g.,
https://github.com/llvm/llvm-project/pull/164315). This patch duct-tapes
MSan so that it won't crash at compile-time, and instead propagates a
clean shadow (resulting in false negatives but not false positives).
Commit: e07aef9dde4cc84af8b696b97c294b6497ce667a
https://github.com/llvm/llvm-project/commit/e07aef9dde4cc84af8b696b97c294b6497ce667a
Author: Bruno De Fraine <brunodf at synopsys.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/Frontend/cfi-unchecked-callee-attribute.cpp
Log Message:
-----------
[clang][Sema] close IsStandardConversion hole when adding cfi_unchecked_callee (#164592)
Commit b194cf1e401a changed this function for the case where attribute
`cfi_unchecked_callee` is added in a function conversion. But this
introduces a hole (issue #162798), and it seems the change was
unnecessary: the preceding `TryFunctionConversion` will already allow
adding the `cfi_unchecked_callee` attribute, and will update `FromType`
if it succeeds. So we revert the changes to `IsStandardConversion`. We
also remove the helper function `AddingCFIUncheckedCallee` which is no
longer needed, and simplify the corresponding
`DiscardingCFIUncheckedCallee`.
Fixes: #162798
Commit: bd27abcceedfc60f4598124aa022cd0b766da3d8
https://github.com/llvm/llvm-project/commit/bd27abcceedfc60f4598124aa022cd0b766da3d8
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
Revert "Reapply "[clang-format] Annotate ::operator and Foo::operator… (#165038)
… correctly" (#164670)"
This reverts commit 50ca1f407801cd268a1c130b9576dfb51fe7f392.
Reverting because this leads to the bug on ToT described in
https://github.com/llvm/llvm-project/issues/164866. The original fix
addresses an old regression which we'd still like to land eventually.
See the discussion in https://github.com/llvm/llvm-project/pull/164670
for more context.
Commit: 8c29bce1e9f03a22b42d11604e7555e16306f2aa
https://github.com/llvm/llvm-project/commit/8c29bce1e9f03a22b42d11604e7555e16306f2aa
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Remove SCEVToExpansion mapping (NFC). (#164490)
VPlan::SCEVToExpansion isn't needed any longer, as SCEV expansion
de-duplication is handled locally in expandSCEVs.
PR: https://github.com/llvm/llvm-project/pull/164490
Commit: 825eefe856cb957adf33924a9232d3f7e947e7f4
https://github.com/llvm/llvm-project/commit/825eefe856cb957adf33924a9232d3f7e947e7f4
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/program-parsers.cpp
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
M flang/test/Parser/cuf-sanity-common
M flang/test/Parser/cuf-sanity-tree.CUF
Log Message:
-----------
[flang][cuda] Accept scalar expression for bytes in kernel call (#165040)
Commit: fdcbf74a7da4fb074d5c408eb2ec4ed75fb74bf4
https://github.com/llvm/llvm-project/commit/fdcbf74a7da4fb074d5c408eb2ec4ed75fb74bf4
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
Log Message:
-----------
[Github][CI] Add default gha user for tooling containers (#164294)
This would solve
https://github.com/llvm/llvm-project/blob/c0073a9170aaa4f3504f7cdf20758176bcb14ac1/.github/workflows/pr-code-format.yml#L28-L34
Commit: 9b80fc39606f6f02b88a21ac29e98a74b0b7426a
https://github.com/llvm/llvm-project/commit/9b80fc39606f6f02b88a21ac29e98a74b0b7426a
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M lldb/test/API/macosx/posix_spawn/TestLaunchProcessPosixSpawn.py
Log Message:
-----------
[lldb] Add missing function call in test (NFC)
Commit: 4c52c454c0f266a5948b5ba48c597571d1a0040a
https://github.com/llvm/llvm-project/commit/4c52c454c0f266a5948b5ba48c597571d1a0040a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/IndexedMap.h
Log Message:
-----------
[ADT] Rename variable names in IndexedMap (NFC) (#164925)
This patch renames variable names to conform to the LLVM Coding
Standards. The public interface remains the same.
Commit: 30e77152961b2c560127cc8391ca79f002497a09
https://github.com/llvm/llvm-project/commit/30e77152961b2c560127cc8391ca79f002497a09
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/SparseSet.h
Log Message:
-----------
[ADT] Consolidate SparseSetValFunctor implementations (NFC) (#164926)
This patch consolidates the two implementations of SparseSetValFunctor
with "if constexpr". std::is_same_v<KeyT, ValueT> is more readable
than "KeyT, KeyT" in the template parameter list.
Commit: 8388a5b3403a4f711890a397ec577a11bb9d5fc3
https://github.com/llvm/llvm-project/commit/8388a5b3403a4f711890a397ec577a11bb9d5fc3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/STLForwardCompat.h
M llvm/include/llvm/ADT/SparseMultiSet.h
M llvm/include/llvm/ADT/SparseSet.h
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/unittests/ADT/STLForwardCompatTest.cpp
Log Message:
-----------
[ADT] Rename identity_cxx20 to identity (#164927)
Now that the old llvm::identity has moved into IndexedMap.h under a
different name, this patch renames identity_cxx20 to identity. Note
that llvm::identity closely models std::identity from C++20.
Commit: b4d11c98917c3fd0e09f826a85232c322678299b
https://github.com/llvm/llvm-project/commit/b4d11c98917c3fd0e09f826a85232c322678299b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
[clang] Proofread UsersManual.rst (#164928)
Commit: 7e76473d3fa90b954d8533f558274df1b95256fd
https://github.com/llvm/llvm-project/commit/7e76473d3fa90b954d8533f558274df1b95256fd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/CodeView/AppendingTypeTableBuilder.h
M llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h
M llvm/include/llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h
M llvm/include/llvm/DebugInfo/GSYM/GsymContext.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLine.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVRange.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVScope.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSymbol.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVType.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVCodeViewReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h
M llvm/unittests/DebugInfo/LogicalView/CompareElementsTest.cpp
M llvm/unittests/DebugInfo/LogicalView/LocationRangesTest.cpp
M llvm/unittests/DebugInfo/LogicalView/LogicalElementsTest.cpp
M llvm/unittests/DebugInfo/LogicalView/SelectElementsTest.cpp
M llvm/unittests/DebugInfo/LogicalView/WarningInternalTest.cpp
Log Message:
-----------
[DebugInfo] Add "override" where appropriate (NFC) (#164929)
Note that "override" makes "virtual" redundant.
Identified with modernize-use-override.
Commit: 4448ff453d25e402aeab55749a99df5ff5ea81f1
https://github.com/llvm/llvm-project/commit/4448ff453d25e402aeab55749a99df5ff5ea81f1
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/test/CIR/CodeGen/coro-task.cpp
Log Message:
-----------
[CIR] Emit CIR builtins: coroAlloc, coroBegin, and coroSize (#164180)
This PR adds support for emitting the builtins coroAlloc, coroBegin, and
coroSize.
Commit: e68cf1ebcf8a059ea5f373340a854c15146a20dd
https://github.com/llvm/llvm-project/commit/e68cf1ebcf8a059ea5f373340a854c15146a20dd
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-code-lint.yml
Log Message:
-----------
[GitHub][CI] Remove 'Set Safe Directory' step (#165052)
Commit: 409c6544435395ac24d3efb92fd51841e9223315
https://github.com/llvm/llvm-project/commit/409c6544435395ac24d3efb92fd51841e9223315
Author: cmtice <cmtice at google.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Update Windows premerge testing to use clang-cl.exe (#164900)
Now that the Windows container contains clang, use it for building the
premerge tests. Measurements show this is significantly faster than
using msvc cl. Note we had to disable four warnings -Wc++98-compat,
-Wc++14-compat, -Wunsafe-buffer-usage, and -Wold-style-cast to make
this work with 'check-mlir' on Windows (clang generates a lot of warnings
that msvc cl does not).
Commit: 10a975be0f4c6337fe981c4086d90c582a970010
https://github.com/llvm/llvm-project/commit/10a975be0f4c6337fe981c4086d90c582a970010
Author: Julian Lettner <yln at users.noreply.github.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M lldb/include/lldb/Target/Target.h
M lldb/source/Commands/CommandCompletions.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/Options.td
M lldb/source/Target/Target.cpp
A lldb/test/Shell/ExecControl/StopHook/stop-hook-list.test
Log Message:
-----------
[lldb] Introduce internal stop hooks (#164506)
Introduce the concept of internal stop hooks.
These are similar to LLDB's internal breakpoints:
LLDB itself will add them and users of LLDB will
not be able to add or remove them.
This change adds the following 3
independently-useful concepts:
* Maintain a list of internal stop hooks that will be populated by LLDB
and cannot be added to or removed from by users. They are managed in a
separate list in `Target::m_internal_stop_hooks`.
* `StopHookKind:CodeBased` and `StopHookCoded` represent a stop hook
defined by a C++ code callback (instead of command line expressions or a
Python class).
* Stop hooks that do not print any output can now also suppress the
printing of their header and description when they are hit via
`StopHook::GetSuppressOutput`.
Combining these 3 concepts we can model "internal
stop hooks" which serve the same function as
LLDB's internal breakpoints: executing built-in,
LLDB-defined behavior, leveraging the existing
mechanism of stop hooks.
This change also simplifies
`Target::RunStopHooks`. We already have to
materialize a new list for combining internal and
user stop hooks. Filter and only add active hooks to this list to avoid
the need for "isActive?"
checks later on.
Commit: 3a59407689da7a3f2f934a841ed32ffcbfaf24dc
https://github.com/llvm/llvm-project/commit/3a59407689da7a3f2f934a841ed32ffcbfaf24dc
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M .ci/utils.sh
Log Message:
-----------
[CI] Make Postcommit Testing Pass In Correct Flags to Premerge Advisor
Before this patch we were passing in the previous commit rather than the
current commit due to a copy and paste adjustment failure from the PR
flow. We want the base SHA to just be the commit SHA for postcommit. We
also were not attaching the run number which made the source ID the
first JUnit XML file rather than the buildbot run number.
Commit: 5fda2a5d9c1a0f90da5d0afc412c9ad613702823
https://github.com/llvm/llvm-project/commit/5fda2a5d9c1a0f90da5d0afc412c9ad613702823
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/docs/ProgrammersManual.rst
A llvm/include/llvm/ADT/RadixTree.h
M llvm/unittests/ADT/CMakeLists.txt
A llvm/unittests/ADT/RadixTreeTest.cpp
Log Message:
-----------
[NFC][ADT] Add RadixTree (#164524)
This commit introduces a RadixTree implementation to LLVM.
RadixTree, as a Trie, is very efficient by searching for prefixes.
A Radix Tree is more efficient implementation of Trie.
The tree will be used to optimize Glob matching in SpecialCaseList:
* https://github.com/llvm/llvm-project/pull/164531
* https://github.com/llvm/llvm-project/pull/164543
* https://github.com/llvm/llvm-project/pull/164545
---------
Co-authored-by: Kazu Hirata <kazu at google.com>
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: cc4f462ba46c288dc26aa155775444cd9a7c4d0e
https://github.com/llvm/llvm-project/commit/cc4f462ba46c288dc26aa155775444cd9a7c4d0e
Author: Yi-Chi Lee <55395582+yichi170 at users.noreply.github.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
A llvm/test/CodeGen/X86/issue163738.ll
Log Message:
-----------
[X86][ISel] Improve VPTERNLOG matching for negated logic trees (#164863)
This patch extends VPTERNLOG pattern matching to handle cases where an
outer NOT wraps a pure logical tree, such as `~(A | B | C)`. By
recognizing these negated logic trees, the instruction selector can now
emit a single vpternlog instruction.
The change preserves the match for patterns like `(x != C1) & (x !=
C2)`, which also have the xor-with-all-ones pattern outside. The patch
conservatively peels the outer XOR-with-all-ones only when it directly
wraps a foldable logical operator (AND, OR, XOR, or ANDNP).
Resolves #163738
Commit: 9161760123cd8b10694483a8f27d72ed134173b2
https://github.com/llvm/llvm-project/commit/9161760123cd8b10694483a8f27d72ed134173b2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M .ci/premerge_advisor_upload.py
Log Message:
-----------
[CI] Make Premerge Advisor Upload to Both Advisor Instances
So that we do not have to worry about synchronizing data between the two
clusters. This also enables this script to work on AArch64, although
we'll look at enabling that later.
Reviewers: cmtice
Reviewed By: cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/165058
Commit: c9a45d3fd777997f669ff6af9c1f27e60a0fa23f
https://github.com/llvm/llvm-project/commit/c9a45d3fd777997f669ff6af9c1f27e60a0fa23f
Author: Kees Cook <kees at kernel.org>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrInfo.td
Log Message:
-----------
[ARM][KCFI] Fix bundle sizes to reflect worst-case expansion (#164917)
The KCFI_CHECK pseudo-instruction size for ARM got miscalculated. These
should represent worst-case expansion to ensure correct branch range
calculations and code layout.
Update the Size field for each ARM sub-architecture:
- ARM: 28 → 40 bytes (10 instructions @ 4 bytes when r3 spill needed)
- Thumb2: 32 → 34 bytes (mixed 16/32-bit instructions with r3 spill)
- Thumb1: 50 → 38 bytes (19 instructions @ 2 bytes with r2+r3 spills)
The ARM and Thumb2 sizes were underestimating the case where the target
register is r12, requiring r3 to be used as scratch and
spilled/restored. The Thumb1 size was overestimated and has been
corrected to the actual worst-case of 19 instructions.
Commit: a7c38b8a9c7feb94dc7f500e62c4197b8089da05
https://github.com/llvm/llvm-project/commit/a7c38b8a9c7feb94dc7f500e62c4197b8089da05
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/RadixTree.h
Log Message:
-----------
[ADT][NFC] Add missing #include <vector> (#165068)
Added in #164524. Fails when using libc++ in a mode that prunes
transitive headers.
Commit: 30f9ce14b439ddb14a9624705ac573d7597d6ce2
https://github.com/llvm/llvm-project/commit/30f9ce14b439ddb14a9624705ac573d7597d6ce2
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M libc/include/llvm-libc-macros/gpu/signal-macros.h
M libc/include/llvm-libc-macros/linux/signal-macros.h
Log Message:
-----------
[libc] add SIG_HOLD for linux/gpu (#165007)
Commit: 2afbd3df2ae6959b6bf5cbf22db22b57247f36ac
https://github.com/llvm/llvm-project/commit/2afbd3df2ae6959b6bf5cbf22db22b57247f36ac
Author: SahilPatidar <sahilpatidar60 at gmail.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
R llvm/include/llvm/ExecutionEngine/Orc/Shared/SymbolFilter.h
R llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryResolver.h
R llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryScanner.h
M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt
R llvm/lib/ExecutionEngine/Orc/TargetProcess/LibraryResolver.cpp
R llvm/lib/ExecutionEngine/Orc/TargetProcess/LibraryScanner.cpp
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
R llvm/unittests/ExecutionEngine/Orc/Inputs/A/A_linux.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/A/A_macho.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/B/B_linux.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/B/B_macho.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/C/C_linux.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/C/C_macho.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/D/D_linux.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/D/D_macho.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/Z/Z_linux.yaml
R llvm/unittests/ExecutionEngine/Orc/Inputs/Z/Z_macho.yaml
R llvm/unittests/ExecutionEngine/Orc/LibraryResolverTest.cpp
Log Message:
-----------
Revert "REAPPLY [ORC] Add automatic shared library resolver for unresolved symbols. #148410" (#165069)
Reverting llvm/llvm-project#164551 due to persistent build bot failure
caused by a path difference issue.
Commit: 351dc85e006ffc81ea63ad19490ce9158b25d37b
https://github.com/llvm/llvm-project/commit/351dc85e006ffc81ea63ad19490ce9158b25d37b
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/test/CodeGen/Mips/Fast-ISel/br1.ll
M llvm/test/CodeGen/Mips/Fast-ISel/loadstore2.ll
M llvm/test/CodeGen/Mips/Fast-ISel/loadstrconst.ll
M llvm/test/CodeGen/Mips/Fast-ISel/logopm.ll
M llvm/test/CodeGen/Mips/Fast-ISel/simplestorefp1.ll
M llvm/test/CodeGen/Mips/Fast-ISel/simplestorei.ll
M llvm/test/CodeGen/Mips/beqzc.ll
M llvm/test/CodeGen/Mips/beqzc1.ll
M llvm/test/CodeGen/Mips/brsize3.ll
M llvm/test/CodeGen/Mips/brsize3a.ll
M llvm/test/CodeGen/Mips/ci2.ll
M llvm/test/CodeGen/Mips/cmplarge.ll
M llvm/test/CodeGen/Mips/const1.ll
M llvm/test/CodeGen/Mips/const4a.ll
M llvm/test/CodeGen/Mips/const6.ll
M llvm/test/CodeGen/Mips/const6a.ll
M llvm/test/CodeGen/Mips/ctlz.ll
M llvm/test/CodeGen/Mips/delay-slot-fill-forward.ll
M llvm/test/CodeGen/Mips/f16abs.ll
M llvm/test/CodeGen/Mips/fp16instrinsmc.ll
M llvm/test/CodeGen/Mips/fpneeded.ll
M llvm/test/CodeGen/Mips/fpnotneeded.ll
M llvm/test/CodeGen/Mips/hf16call32.ll
M llvm/test/CodeGen/Mips/hf16call32_body.ll
M llvm/test/CodeGen/Mips/hfptrcall.ll
M llvm/test/CodeGen/Mips/l3mc.ll
M llvm/test/CodeGen/Mips/lcb2.ll
M llvm/test/CodeGen/Mips/lcb3c.ll
M llvm/test/CodeGen/Mips/lcb4a.ll
M llvm/test/CodeGen/Mips/lcb5.ll
M llvm/test/CodeGen/Mips/mbrsize4a.ll
M llvm/test/CodeGen/Mips/micromips-attr.ll
M llvm/test/CodeGen/Mips/mips16-hf-attr-2.ll
M llvm/test/CodeGen/Mips/mips16-hf-attr.ll
M llvm/test/CodeGen/Mips/mips16_32_1.ll
M llvm/test/CodeGen/Mips/mips16_32_10.ll
M llvm/test/CodeGen/Mips/mips16_32_3.ll
M llvm/test/CodeGen/Mips/mips16_32_4.ll
M llvm/test/CodeGen/Mips/mips16_32_5.ll
M llvm/test/CodeGen/Mips/mips16_32_6.ll
M llvm/test/CodeGen/Mips/mips16_32_7.ll
M llvm/test/CodeGen/Mips/mips16_32_8.ll
M llvm/test/CodeGen/Mips/mips16_32_9.ll
M llvm/test/CodeGen/Mips/nomips16.ll
M llvm/test/CodeGen/Mips/pbqp-reserved-physreg.ll
M llvm/test/CodeGen/Mips/powif64_16.ll
M llvm/test/CodeGen/Mips/s2rem.ll
M llvm/test/CodeGen/Mips/sel1c.ll
M llvm/test/CodeGen/Mips/sel2c.ll
M llvm/test/CodeGen/Mips/simplebr.ll
M llvm/test/CodeGen/Mips/sr1.ll
M llvm/test/CodeGen/Mips/tnaked.ll
Log Message:
-----------
[test][MIPS] Remove unsafe-fp-math uses (NFC) (#164790)
Post cleanup for #164534.
Commit: 168db5eca0da25b92a105c8df5c55ed7fd2d4cfc
https://github.com/llvm/llvm-project/commit/168db5eca0da25b92a105c8df5c55ed7fd2d4cfc
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/Support/SpecialCaseList.h
M llvm/lib/Support/SpecialCaseList.cpp
Log Message:
-----------
[SpecialCaseList] Filtering Globs with matching prefix (#164531)
This commit optimizes `SpecialCaseList` by using a `RadixTree` to filter
glob patterns based on their prefixes. When matching a query, the
`RadixTree` quickly identifies all glob patterns whose prefixes match
the query's prefix. This significantly reduces the number of glob
patterns that need to be fully evaluated, leading to performance
improvements, especially when dealing with a large number of patterns.
According to SpecialCaseListBM:
Lookup benchmarks (significant improvements):
```
OVERALL_GEOMEAN -0.8177
```
Lookup like `prefix*` benchmarks (huge improvements):
```
OVERALL_GEOMEAN -0.9819
```
https://gist.github.com/vitalybuka/824884bcbc1713e815068c279159dafe
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: 44601d1a7a8a9df879998ae0a193ccab851d4131
https://github.com/llvm/llvm-project/commit/44601d1a7a8a9df879998ae0a193ccab851d4131
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
Reapply "Reapply "[clang-format] Annotate ::operator and Foo::operator… (#165038)
This reverts commit bd27abcceedfc60f4598124aa022cd0b766da3d8.
See https://github.com/llvm/llvm-project/pull/164670#issuecomment-3445926724
Commit: f7585adc94e87e0e32161be5a07d03927b6ce1a7
https://github.com/llvm/llvm-project/commit/f7585adc94e87e0e32161be5a07d03927b6ce1a7
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-copy-phys-zero-reg.mir
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing-gpr.ll
Log Message:
-----------
[AArch64] Widen GPR32 zero cycle zeroing (#164244)
Given a GPR32 zeroing instruction, if the target supports zero cycle
zeroing for GPR64 but not for GPR32, widen the instruction to 64 bit
`$xn = MOVZXi 0, 0` instead of writing to `$wn` to exploit zero cycle
zeroing.
It also aligns naming in the generic zeroing test.
Commit: 7be3cac735b272ffa9b89e36c8c7b7a5d333cf40
https://github.com/llvm/llvm-project/commit/7be3cac735b272ffa9b89e36c8c7b7a5d333cf40
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
M llvm/lib/Target/X86/X86.h
Log Message:
-----------
[X86] Move x86 specific create*Pass Functions to X86.h
There are no other target specific passes in Passes.h and these really
belong inside x86.h to be consistent with other targets.
Reviewers: arsenm, phoebewang, RKSimon, topperc
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/165075
Commit: 59e601a3d5e7669fdf809b9c6494e6f877ea5cd8
https://github.com/llvm/llvm-project/commit/59e601a3d5e7669fdf809b9c6494e6f877ea5cd8
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-base.ll
Log Message:
-----------
[CodeGenPrepare] Don't simplify incomplete expression tree in AddrModeCombine (#164628)
Since new select/phi instructions may construct loops, the expression
tree to be simplified may still be incomplete (i.e., it may contain
select with dummy values or phi without incoming values). This patch
removes the call to simplifyInstruction for now, as it doesn't break
existing tests.
Original PR: https://reviews.llvm.org/D36073
Fix the crash reported in
https://github.com/llvm/llvm-project/pull/163453#issuecomment-3429922732.
Commit: f248010a5233e726f6ab1767c09cd582057a6413
https://github.com/llvm/llvm-project/commit/f248010a5233e726f6ab1767c09cd582057a6413
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
M mlir/test/Conversion/AMDGPUToROCDL/mfma.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][amdgpu] Update mfma assembly format with intrinsic shape (#165037)
Use the same format as introduced for wmma by
https://github.com/llvm/llvm-project/pull/164920.
Also make `blocks` default to 1.
Commit: 51fcb9d4daa73f7b62b065af4b4b23b6e8ceb090
https://github.com/llvm/llvm-project/commit/51fcb9d4daa73f7b62b065af4b4b23b6e8ceb090
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Upstream CallOp with ComplexType as return type (#164980)
Upstream support calling function that returns ComplexType
Issue https://github.com/llvm/llvm-project/issues/141365
Commit: b0658b1151a7dce63e7bc29b69037462c07c355e
https://github.com/llvm/llvm-project/commit/b0658b1151a7dce63e7bc29b69037462c07c355e
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.h
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
Log Message:
-----------
[CIR][NFC] Upstream EHPersonality for function (#164883)
Upstream the EHPersonality class for a function as a prerequisite for
working with the handlers
Issue #154992
Commit: f58aa0ec8b3523f3bdaa73964b809d6d54c42768
https://github.com/llvm/llvm-project/commit/f58aa0ec8b3523f3bdaa73964b809d6d54c42768
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
[ORC] Fix race when checking isComplete (#165063)
After #164340 there is a tsan race on `OutstandingSymbolsCount` when
decrementing it in `notifySymbolMetRequiredState` vs reading it in
`isComplete()`. Fix this by having `IL_emit` filter out non-completed
queries when it has the lock to do so, and that way we avoid needing to
call `isComplete()` later.
Commit: bbe92096bbcdfe9bdb47bf7ca42b17992ad94e74
https://github.com/llvm/llvm-project/commit/bbe92096bbcdfe9bdb47bf7ca42b17992ad94e74
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
M mlir/test/Dialect/AMDGPU/canonicalize.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][amdgpu] Update scaled_mfma assembly format with intrinsic shape (#165044)
Use the same format as introduced for wmma by
https://github.com/llvm/llvm-project/pull/164920 and for mfma by
https://github.com/llvm/llvm-project/pull/165037.
Commit: 9a0a1fadef0880e19c1c278486b4e79aa04e580f
https://github.com/llvm/llvm-project/commit/9a0a1fadef0880e19c1c278486b4e79aa04e580f
Author: Luo Yuanke <lyk_03 at hotmail.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[ISel] Use CallBase instead of CallInst (#164769)
This is to follow the discussion in
https://github.com/llvm/llvm-project/pull/164565
CallBase can cover more call-like instructions which carry caling
convention flag.
Co-authored-by: Yuanke Luo <ykluo at birentech.com>
Commit: 1d661a97a53b8f701fec8d3056f692c39ed12f6a
https://github.com/llvm/llvm-project/commit/1d661a97a53b8f701fec8d3056f692c39ed12f6a
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
Add Codegen/Hexagon/masked_gather.ll to profcheck-xfail (#165093)
Commit: b97835d09df36e91434c82db28cad7bbdd5b37b8
https://github.com/llvm/llvm-project/commit/b97835d09df36e91434c82db28cad7bbdd5b37b8
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
Add new MemorySanitizer test cases for AArch64 (#165094)
Commit: 881b001b07cc761dd9e92c0958f0231ea56298d8
https://github.com/llvm/llvm-project/commit/881b001b07cc761dd9e92c0958f0231ea56298d8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/lib/CodeGen/RegisterUsageInfo.cpp
Log Message:
-----------
[ADT] Make internal methods of DenseMap/SmallDenseMap private (NFC) (#165079)
This patch moves the init, copyFrom, and grow methods in DenseMap and
SmallDenseMap from public to private to hide implementation details.
The only problem is that PhysicalRegisterUsageInfo calls
DenseMap::grow instead of DenseMap::reserve, which I don't think is
intended. This patch updates the call to reserve.
Commit: d4612449e207e7841e3fd65c21443a6e24edd4c7
https://github.com/llvm/llvm-project/commit/d4612449e207e7841e3fd65c21443a6e24edd4c7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/unittests/ADT/DenseMapTest.cpp
Log Message:
-----------
[ADT] Skip DenseMapBase::destroyAll on trivially destructible types (#165080)
DenseMap::destroyAll currently iterates through the entire bucket
array to call destructors keys and values. We don't need to do that
if we know that both key and value types are trivially destructible,
meaning that the destructors are no-ops.
This patch introduces "constexpr if" at the beginning of destroyAll to
skip the rest of the function if both key and value types are
trivially destructible.
Commit: 7379100be637eeb72d732d8f174a3b01d22532e3
https://github.com/llvm/llvm-project/commit/7379100be637eeb72d732d8f174a3b01d22532e3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/Support/Recycler.h
Log Message:
-----------
[Support] Consolidate the two implementations of Recycler::clear (NFC) (#165081)
This patch consolidates the two implementations of Recycler::clear
with "if constexpr" for simplicity.
Commit: 84857775b76f7e27096d9ac311b378f99a8442c7
https://github.com/llvm/llvm-project/commit/84857775b76f7e27096d9ac311b378f99a8442c7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.h
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/ARM/ARMMachineFunctionInfo.h
M llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
M llvm/lib/Target/BPF/BPFAsmPrinter.h
M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
M llvm/lib/Target/BPF/BPFTargetLoweringObjectFile.h
M llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.h
M llvm/lib/Target/RISCV/RISCVConstantPoolValue.h
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
M llvm/lib/Target/SPIRV/SPIRVStripConvergentIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
M llvm/lib/Target/SystemZ/SystemZMachineScheduler.h
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.h
M llvm/lib/Target/VE/Disassembler/VEDisassembler.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
M llvm/lib/Target/X86/MCA/X86CustomBehaviour.h
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
M llvm/lib/Target/X86/X86MachineFunctionInfo.h
Log Message:
-----------
[Target] Add "override" where appropriate (NFC) (#165083)
Note that "override" makes "virtual" redundant.
Identified with modernize-use-override.
Commit: 09eea2256e5305e7527df61b2fc35f16410b63be
https://github.com/llvm/llvm-project/commit/09eea2256e5305e7527df61b2fc35f16410b63be
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
A llvm/test/Transforms/Attributor/range-and-constant-fold.ll
Log Message:
-----------
[Attributor] Check range size before constant fold load (#151359)
If the range size doesn't match the type size, it might read wrong data.
Commit: 059d90d08f610d5919c42646f267bbab77f7bee4
https://github.com/llvm/llvm-project/commit/059d90d08f610d5919c42646f267bbab77f7bee4
Author: Yunqing Yu <yunqingy at nvidia.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shuffle-vector.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shuffle-vector.s16.mir
Log Message:
-----------
[Legalizer] Cache extracted element when lowering G_SHUFFLE_VECTOR. (#163893)
Cache extracted elements in lowerShuffleVector(). For example, when
lowering
```
%0:_(<2 x s32>) = G_BUILD_VECTOR %0, %1
%2:_(<N x s32>) = G_SHUFFLE_VECTOR %1, shufflemask(0, 0, 0, 0 ... x N )
```
Currently, we generate `N` `G_EXTRACT_VECTOR_ELT` for each element in
shufflemask. This is undesirable and bloats the code, especially for
larger vectors.
With this change, we only generate one `G_EXTRACT_VECTOR_ELT` from `%0`
and reuse it for all four result elements.
Commit: 05c495de132f7609537686f60f312059ea70b4a6
https://github.com/llvm/llvm-project/commit/05c495de132f7609537686f60f312059ea70b4a6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/Support/SpecialCaseList.h
M llvm/lib/Support/SpecialCaseList.cpp
Log Message:
-----------
[SpecialCaseList] Filtering Globs with matching prefix and suffix (#164543)
This commit enhances the `SpecialCaseList::GlobMatcher` to filter globs
more efficiently by considering both prefixes and suffixes.
Previously, the `GlobMatcher` used a `RadixTree` to store globs based
on their prefixes. This allowed for quick lookup of potential matches
by matching the query string's prefix against the stored prefixes.
However, for globs with common prefixes but different suffixes,
unnecessary glob matching attempts could still occur.
This change introduces a nested `RadixTree` structure:
`PrefixSuffixToGlob: RadixTree<Prefix, RadixTree<Suffix, Globs>>`.
Now, when a query string is matched, it first finds matching prefixes,
and then within those prefix matches, it further filters by matching
the reversed suffix of the query string against the reversed suffixes
of the globs. This significantly reduces the number of `Glob::match`
calls, especially for large special case lists with many globs sharing
common prefixes but differing in their suffixes.
According to SpecialCaseListBM:
Lookup benchmarks (significant improvements):
```
OVERALL_GEOMEAN -0.5815
```
Lookup `*suffix` and `prefix*suffix` like benchmarks (huge
improvements):
```
OVERALL_GEOMEAN -0.9316
```
https://gist.github.com/vitalybuka/e586751902760ced6beefcdf0d7b26fd
Commit: 5113ca0f43a5ce071b462e9f62ebedfa728525be
https://github.com/llvm/llvm-project/commit/5113ca0f43a5ce071b462e9f62ebedfa728525be
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[clang] Proofread LanguageExtensions.rst (#165082)
Commit: 7b9cf0fe8d7bd77cd5d6747cfed6ecdded64fca3
https://github.com/llvm/llvm-project/commit/7b9cf0fe8d7bd77cd5d6747cfed6ecdded64fca3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/Bitfields.h
Log Message:
-----------
[ADT] Tighten static_assert in Bitfields (#165099)
This patch tightens the static_assert. FirstBit and LastBit are
0-based bit indices of a bitfield, so they must be strictly less than
StorageBits.
Commit: e510797700fb53d114371ad18084bce11fdfafc0
https://github.com/llvm/llvm-project/commit/e510797700fb53d114371ad18084bce11fdfafc0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/ConcurrentHashtable.h
Log Message:
-----------
[ADT] Use std::scoped_lock in ConcurrentHashtable (NFC) (#165100)
This patch uses std::scoped_lock to ensure the mutex is released via
RAII, improving robustness.
Commit: c3a4093dae316c0c4cf71bf965c3f6a99a8476d8
https://github.com/llvm/llvm-project/commit/c3a4093dae316c0c4cf71bf965c3f6a99a8476d8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Consolidate copyFrom in DenseMap.h (NFC) (#165101)
DenseMap.h has:
- DenseMapBase::copyFrom
- DenseMap::copyFrom
- SmallDenseMap::copyFrom
The latter two clear and set up the storage again before delegating
DenseMapBase::copyFrom to do the actual work of copying buckets.
This patch consolidates all these into DenseMapBase::copyFrom while
eliminating name shadowing concerns. Note that DenseMap::copyFrom and
SmallDenseMap::copyFrom are nearly identical, and they can be made
identical with small adjustments:
- Set NumEntries and NumTombstones to 0 unconditionally.
- Teach SmallDenseMap::allocateBuckets to always return true.
This patch essentially applies these adjustments and then "inlines"
the identical function body to the beginning of
DenseMapBase::copyFrom.
This patch de-templatizes DenseMapBase::copyFrom because nobody calls
it with any type other than DerivedT.
Commit: e4909203feb2f6f4eccb42ed148cc39cedd5b524
https://github.com/llvm/llvm-project/commit/e4909203feb2f6f4eccb42ed148cc39cedd5b524
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Remove KeyInfoT forwarders in DenseMap.h (NFC) (#165102)
This patch removes getEmptyKey, getTombstoneKey, and getHashValue from
DenseMapBase. These forwarder methods do not really encapsulate
KeyInfoT. Many of their callers already mention KeyInfoT::isEqual for
example.
An existing static_assert is moved to another method. Note that it
must live in a method for type completeness reasons.
Commit: 9458ecd298a6d445ade80e750cbbfb89da0e0d5f
https://github.com/llvm/llvm-project/commit/9458ecd298a6d445ade80e750cbbfb89da0e0d5f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Move shrink_and_clear to DenseMapBase (NFC) (#165103)
Without this patch, DenseMap and SmallDenseMap have distinct
implementations of shrink_and_clear. These implementations mix a
common high-level algorithm with class-specific logic.
This patch moves the common algorithm into
DenseMapBase::shrink_and_clear. A new private helper,
planShrinkAndClear, now handles the class-specific logic for deciding
whether to shrink the buffer. The base class method now serves as the
single public entry point.
Commit: fd804f076d117bc1d0a8751ef7ad44132a03453e
https://github.com/llvm/llvm-project/commit/fd804f076d117bc1d0a8751ef7ad44132a03453e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/docs/CIBestPractices.rst
Log Message:
-----------
[CI][Github] Add Fully Qualified Container Names to Best Practices (#165067)
Based on some recent discussion in #162007. Documenting this in the best
practices page so we have something easy to point to in code
review/reference for ourselves now that the repository has been cleaned
up.
Commit: 5d0f1591f8b91ac7919910c4e3e9614a8804c02a
https://github.com/llvm/llvm-project/commit/5d0f1591f8b91ac7919910c4e3e9614a8804c02a
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/ARM/load-combine-big-endian.ll
M llvm/test/CodeGen/ARM/load-combine.ll
Log Message:
-----------
[DAGCombine] Improve bswap lowering for machines that support bit rotates (#164848)
Source: Hacker's delight.
Commit: b35c93ffe392cb41e24a6aa5fa6f1ae6999aa98f
https://github.com/llvm/llvm-project/commit/b35c93ffe392cb41e24a6aa5fa6f1ae6999aa98f
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M bolt/lib/Passes/BinaryPasses.cpp
Log Message:
-----------
[BOLT] Avoid extra function dump on invalid BBs found by UCE (NFC) (#165111)
Commit: 57828a6d5de0be08b36382833aa2a6737f5d63a2
https://github.com/llvm/llvm-project/commit/57828a6d5de0be08b36382833aa2a6737f5d63a2
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Lex/LiteralSupport.cpp
M llvm/lib/CodeGen/TargetOptionsImpl.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/tools/llvm-cov/llvm-cov.cpp
M llvm/unittests/ADT/StringSwitchTest.cpp
Log Message:
-----------
[ADT] Prepare for deprecation of StringSwitch cases with 3+ args. NFC. (#165112)
Update `.Cases` and `.CasesLower` with 4+ args to use the
`initializer_list` overload. The deprecation of these functions will
come in a separate PR.
For more context, see: https://github.com/llvm/llvm-project/pull/163405.
Commit: d748a1276c0b21df136984e03776186c4bf5df15
https://github.com/llvm/llvm-project/commit/d748a1276c0b21df136984e03776186c4bf5df15
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/docs/Reference.rst
Log Message:
-----------
[Docs] Add CIBestPractices docs link to Reference.rst (#165108)
Based on
https://github.com/llvm/llvm-project/pull/165067#issuecomment-3446142541.
Commit: d020b2da5419ba6780e77b8543dad51df8fbcf0e
https://github.com/llvm/llvm-project/commit/d020b2da5419ba6780e77b8543dad51df8fbcf0e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Move isSingleScalar implementation to VPlanUtils.cpp (NFC)
Move the implementation of vputils::isSingleScalar to VPlanUtils.cpp to
enable code sharing.
Commit: f03ccef45f84b4e947ffc93dc5a6f87a827fddf3
https://github.com/llvm/llvm-project/commit/f03ccef45f84b4e947ffc93dc5a6f87a827fddf3
Author: Brad Smith <brad at comstyle.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/builtins/assembly.h
M libunwind/src/assembly.h
M libunwind/src/shadow_stack_unwind.h
Log Message:
-----------
[compiler-rt][libunwind] Allow for CET on OpenBSD (#164341)
Commit: 5a6c236e0f47986c816b89389dc5dc08a83a63b7
https://github.com/llvm/llvm-project/commit/5a6c236e0f47986c816b89389dc5dc08a83a63b7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/RadixTree.h
Log Message:
-----------
[ADT] Remove #include <limits> in RadixTree.h (NFC) (#165115)
RadixTree.h does not use anything from <limits>.
Commit: 5d23610ed59c816bf0977554eb9aadc6b4d95180
https://github.com/llvm/llvm-project/commit/5d23610ed59c816bf0977554eb9aadc6b4d95180
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/ScopedHashTable.h
Log Message:
-----------
[ADT] Fix a comment in ScopedHashTable (#165116)
This patch replaces "typedef" with "type alias" in the comment while
making it more concise.
Commit: 378d5ea2900608f636914826bbeb836c9eaeb249
https://github.com/llvm/llvm-project/commit/378d5ea2900608f636914826bbeb836c9eaeb249
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/MachO.h
M llvm/include/llvm/Remarks/RemarkLinker.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/Target/ARM/ARMConstantPoolValue.h
M llvm/lib/Target/X86/X86DomainReassignment.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/RegisterBankEmitter.cpp
Log Message:
-----------
[llvm] Use iterator_range<T>(Container &&) (NFC) (#165117)
This patch simplifies construction of iterator_range<T> by using:
iterator_range<T>(Container &&)
instead of:
iterator_range<T>(T begin_iterator, T end_iterator)
Commit: e219cf60598c2c133a29170f7a9f9e793e429cc2
https://github.com/llvm/llvm-project/commit/e219cf60598c2c133a29170f7a9f9e793e429cc2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/include/llvm/Support/DataExtractor.h
Log Message:
-----------
[Support] Modernize Uint24 in DataExtractor.h (NFC) (#165118)
We can use brace initializer lists to simplify constructors.
Commit: 41bb6ed8827a8d170456026f6becd638efaea7f6
https://github.com/llvm/llvm-project/commit/41bb6ed8827a8d170456026f6becd638efaea7f6
Author: Nicholas Junge <nicholas.junge at web.de>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M mlir/docs/Bindings/Python.md
Log Message:
-----------
[mlir][docs] Migrate code examples to nanobind, make Python spelling … (#163933)
…consistent
Since the bindings now use nanobind, I changed the code examples and
mentions in the documentation prose to mention nanobind concepts and
symbols wherever applicable.
I also made the spelling of "Python" consistent by choosing the
uppercase name everywhere that's not an executable name, part of a URL,
or directory name.
----------------
Note that I left mentions of `PybindAdaptors.h` in because of
https://github.com/llvm/llvm-project/pull/162309.
Are there any thoughts about adding a virtual environment setup guide
using [uv](https://docs.astral.sh/uv/)? It has gotten pretty popular,
and is much faster than a "vanilla" Python pip install. It can also
bootstrap an interpreter not present on the user's machine, for example
a free-threaded Python build, with the `-p` flag to the `uv venv`
virtual environment creation command.
Commit: 3526bb099e79b1217bb8afbf9403b11528c384a6
https://github.com/llvm/llvm-project/commit/3526bb099e79b1217bb8afbf9403b11528c384a6
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
M clang/lib/AST/CommentSema.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp
M clang/unittests/Driver/MultilibBuilderTest.cpp
M clang/unittests/Driver/MultilibTest.cpp
M lld/Common/DriverDispatcher.cpp
M lldb/source/Host/common/File.cpp
M lldb/source/Host/common/Socket.cpp
M llvm/include/llvm/ADT/StringSwitch.h
Log Message:
-----------
[ADT] Deprecate StringSwitch Cases with 3+ args. NFC. (#165119)
Suggest the `initializer_list` overload instead.
3+ args is an arbitrary number that allows for incremental depreciation
without having to update too many call sites.
For more context, see https://github.com/llvm/llvm-project/pull/163117.
Commit: bba6bc671b23ee10212efd6d6cf8cbfa21410105
https://github.com/llvm/llvm-project/commit/bba6bc671b23ee10212efd6d6cf8cbfa21410105
Author: Vincent Palatin <vpalatin at users.noreply.github.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M lldb/cmake/modules/FindLuaAndSwig.cmake
M lldb/test/API/lua_api/TestLuaAPI.py
Log Message:
-----------
[lldb][test] skip Lua tests when the Lua interpreter is not found (#164793)
When SWIG is installed but not any Lua interpreter, the cmake script in
`lldb/cmake/modules/FindLuaAndSwig.cmake` will execute
`find_program(LUA_EXECUTABLE, ...)` and this will set the
`LUA_EXECUTABLE` variable to `LUA_EXECUTABLE-NOTFOUND`.
Ensure that in this case we are skipping the Lua tests requiring the
interpreter.
Commit: c8f5c602c897d2345c1cfd8d886c1325598dbdc6
https://github.com/llvm/llvm-project/commit/c8f5c602c897d2345c1cfd8d886c1325598dbdc6
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/test/CodeGen/PowerPC/DisableHoistingDueToBlockHotnessProfileData.mir
M llvm/test/CodeGen/PowerPC/NoCRFieldRedefWhenSpillingCRBIT.mir
M llvm/test/CodeGen/PowerPC/aantidep-inline-asm-use.ll
M llvm/test/CodeGen/PowerPC/addrfuncstr.ll
M llvm/test/CodeGen/PowerPC/asm-constraints.ll
M llvm/test/CodeGen/PowerPC/asym-regclass-copy.ll
M llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs-R0-special-handling.mir
M llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs-out-of-range.mir
M llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs.mir
M llvm/test/CodeGen/PowerPC/cr-spills.ll
M llvm/test/CodeGen/PowerPC/crypto_bifs.ll
M llvm/test/CodeGen/PowerPC/ctr-cleanup.ll
M llvm/test/CodeGen/PowerPC/ctrloop-do-not-duplicate-mi.mir
M llvm/test/CodeGen/PowerPC/ctrloop-intrin.ll
M llvm/test/CodeGen/PowerPC/div-e-32.ll
M llvm/test/CodeGen/PowerPC/div-e-all.ll
M llvm/test/CodeGen/PowerPC/extra-toc-reg-deps.ll
M llvm/test/CodeGen/PowerPC/fma-mutate-duplicate-vreg.ll
M llvm/test/CodeGen/PowerPC/frameaddr.ll
M llvm/test/CodeGen/PowerPC/glob-comp-aa-crash.ll
M llvm/test/CodeGen/PowerPC/ifcvt-forked-bug-2016-08-08.ll
M llvm/test/CodeGen/PowerPC/isel-rc-nox0.ll
M llvm/test/CodeGen/PowerPC/lxv-aligned-stack-slots.ll
M llvm/test/CodeGen/PowerPC/mc-instrlat.ll
M llvm/test/CodeGen/PowerPC/negctr.ll
M llvm/test/CodeGen/PowerPC/ppc-empty-fs.ll
M llvm/test/CodeGen/PowerPC/ppc32-lshrti3.ll
M llvm/test/CodeGen/PowerPC/pr17168.ll
M llvm/test/CodeGen/PowerPC/pr17354.ll
M llvm/test/CodeGen/PowerPC/pr18663-2.ll
M llvm/test/CodeGen/PowerPC/pr24546.ll
M llvm/test/CodeGen/PowerPC/pr27350.ll
M llvm/test/CodeGen/PowerPC/pr28130.ll
M llvm/test/CodeGen/PowerPC/reloc-align.ll
M llvm/test/CodeGen/PowerPC/rlwinm_rldicl_to_andi.mir
M llvm/test/CodeGen/PowerPC/setcr_bc.mir
M llvm/test/CodeGen/PowerPC/setcr_bc2.mir
M llvm/test/CodeGen/PowerPC/sink-down-more-instructions-1.mir
M llvm/test/CodeGen/PowerPC/sink-down-more-instructions-regpressure-high.mir
M llvm/test/CodeGen/PowerPC/sjlj.ll
M llvm/test/CodeGen/PowerPC/stwu-sched.ll
M llvm/test/CodeGen/PowerPC/toc-load-sched-bug.ll
M llvm/test/CodeGen/PowerPC/unal4-std.ll
M llvm/test/CodeGen/PowerPC/uwtables.ll
M llvm/test/CodeGen/PowerPC/zero-not-run.ll
Log Message:
-----------
[test][PowerPC] Remove unsafe-fp-math uses (NFC) (#164817)
Post cleanup for #164534.
Commit: c05ce9b0057c9b1413bee964bb2d400ffbddede5
https://github.com/llvm/llvm-project/commit/c05ce9b0057c9b1413bee964bb2d400ffbddede5
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/test/python/ir/operation.py
Log Message:
-----------
[MLIR][Python] fix getOwner to return (typed) nb::object instead of abstract PyOpView (#165053)
https://github.com/llvm/llvm-project/pull/157930 changed `nb::object
getOwner()` to `PyOpView getOwner()` which implicitly constructs the
generic OpView against from a (possibly) concrete OpView. This PR fixes
that.
Commit: 5dcf82d3da1ff449ca3b19aed56a76112ae6c735
https://github.com/llvm/llvm-project/commit/5dcf82d3da1ff449ca3b19aed56a76112ae6c735
Author: Slava Gurevich <sgurevich at gmail.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/IterationGraphSorter.cpp
Log Message:
-----------
[MLIR] Fix use-after-move for DEBUG builds, and broken assert logic. (#164763)
These issues affect only Debug builds, and Release builds with asserts
enabled.
1. In `SparseTensor.h` a variable is moved-from within an assert,
introducing a side effect that alters its subsequent use, and causes
divergence between Debug and Release builds (with asserts disabled).
2. In `IterationGraphSorter.cpp`, the class constructor arguments are
moved-from to initialize class member variables via the initializer
list. Because both the arguments and class members are identically
named, there's a naming collision where the arguments shadow their
identically-named member variables counterparts inside the constructor
body. In the original code, unqualified names inside the asserts,
referred to the constructor arguments. This is wrong, because these have
already been moved-from. It's not just a UB, but is broken. These
SmallVector types when moved-from are reset i.e. the size resets to 0.
This actually renders the affected asserts ineffective, since the
comparisons operate on two hollowed-out objects and always succeed. This
name ambiguity is fixed by using 'this->' to correctly refer to the
initialized member variables carrying the relevant state.
3. While the fix 2 above made the asserts act as intended, it also
unexpectedly broke one mlir test: `llvm-lit -v
mlir/test/Dialect/SparseTensor/sparse_scalars.mlir` This required fixing
the assert logic itself, which likely has never worked and went
unnoticed all this time due to the bug 2. Specifically, in the failing
test that uses `mlir/test/Dialect/SparseTensor/sparse_scalars.mlir` the
'%argq' of 'ins' is defined as 'f32' scalar type, but the original code
inside the assert had no support for scalar types as written, and was
breaking the test.
Testing:
```
ninja check-mlir
llvm-lit -v mlir/test/Dialect/SparseTensor/sparse_scalars.mlir
```
Commit: 42bba7fc7a21d2b68933bbc98deb1ee52bbfe2eb
https://github.com/llvm/llvm-project/commit/42bba7fc7a21d2b68933bbc98deb1ee52bbfe2eb
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M clang/test/Driver/config-file3.c
M clang/test/Driver/config-zos.c
M clang/test/Driver/config-zos1.c
M clang/test/Modules/crash-vfs-path-symlink-component.m
M clang/test/Modules/crash-vfs-path-traversal.m
M clang/test/Modules/crash-vfs-relative-overlay.m
Log Message:
-----------
[Clang] Reenable Tests on SystemZ/AIX Using env -u (#164816)
These were disabled when adjusting tests to work with the internal shell
because the implementation on these systems of env did not support the
-u option. Now that we have switched to the internal shell and env -u is
implemented internally, these tests should work again.
Commit: 7ebc3dbe8bbf1f7a6ae5af531d02dcfe745d92ef
https://github.com/llvm/llvm-project/commit/7ebc3dbe8bbf1f7a6ae5af531d02dcfe745d92ef
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/M68k/M68kTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
Log Message:
-----------
[llvm] Make getEffectiveRelocModel helper consistent across targets. NFC (#165121)
- On targets that don't require the Triple, don't pass it.
- Use `.value_or` to where possible.
Commit: e246fffb253c3ed9a2c0b4a71ef33d97c7b5629c
https://github.com/llvm/llvm-project/commit/e246fffb253c3ed9a2c0b4a71ef33d97c7b5629c
Author: Congzhe <congzhe.cao at huawei.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
A llvm/test/Transforms/InstCombine/select_with_identical_phi.ll
Log Message:
-----------
Reland "[InstructionSimplify] Enhance simplifySelectInst() (#163453)" (#164694)
This reverts commit f1c1063.
PR #163453 was merged and reverted since it exposed a crash.
After investigation the crash was unrelated and is then fixed in #164628.
This is an attempt to reland #163453.
Commit: cd27741c1111f8a97af5fbca4153fa94f50ed9f3
https://github.com/llvm/llvm-project/commit/cd27741c1111f8a97af5fbca4153fa94f50ed9f3
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Remove CreatePastEnd parameter in getOrCreateLocalLabel(). NFC (#165065)
CreatePastEnd parameter had no effect on the label creation. Remove it.
Commit: 792c65c39f9ecf0d1bb36e846583470c492b3fca
https://github.com/llvm/llvm-project/commit/792c65c39f9ecf0d1bb36e846583470c492b3fca
Author: Amara Emerson <amara at apple.com>
Date: 2025-10-25 (Sat, 25 Oct 2025)
Changed paths:
M llvm/lib/MC/MCParser/AsmLexer.cpp
A llvm/test/MC/AsmParser/comments-x86-darwin-eol-dropped.s
Log Message:
-----------
[MC] Fix accidentally eating the newline when handling a comment char at the end of the line. (#165129)
If we have a target where both # and ## are valid comment strings,
a line ending in # would trigger the lexer to eat 2 characters
and therefore lex the _next_ line as a comment. Oops. This was introduced
in 4946db15a74b761c5ac4ead18873639236b4ab5d
rdar://162635338
Commit: ff48353aaeb51a5c3ccf6720de9e756c1270ad2f
https://github.com/llvm/llvm-project/commit/ff48353aaeb51a5c3ccf6720de9e756c1270ad2f
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M clang/lib/Interpreter/Interpreter.cpp
Log Message:
-----------
[clang-repl] Use RegisterPTU for tracking generated TranslationUnitDecl through parse (#164778)
Instead of manually creating and adding a PTU, we should be able to use
`RegisterPTU` which does the same job here.
Commit: 63b83ea213878acde020fc8923ee65f42727009e
https://github.com/llvm/llvm-project/commit/63b83ea213878acde020fc8923ee65f42727009e
Author: Pietro Albini <emily at oxidecomputer.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/docs/Security.rst
Log Message:
-----------
Update company affiliation (#165003)
Recently switched jobs. In practice this doesn't change much since I'm
still in the security group to represent Rust, but I'm updating the
actual company I work for to keep the list up to date.
Commit: be29f0dd86d1b2ae98fbc2de2a2b1dcd974871f9
https://github.com/llvm/llvm-project/commit/be29f0dd86d1b2ae98fbc2de2a2b1dcd974871f9
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/multiple-result-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
Log Message:
-----------
[LV]: Improve accuracy of calculating remaining iterations of MainLoopVF (#156723)
Transform TC and VF to same numerical space when they are different.
Commit: 3ebc935c24a352d5b82a65b9f1ef66661311056d
https://github.com/llvm/llvm-project/commit/3ebc935c24a352d5b82a65b9f1ef66661311056d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/ImmutableSet.h
Log Message:
-----------
[ADT] Simplify control flow in ImmutableSet (NFC) (#165133)
A conventional "if" statement is easier to read than the
do-while(false) pattern used here.
Commit: b153e01f83ffbfb929734bb450e34d27bea2b789
https://github.com/llvm/llvm-project/commit/b153e01f83ffbfb929734bb450e34d27bea2b789
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/lib/Support/LSP/Protocol.cpp
Log Message:
-----------
[Support] Simplify control flow in percentDecode (NFC) (#165134)
The "if" statement being removed in this patch is identical to the
"else" clause.
Commit: c6b4ef196ae751679356c0e7d5bc4cec55fd6999
https://github.com/llvm/llvm-project/commit/c6b4ef196ae751679356c0e7d5bc4cec55fd6999
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/include/llvm/MC/MCDXContainerWriter.h
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/include/llvm/MC/MCGOFFObjectWriter.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCWasmObjectWriter.h
M llvm/include/llvm/MC/MCWinCOFFObjectWriter.h
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/unittests/MC/SystemZ/SystemZMCDisassemblerTest.cpp
M llvm/unittests/MC/X86/X86MCDisassemblerTest.cpp
Log Message:
-----------
[MC] Add "override" where appropriate (NFC) (#165135)
Note that "override" makes "virtual" redundant.
Identified with modernize-use-override.
Commit: 4732ab5083dc10f3fc9abf259dde3378a0c95278
https://github.com/llvm/llvm-project/commit/4732ab5083dc10f3fc9abf259dde3378a0c95278
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M libcxx/cmake/caches/Armv7Arm.cmake
M libcxx/cmake/caches/Armv7Thumb-no-exceptions.cmake
M libcxx/cmake/caches/Armv8Arm.cmake
M libcxx/cmake/caches/Armv8Thumb-no-exceptions.cmake
M libcxx/cmake/caches/Generic-hardening-mode-debug.cmake
M libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
M libcxx/cmake/caches/Generic-hardening-mode-fast-with-abi-breaks.cmake
M libcxx/cmake/caches/Generic-hardening-mode-fast.cmake
M libcxx/cmake/caches/Generic-merged.cmake
M libcxx/cmake/caches/Generic-msan.cmake
M libcxx/cmake/caches/Generic-optimized-speed.cmake
M libcxx/cmake/caches/Generic-static.cmake
M libcxx/cmake/caches/Generic-tsan.cmake
M libcxx/cmake/caches/Generic-ubsan.cmake
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
M libcxx/include/__flat_set/flat_multiset.h
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.non_unique.pass.cpp
M libcxx/test/libcxx/utilities/utility/__murmur2_or_cityhash.abi-v2.pass.cpp
M libcxx/test/std/iterators/iterator.container/ssize.LWG3207.compile.pass.cpp
Log Message:
-----------
[libc++] Enable Clang modules in most of the CI runs (#160251)
Enabling modules makes the CI quite a bit faster with basically no
downsides. The non-modules build is still tested through the
`generic-cxxab` configurations, but most of the other CI runs on
platforms with modules support now use modules.
Commit: ce61550d5a72a2b33f8fe6c052f919cf895aa6e6
https://github.com/llvm/llvm-project/commit/ce61550d5a72a2b33f8fe6c052f919cf895aa6e6
Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/x86.c
Log Message:
-----------
[compiler-rt] Restore unsigned value in struct, use enum only in function (#165048)
Typed enums are c23 features and are too new to be used. This PR
restores the types in the `__processor_model` struct back to `unsigned
int`, removes typed enums, and uses the enum in the function as a
variable that's later assigned to a struct in order to prevent errors
fixed initially here: #164713
See https://github.com/llvm/llvm-project/pull/165034 for more background
Commit: f767f231e8ba0cb53d9dbadba3e9c75138f03f09
https://github.com/llvm/llvm-project/commit/f767f231e8ba0cb53d9dbadba3e9c75138f03f09
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M clang/test/ClangScanDeps/resource_directory.c
M clang/test/Driver/baremetal-multilib-custom-error.yaml
M clang/test/Frontend/absolute-paths-symlinks.c
M clang/test/Tooling/clang-check-pwd.cpp
Log Message:
-----------
[Clang] Drop Shell Requirements (#165149)
These are basically synonymous with marking windows as an unsupported
platform at this point and should be removed in favor of such
annotations. Removing the remianing annotations which should further
unblock removing the feature altogether now that everything minus
compiler-rt is using the internal shell by default. These were missed
when making the tests compatible with the internal shell.
Commit: a7b188983fd804e05a15835c3f0df5fa7523c246
https://github.com/llvm/llvm-project/commit/a7b188983fd804e05a15835c3f0df5fa7523c246
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-reused-with-bv-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/entry-no-bundle-but-extra-use-on-vec.ll
A llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-extern-use.ll
M llvm/test/Transforms/SLPVectorizer/X86/parent-node-non-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/X86/same-last-instruction-different-parents.ll
Log Message:
-----------
[SLP]Consider non-inst operands, when checking insts, used outside only
If the instructions in the node do not require scheduling and used
outside basic block only, still need to check, if their operands are
non-inst too. Such nodes should be emitted in the beginning of the
block.
Fixes #165151
Commit: abdef44814e8b6916107840a4aecf4cd085770ba
https://github.com/llvm/llvm-project/commit/abdef44814e8b6916107840a4aecf4cd085770ba
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M clang/docs/ClangOffloadBundler.rst
Log Message:
-----------
[clang] Proofread ClangOffloadBundler.rst (#165136)
Commit: 160b72787cde6e9c0964cd1751af77e20696889b
https://github.com/llvm/llvm-project/commit/160b72787cde6e9c0964cd1751af77e20696889b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
Log Message:
-----------
[CodeGen] Use DenseMap::try_emplace (NFC) (#165165)
With try_emplace, we can pass the key and the arguments for the
value's constructor, which is a lot shorter than:
Map.insert(std::make_pair(Key, ValueType(Arg1, Arg2)))
Commit: fb27f4f9c32231712097d93e0359947a2faab5e0
https://github.com/llvm/llvm-project/commit/fb27f4f9c32231712097d93e0359947a2faab5e0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/docs/YamlIO.rst
Log Message:
-----------
[llvm] Use "static constexpr bool flow" in YamlIO.rst (#165166)
In C++17, we should use "static constexpr bool" instead of
"static const bool" for class-scope constants for for better
compile-time evaluation and checks.
Commit: 042ac912b1e28784ddecb19c690561cc413f53d1
https://github.com/llvm/llvm-project/commit/042ac912b1e28784ddecb19c690561cc413f53d1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/include/llvm/Analysis/DDG.h
M llvm/include/llvm/Analysis/InteractiveModelRunner.h
M llvm/include/llvm/Analysis/MLInlineAdvisor.h
M llvm/include/llvm/Analysis/ReleaseModeModelRunner.h
M llvm/include/llvm/Analysis/StackSafetyAnalysis.h
M llvm/include/llvm/DWARFCFIChecker/DWARFCFIFunctionFrameAnalyzer.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
M llvm/include/llvm/Debuginfod/BuildIDFetcher.h
M llvm/include/llvm/IR/DroppedVariableStatsIR.h
M llvm/include/llvm/IR/OptBisect.h
M llvm/include/llvm/MCA/HardwareUnits/LSUnit.h
M llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h
M llvm/include/llvm/MCA/HardwareUnits/Scheduler.h
M llvm/include/llvm/MCA/View.h
M llvm/include/llvm/ObjCopy/ConfigManager.h
M llvm/include/llvm/Object/GOFFObjectFile.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/include/llvm/SandboxIR/BasicBlock.h
M llvm/include/llvm/SandboxIR/PassManager.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/XRay/FDRRecords.h
M llvm/include/llvm/XRay/FDRTraceWriter.h
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.h
M llvm/lib/ObjectYAML/GOFFEmitter.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-statistics.cpp
M llvm/tools/llvm-mca/Views/InstructionView.h
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/unittests/ADT/TrieRawHashMapTest.cpp
M llvm/unittests/CAS/CASTestConfig.h
M llvm/unittests/SandboxIR/PassTest.cpp
M llvm/unittests/Support/ScopedPrinterTest.cpp
M llvm/unittests/Transforms/Utils/ValueMapperTest.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/GlobalISel/Patterns.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[llvm] Add "override" where appropriate (NFC) (#165168)
Note that "override" makes "virtual" redundant.
Identified with modernize-use-override.
Commit: 51427079f73df85716b1c63cf3a436a128b96188
https://github.com/llvm/llvm-project/commit/51427079f73df85716b1c63cf3a436a128b96188
Author: Shreeyash Pandey <shreeyash335 at gmail.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M libc/src/setjmp/x86_64/sigsetjmp.cpp
Log Message:
-----------
[libc] fix architecture guarding for 32bit sigsetjmp (#164923)
Fixes: https://github.com/llvm/llvm-project/issues/164653
Signed-off-by: Shreeyash Pandey <shreeyash335 at gmail.com>
Commit: 50a37c022626816614a9d7da0a69bb77045e9e05
https://github.com/llvm/llvm-project/commit/50a37c022626816614a9d7da0a69bb77045e9e05
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/lib/Support/APFloat.cpp
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
[llvm] Migrate away from a soft-deprecated constructor of APInt (NFC) (#165164)
We have:
/// Once all uses of this constructor are migrated to other
constructors,
/// consider marking this overload ""= delete" to prevent calls from
being
/// incorrectly bound to the APInt(unsigned, uint64_t, bool)
constructor.
LLVM_ABI APInt(unsigned numBits, unsigned numWords, const uint64_t
bigVal[]);
This patch migrates away from this soft-deprecated constructor.
Commit: 6cb942cec44e66c9507876ca09ce203c7722417a
https://github.com/llvm/llvm-project/commit/6cb942cec44e66c9507876ca09ce203c7722417a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/PDB/PDBTypes.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
Log Message:
-----------
[llvm] Remove argument_type in std::hash specializations (NFC) (#165167)
The argument_type and result_type type aliases in std::hash are
deprecated in C++17 and removed in C++20. This patch aligns two
specializations of ours with the C++ standard.
Commit: c197718cdfb87787bbc858f7b87223f9aad242ed
https://github.com/llvm/llvm-project/commit/c197718cdfb87787bbc858f7b87223f9aad242ed
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
AArch64: Reformat some debug printing blocks (#165178)
Add {} in LLVM_DEBUG for nicer clang-format handling.
Commit: 1fae9db3d5932f693c7430dbbe1b95f16288c101
https://github.com/llvm/llvm-project/commit/1fae9db3d5932f693c7430dbbe1b95f16288c101
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/sme-support-routines-calling-convention.ll
Log Message:
-----------
AArch64: Fix undefined behavior in sme calling convention test (#165183)
Mismatch of callsite and callee calling conventions
Commit: 3cb8a52e2d4f26373dfeb568707019784ebe0b43
https://github.com/llvm/llvm-project/commit/3cb8a52e2d4f26373dfeb568707019784ebe0b43
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/inbounds-gep-in-predicated-blocks.ll
Log Message:
-----------
[LAA] Add additional tests for #161445.
Add extra test variants for
https://github.com/llvm/llvm-project/pull/161445.
Commit: 279a81e240cb1f1633c1d800eb3705a5ba203dc7
https://github.com/llvm/llvm-project/commit/279a81e240cb1f1633c1d800eb3705a5ba203dc7
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/rvv/vle.ll
A llvm/test/CodeGen/RISCV/GlobalISel/rvv/vlm.ll
A llvm/test/CodeGen/RISCV/GlobalISel/rvv/vlse.ll
Log Message:
-----------
[RISCV][GISel] Support select vector load intrinsics (#160720)
Include unit-stride, strided and mask vector load intrinsics.
Commit: 57ba58d55843f3429e79f4086428a23dbf9375f6
https://github.com/llvm/llvm-project/commit/57ba58d55843f3429e79f4086428a23dbf9375f6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/version-mem-access.ll
Log Message:
-----------
[LV] Modernize version-mem-access.ll tests.
Auto-generate CHECK lines and simplify tests a bit.
Commit: 6b885c3e5859270d7f76af8ba7f25f9ddb1e809f
https://github.com/llvm/llvm-project/commit/6b885c3e5859270d7f76af8ba7f25f9ddb1e809f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
RuntimeLibcalls: Make sure _Unwind_Resume entries are mutually exclusive (#164195)
Commit: bbf5c410e10763e070063af0cb02ae46cf4056e9
https://github.com/llvm/llvm-project/commit/bbf5c410e10763e070063af0cb02ae46cf4056e9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
X86: Make sure compiler-rt div calls are not added for msvc (#164591)
The current predicate system is primitive, we ought to have
a way to list a chain of alternatives.
Commit: b549ea77640a8bc072b4d8e45840ae6e73f96d64
https://github.com/llvm/llvm-project/commit/b549ea77640a8bc072b4d8e45840ae6e73f96d64
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
ARM: Avoid adding default libcalls overridden by AEABI functions (#164983)
Avoids adding alternative libcall impls for the same libcall.
I'm not sure if the default names exist or not, or are just not
preferred. compiler-rt appears to define aliases for all of these,
so I'm not sure why we bother distinguishing these in the first place.
Commit: 0a34cbe51c388a7cf1d55e8a86276d0b01d2cf1e
https://github.com/llvm/llvm-project/commit/0a34cbe51c388a7cf1d55e8a86276d0b01d2cf1e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
Log Message:
-----------
AArch64: Use Register in FrameLowering (#165188)
Commit: 3dce567e44098e91d8409add5077c8733de64f53
https://github.com/llvm/llvm-project/commit/3dce567e44098e91d8409add5077c8733de64f53
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64BranchTargets.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
M llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
Log Message:
-----------
AArch64: Clean up some casts to target subclasses (#165189)
Prefer getSubtarget<AArch64>(). Also avoids one unnecessary
null check.
Commit: 3b8f63dcc9d831d84f75bebde28b0c0eb27b66ff
https://github.com/llvm/llvm-project/commit/3b8f63dcc9d831d84f75bebde28b0c0eb27b66ff
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Remove unused parameter in function (#164202)
82289aa refactored this function to not need this parameter.
Commit: 81de86123fcf376b3833fdb1448ceb7b74064383
https://github.com/llvm/llvm-project/commit/81de86123fcf376b3833fdb1448ceb7b74064383
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
A clang-tools-extra/clang-tidy/readability/RedundantTypenameCheck.cpp
A clang-tools-extra/clang-tidy/readability/RedundantTypenameCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-typename.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-typename-cxx98.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-typename.cpp
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
Log Message:
-----------
[clang-tidy] Add new check: `readability-redundant-typename` (#161574)
Closes #158374.
Commit: a61e016565409b6a6620422dd915e591ea75f998
https://github.com/llvm/llvm-project/commit/a61e016565409b6a6620422dd915e591ea75f998
Author: Wenju He <wenju.he at intel.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M libclc/clc/include/clc/integer/gentype.inc
M libclc/clc/lib/generic/integer/clc_abs.inc
Log Message:
-----------
[libclc] Implement integer __clc_abs using __builtin_elementwise_abs (#164957)
Previous implementation was cmp, select and @llvm.smax sequence in LLVM IR.
__CLC_GEN_U/__CLC_GEN_S is upstreamed from intel/llvm repo.
Commit: 0e28c9bc9d64625db8e4a1707720c9eecff069a4
https://github.com/llvm/llvm-project/commit/0e28c9bc9d64625db8e4a1707720c9eecff069a4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Transforms/LoopVectorize/version-mem-access.ll
Log Message:
-----------
[LAA] Skip undef/poison strides in collectStridedAccess.
The map returned by collectStridedAccess is used to replace strides with
their versioned values. This does not work for Undef/Poison, which don't
have use-lists. Don't try to version them, as versioning won't be useful in
practice.
Fixes https://github.com/llvm/llvm-project/issues/162922.
Commit: 133ac3ad3fe87f9b3c21748d3421e65977605756
https://github.com/llvm/llvm-project/commit/133ac3ad3fe87f9b3c21748d3421e65977605756
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/include/llvm/ADT/DirectedGraph.h
Log Message:
-----------
[ADT] Achieve the "Rule of Zero" in DGNode (#165190)
This patch achieves the "Rule of Zero" in DGNode by removing the
copy/move constructors and copy/move assignment operators.
Note that the code being deleted does a couple of unusual things that
are most likely oversight:
- The copy constructor with "explicit" is highly unusual. This means
that we allow "DGNode<N, E> A(B);" but disallow
"DGNode<N, E> A = B;".
- The move assignment operator with const r-value reference is also
unusual, especially given that the move constructor is correctly
implemented.
Commit: ee25edf2d2a701d31f0777b2a944f1fd130bc0a6
https://github.com/llvm/llvm-project/commit/ee25edf2d2a701d31f0777b2a944f1fd130bc0a6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/PDB/PDBTypes.h
Log Message:
-----------
[DebugInfo] Fold a namespace into a std::hash specialization (NFC) (#165191)
This patch folds "std" into the std::hash specialization so that the
template mentions std::hash. std::hash is much easier to recognize
than std and hash separated by a couple of lines.
Commit: 8983127af58d9a121775759ba5cf1d2d78d27e68
https://github.com/llvm/llvm-project/commit/8983127af58d9a121775759ba5cf1d2d78d27e68
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/include/llvm/Support/Program.h
Log Message:
-----------
[Support] Use "static constexpr" for a constant in ProcessInfo (NFC) (#165192)
Commit: 2bb95311ee3da1b2601bc6428b261e02fde464b9
https://github.com/llvm/llvm-project/commit/2bb95311ee3da1b2601bc6428b261e02fde464b9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/docs/YamlIO.rst
Log Message:
-----------
[llvm] Proofread YamlIO.rst (#165193)
Commit: f19bce31729c2931c43f0b054c28381c6b89f334
https://github.com/llvm/llvm-project/commit/f19bce31729c2931c43f0b054c28381c6b89f334
Author: Kazu Hirata <kazu at google.com>
Date: 2025-10-26 (Sun, 26 Oct 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
Log Message:
-----------
[AArch64] Remove an unused local variable (NFC) (#165194)
Commit: 1322e71f2baac9d7cfa77cfa5345bfffbff74cf7
https://github.com/llvm/llvm-project/commit/1322e71f2baac9d7cfa77cfa5345bfffbff74cf7
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M llvm/include/llvm/Support/SpecialCaseList.h
M llvm/lib/Support/SpecialCaseList.cpp
Log Message:
-----------
[SpecialCaseList] Add RadixTree for substring matching (#164545)
This commit adds a new RadixTree to `SpecialCaseList` for handling
substring matches. Previously, `SpecialCaseList` only supported prefix
and suffix matching. With this change, patterns that have neither
prefixes nor suffixes can now be efficiently filtered.
According to SpecialCaseListBM:
Lookup benchmarks (significant improvements):
```
OVERALL_GEOMEAN -0.7809
```
Lookup `*test*` like benchmarks (huge improvements):
```
OVERALL_GEOMEAN -0.9947
```
https://gist.github.com/vitalybuka/ee7f681b448eb18974386ab35e2d4d27
Commit: f8b004dd7bdbebb8377be03ad54ecaf55082273b
https://github.com/llvm/llvm-project/commit/f8b004dd7bdbebb8377be03ad54ecaf55082273b
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/DebugInfo/ObjC/property-synthesized-accessors.m
Log Message:
-----------
[clang][DebugInfo] Don't mark explicit parameter of synthesized ObjC property accessors artificial (#164998)
In the past we used to only mark variables artificial that were
`isImplicit`. We would also omit the location information if the
variable's parent was implicit. Since
https://github.com/llvm/llvm-project/pull/100355 we made the logic to
mark variables as artificial the same as determining whether to omit its
location or not. This was to support binding variable declarations,
which we would like to have line information for (and don't want to mark
artificial as they are explicitly named in source).
However, this doesn't quite do the expected for parameters of
Objective-C synthesised property accessors. An Objective-C setter will
have an explicit parameter, which is the ivar to write to. However,
because the parent (i.e., the synthesised method) is artificial, we now
mark that parameter artificial. This is example debug-info for such an
accessor:
```
0x00000118: DW_TAG_subprogram
DW_AT_low_pc (0x0000000000000044)
DW_AT_high_pc (0x0000000000000078)
DW_AT_frame_base (DW_OP_reg29 W29)
DW_AT_object_pointer (0x00000128)
DW_AT_specification (0x00000068 "-[Foo setFooProp:]")
0x00000128: DW_TAG_formal_parameter
DW_AT_location (DW_OP_fbreg -8)
DW_AT_name ("self")
DW_AT_type (0x00000186 "Foo *")
DW_AT_artificial (true)
0x00000131: DW_TAG_formal_parameter
DW_AT_location (DW_OP_breg31 WSP+16)
DW_AT_name ("_cmd")
DW_AT_type (0x0000018b "SEL")
DW_AT_artificial (true)
0x0000013a: DW_TAG_formal_parameter
DW_AT_location (DW_OP_breg31 WSP+8)
DW_AT_name ("fooProp")
DW_AT_type (0x000000aa "id")
DW_AT_artificial (true)
```
Note how the `fooProp` parameter is marked artificial, although it
technically is an explicitly passed parameter. We want to treat the
synthesised method like any other, where explicitly passed parameters
aren't artificial. But we do want to omit the file/line info because it
doesn't exist in the source.
This patch prevents such parameters from being marked artificial. We
could probably generalise this to any kind of synthesised method, not
just Objective-C. But I'm currently not aware of such synthesised
functions, so made it Objective-C specific for now for testability.
*Motivator*
Marking such parameters artificial makes LLDB fail to parse the ObjC
method and emit an error such as:
```
error: Foo.o [0x00000000000009d7]: invalid Objective-C method DW_TAG_subprogram (DW_TAG_subprogram), please file a bug and attach the file at the start of this error message
```
rdar://163063569
Commit: 29346628e90be9e196c7ff2e20c103432c526f7c
https://github.com/llvm/llvm-project/commit/29346628e90be9e196c7ff2e20c103432c526f7c
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M llvm/test/Transforms/SimplifyCFG/X86/switch-of-powers-of-two.ll
Log Message:
-----------
[SimplifyCFG] Precommit tests for PR161807 (NFC)
Commit: 00f5a1e30b1b2a28569c5aa24219518135d107d0
https://github.com/llvm/llvm-project/commit/00f5a1e30b1b2a28569c5aa24219518135d107d0
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-10-27 (Mon, 27 Oct 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/X86/switch-of-powers-of-two.ll
Log Message:
-----------
[SimplifyCFG] Extend `simplifySwitchOfPowersOfTwo` to reachable defaults
Favour a `cttz`-indexed table lookup over an indirect jump table when
the default switch case is reachable, by branching non-power-of-two
inputs to the default case.
Proofs: https://alive2.llvm.org/ce/z/HeRAtf.
Commit: de9e18dc75c432a59e94cecd0cab42909893123a
https://github.com/llvm/llvm-project/commit/de9e18dc75c432a59e94cecd0cab42909893123a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/ptrtoaddr.ll
Log Message:
-----------
[InstCombine] Handle ptrtoaddr in gep of pointer sub fold (#164818)
This extends the `ptradd x, ptrtoint(y) - ptrtoint(x)` to `y`
InstCombine fold to support ptrtoaddr. In the case where x and y have
the same underlying object, this is handled by InstSimplify already. If
the underlying object may differ, the replacement can only be performed
if provenance does not matter.
For pointers with non-address bits we need to be careful here, because
the pattern will return a pointer with the non-address bits of x and the
address bits of y. As such, uses in ptrtoaddr are safe to replace, but
uses in ptrtoint are not. Whether uses in icmp are safe to replace
depends on the outcome of the pending discussion on icmp semantics (I'll
adjust this in https://github.com/llvm/llvm-project/pull/163936 if/when
that lands).
Commit: bc37018a0bcd67d5fd8bfade51ecfd709498c45a
https://github.com/llvm/llvm-project/commit/bc37018a0bcd67d5fd8bfade51ecfd709498c45a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
A clang/test/AST/ByteCode/codegen-cxx20.cpp
Log Message:
-----------
[clang][bytecode] Fail on reads from constexpr-unknown pointers (#164996)
If they aren't const.
Fixes https://github.com/llvm/llvm-project/issues/164985
Commit: e86a42940a2c2c58ba5280ae2d54d58140a42875
https://github.com/llvm/llvm-project/commit/e86a42940a2c2c58ba5280ae2d54d58140a42875
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/mbarrier_arr.ll
A llvm/test/CodeGen/NVPTX/mbarrier_arr_relaxed.ll
A llvm/test/CodeGen/NVPTX/mbarrier_tx.ll
A llvm/test/CodeGen/NVPTX/mbarrier_wait_sm80_ptx70.ll
A llvm/test/CodeGen/NVPTX/mbarrier_wait_sm80_ptx71.ll
A llvm/test/CodeGen/NVPTX/mbarrier_wait_sm90_ptx78.ll
A llvm/test/CodeGen/NVPTX/mbarrier_wait_sm90_ptx80.ll
A llvm/test/CodeGen/NVPTX/mbarrier_wait_sm90_ptx86.ll
Log Message:
-----------
[NVPTX] Add missing mbarrier intrinsics (#164864)
This patch adds a few more mbarrier intrinsics,
completing support for all the mbarrier variants
up to Blackwell architecture.
* Docs are updated in NVPTXUsage.rst.
* lit tests are added for all the variants.
* lit tests are verified with PTXAS from CUDA-12.8 toolkit.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: aa550cdc5f561e33aab8180ae1c9264a3c66072c
https://github.com/llvm/llvm-project/commit/aa550cdc5f561e33aab8180ae1c9264a3c66072c
Author: Albert Huang <Albert.huang at armchina.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M clang/test/CodeGen/arm-target-features.c
M clang/test/Driver/arm-cortex-cpus-2.c
M clang/test/Misc/target-invalid-cpu-note/arm.c
M llvm/include/llvm/TargetParser/ARMTargetParser.def
M llvm/lib/Target/ARM/ARMProcessors.td
M llvm/lib/TargetParser/Host.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[ARM] [AArch32] Add support for Arm China STAR-MC3 CPU (#163709)
STAR-MC3 is an Armv8.1m CPU.
Technical specificationa available at:
https://www.armchina.com/download/Documents/TRM?infoId=240
Commit: efcc6135daf1f44a9bfadf0aa7bdfb0eefe15074
https://github.com/llvm/llvm-project/commit/efcc6135daf1f44a9bfadf0aa7bdfb0eefe15074
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/test/SemaHIP/builtins-amdgcn-raw-buffer-atomic-add.hip
A clang/test/SemaHIP/builtins-amdgcn-raw-buffer-atomic-fmin-max.hip
Log Message:
-----------
[Clang][AMDGPU] Enable type-checking on __builtin_amdgcn_raw_ptr_buffer_atomic_{{add|fadd|fmin|fmax}} (#164824)
The "t" flag is used to mark the builtin signature as meaningless.
This is done on several builtins taking pointers since otherwise HIP
code would not compile
during compilation for the host (even if the builtin is only used in
device code, compilation would fail).
The builtins changed by this patch are not affected by this issue, so
they do not need the "t" flag in the first place.
Commit: cf6db6303bb50543522b01a9be55a2e265da4b84
https://github.com/llvm/llvm-project/commit/cf6db6303bb50543522b01a9be55a2e265da4b84
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lasx/shufflevector-reverse.ll
M llvm/test/CodeGen/LoongArch/lsx/shufflevector-reverse.ll
Log Message:
-----------
[LoongArch] Optimize for reversing vector using shufflevector (#163151)
Commit: bcfd6da5dbb3c6bb0c598de7f9bbbae4c42f6ba9
https://github.com/llvm/llvm-project/commit/bcfd6da5dbb3c6bb0c598de7f9bbbae4c42f6ba9
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
M mlir/test/Target/SPIRV/global-variable.mlir
Log Message:
-----------
[mlir][spirv] Enable validation of global vars tests (#164974)
Currently the target test will fail with:
```
error: line 12: Initializer type must match the data type
%var2 = OpVariable %_ptr_Uniform_float Uniform %var1
```
When passed:
```mlir
spirv.module Logical GLSL450 requires #spirv.vce<v1.0, [Shader], []> {
spirv.GlobalVariable @var1 : !spirv.ptr<f32, Uniform>
spirv.GlobalVariable @var2 initializer(@var1) bind(1, 0) : !spirv.ptr<f32, Uniform>
}
```
The problem is that we try to initialize `f32` pointer with `f32`
pointer, but the validator fails because it expects `var1` to be `f32`,
not a pointer to `f32`. `spirv.GlobalVariable` only allows pointer type,
so in the current design we cannot initialize one `spirv.GlobalVariable`
with another.
So, for now we disallow initialization of one global variable with
another. In the future we may want to re-work global variables if we
want to support that.
Commit: 9af49ee4747e0871f196a643a4e4a362f0e80e43
https://github.com/llvm/llvm-project/commit/9af49ee4747e0871f196a643a4e4a362f0e80e43
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx11.cpp
Log Message:
-----------
[clang][bytecode] Handle discarded AddrLabelExprs properly (#165000)
emitDummyPtr() doesn't like to be called with DiscardResult set, so
check this first.
Fixes https://github.com/llvm/llvm-project/issues/164979
Commit: 046ed90d3f5189357bcce4cff43ad7739ae72b07
https://github.com/llvm/llvm-project/commit/046ed90d3f5189357bcce4cff43ad7739ae72b07
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Target/SPIRV/function-decorations.mlir
Log Message:
-----------
[mlir][spirv] Ensure function declarations precede definitions (#164956)
SPIR-V spec requires that any calls to external functions are preceded
by declarations of those external functions. To simplify the
implementation, we sort functions in the serializer using a stronger
condition: any functions declarations are moved before any functions
definitions - this ensures that external functions are always declared
before being used.
Commit: 5d1e1cfa086a8ef7e9a74a41f5d626d4d20a3708
https://github.com/llvm/llvm-project/commit/5d1e1cfa086a8ef7e9a74a41f5d626d4d20a3708
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Check memcmp for block pointers (#165070)
We can't read from non-block pointers anyway.
Fixes https://github.com/llvm/llvm-project/issues/165061
Commit: 538c8509efe8bcfcc0b1b6ad40dbc72b735e7fb5
https://github.com/llvm/llvm-project/commit/538c8509efe8bcfcc0b1b6ad40dbc72b735e7fb5
Author: Afanasyev Ivan <ivafanas at gmail.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M clang/docs/SafeBuffers.rst
Log Message:
-----------
[clang][docs] Fix typos in SafeBuffers.rst (#163547)
Commit: 313b95f3a8d7efaf8970484c169f1a106bc12f68
https://github.com/llvm/llvm-project/commit/313b95f3a8d7efaf8970484c169f1a106bc12f68
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
A lldb/test/API/lang/objc/synthesized-property-accessor/Makefile
A lldb/test/API/lang/objc/synthesized-property-accessor/TestSynthesizedPropertyAccessor.py
A lldb/test/API/lang/objc/synthesized-property-accessor/main.m
Log Message:
-----------
[lldb][test] Add test for parsing Objective-C synthesized properties
Prior to https://github.com/llvm/llvm-project/pull/164998, recent LLDB
versions would fail to parse synthesized property setters correctly. The
only way this failure would manifest is an error to the console:
```
error: main.o [0x00000000000000cd]: invalid Objective-C method DW_TAG_subprogram (DW_TAG_subprogram), please file a bug and attach the file at the start of this error message
```
There weren't any Objective-C tests that failed when the original regression (https://github.com/llvm/llvm-project/pull/100355) landed. This patch adds a test that explicitly checks that the type of the setter is sensible.
This test fails without https://github.com/llvm/llvm-project/pull/164998
and passes with it.
I decided not to check for the absence of the console error because that kind of test would be fragile to the removal of (or any changes to) the error message.
Commit: 33185e7d43c604bd20b061b592437f1c46a14a84
https://github.com/llvm/llvm-project/commit/33185e7d43c604bd20b061b592437f1c46a14a84
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M lldb/docs/use/tutorials/implementing-standalone-scripts.md
Log Message:
-----------
[lldb][docs] Add example output for standalone debugging script
Varies by host but I think it's useful to give some expectation.
Commit: 9a39076d39c62976476fa9a4e0e6e3fbe3a0891c
https://github.com/llvm/llvm-project/commit/9a39076d39c62976476fa9a4e0e6e3fbe3a0891c
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M llvm/test/DebugInfo/ARM/lowerbdgdeclare_vla.ll
M llvm/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll
M llvm/test/DebugInfo/BPF/extern-void.ll
M llvm/test/DebugInfo/COFF/array-odr-violation.ll
M llvm/test/DebugInfo/COFF/asan-module-ctor.ll
M llvm/test/DebugInfo/COFF/asm.ll
M llvm/test/DebugInfo/COFF/class-options-common.ll
M llvm/test/DebugInfo/COFF/comdat.ll
M llvm/test/DebugInfo/COFF/cpp-mangling.ll
M llvm/test/DebugInfo/COFF/defer-complete-type.ll
M llvm/test/DebugInfo/COFF/enum-co.ll
M llvm/test/DebugInfo/COFF/fpo-argsize.ll
M llvm/test/DebugInfo/COFF/fpo-csrs.ll
M llvm/test/DebugInfo/COFF/fpo-funclet.ll
M llvm/test/DebugInfo/COFF/fpo-realign-alloca.ll
M llvm/test/DebugInfo/COFF/fpo-realign-vframe.ll
M llvm/test/DebugInfo/COFF/fpo-shrink-wrap.ll
M llvm/test/DebugInfo/COFF/fpo-stack-protect.ll
M llvm/test/DebugInfo/COFF/frameproc-flags.ll
M llvm/test/DebugInfo/COFF/function-options.ll
M llvm/test/DebugInfo/COFF/global-constants.ll
M llvm/test/DebugInfo/COFF/global_visibility.ll
M llvm/test/DebugInfo/COFF/globals.ll
M llvm/test/DebugInfo/COFF/inheritance.ll
M llvm/test/DebugInfo/COFF/inlining-files.ll
M llvm/test/DebugInfo/COFF/inlining-header.ll
M llvm/test/DebugInfo/COFF/inlining-levels.ll
M llvm/test/DebugInfo/COFF/inlining-padding.ll
M llvm/test/DebugInfo/COFF/inlining.ll
M llvm/test/DebugInfo/COFF/lambda.ll
M llvm/test/DebugInfo/COFF/lexicalblock.ll
M llvm/test/DebugInfo/COFF/lines-difile.ll
M llvm/test/DebugInfo/COFF/local-constant.ll
M llvm/test/DebugInfo/COFF/local-variable-gap.ll
M llvm/test/DebugInfo/COFF/local-variables.ll
M llvm/test/DebugInfo/COFF/long-name.ll
M llvm/test/DebugInfo/COFF/multifile.ll
M llvm/test/DebugInfo/COFF/multifunction.ll
M llvm/test/DebugInfo/COFF/nrvo.ll
M llvm/test/DebugInfo/COFF/parameter-order.ll
M llvm/test/DebugInfo/COFF/parent-type-scopes.ll
M llvm/test/DebugInfo/COFF/pieces.ll
M llvm/test/DebugInfo/COFF/purge-typedef-udts.ll
M llvm/test/DebugInfo/COFF/register-variables.ll
M llvm/test/DebugInfo/COFF/retained-types.ll
M llvm/test/DebugInfo/COFF/scopes.ll
M llvm/test/DebugInfo/COFF/simple.ll
M llvm/test/DebugInfo/COFF/static-methods.ll
M llvm/test/DebugInfo/COFF/tail-call-without-lexical-scopes.ll
M llvm/test/DebugInfo/COFF/thunk.ll
M llvm/test/DebugInfo/COFF/type-quals.ll
M llvm/test/DebugInfo/COFF/types-array.ll
M llvm/test/DebugInfo/COFF/types-basic.ll
M llvm/test/DebugInfo/COFF/types-calling-conv.ll
M llvm/test/DebugInfo/COFF/types-cvarargs.ll
M llvm/test/DebugInfo/COFF/types-data-members.ll
M llvm/test/DebugInfo/COFF/types-method-ref-qualifiers.ll
M llvm/test/DebugInfo/COFF/types-recursive-struct.ll
M llvm/test/DebugInfo/COFF/types-recursive-unnamed.ll
M llvm/test/DebugInfo/COFF/udts.ll
M llvm/test/DebugInfo/COFF/unnamed.ll
M llvm/test/DebugInfo/COFF/vframe-csr.ll
M llvm/test/DebugInfo/COFF/vframe-fpo.ll
M llvm/test/DebugInfo/COFF/vftables.ll
M llvm/test/DebugInfo/COFF/virtual-method-kinds.ll
M llvm/test/DebugInfo/COFF/virtual-methods.ll
M llvm/test/DebugInfo/COFF/vtable-optzn-array.ll
M llvm/test/DebugInfo/Generic/PR20038.ll
M llvm/test/DebugInfo/Generic/block-asan.ll
M llvm/test/DebugInfo/Generic/constant-pointers.ll
M llvm/test/DebugInfo/Generic/cross-cu-inlining.ll
M llvm/test/DebugInfo/Generic/cross-cu-linkonce.ll
M llvm/test/DebugInfo/Generic/cu-range-hole.ll
M llvm/test/DebugInfo/Generic/cu-ranges.ll
M llvm/test/DebugInfo/Generic/dead-argument-order.ll
M llvm/test/DebugInfo/Generic/debug-info-always-inline.ll
M llvm/test/DebugInfo/Generic/def-line.ll
M llvm/test/DebugInfo/Generic/directives-only.ll
M llvm/test/DebugInfo/Generic/discriminator.ll
M llvm/test/DebugInfo/Generic/enum-types.ll
M llvm/test/DebugInfo/Generic/enum.ll
M llvm/test/DebugInfo/Generic/extended-loc-directive.ll
M llvm/test/DebugInfo/Generic/global-sra-array.ll
M llvm/test/DebugInfo/Generic/global.ll
M llvm/test/DebugInfo/Generic/incorrect-variable-debugloc.ll
M llvm/test/DebugInfo/Generic/incorrect-variable-debugloc1.ll
M llvm/test/DebugInfo/Generic/inline-no-debug-info.ll
M llvm/test/DebugInfo/Generic/inline-scopes.ll
M llvm/test/DebugInfo/Generic/inlined-arguments.ll
M llvm/test/DebugInfo/Generic/inlined-strings.ll
M llvm/test/DebugInfo/Generic/lto-comp-dir.ll
M llvm/test/DebugInfo/Generic/mainsubprogram.ll
M llvm/test/DebugInfo/Generic/member-order.ll
M llvm/test/DebugInfo/Generic/multiline.ll
M llvm/test/DebugInfo/Generic/namespace.ll
M llvm/test/DebugInfo/Generic/namespace_function_definition.ll
M llvm/test/DebugInfo/Generic/namespace_inline_function_definition.ll
M llvm/test/DebugInfo/Generic/recursive_inlining.ll
M llvm/test/DebugInfo/Generic/restrict.ll
M llvm/test/DebugInfo/Generic/tu-composite.ll
M llvm/test/DebugInfo/Generic/unconditional-branch.ll
M llvm/test/DebugInfo/Generic/version.ll
M llvm/test/DebugInfo/Inputs/gmlt.ll
M llvm/test/DebugInfo/Inputs/line.ll
M llvm/test/DebugInfo/MSP430/cu-ranges.ll
M llvm/test/DebugInfo/Mips/fn-call-line.ll
M llvm/test/DebugInfo/NVPTX/cu-range-hole.ll
M llvm/test/DebugInfo/NVPTX/debug-info.ll
M llvm/test/DebugInfo/NVPTX/debug-loc-offset.ll
M llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
M llvm/test/DebugInfo/Sparc/gnu-window-save.ll
M llvm/test/DebugInfo/WebAssembly/dbg-loop-loc.ll
M llvm/test/DebugInfo/WebAssembly/debugtest-opt.ll
M llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll
M llvm/test/DebugInfo/X86/DW_AT_stmt_list_sec_offset.ll
M llvm/test/DebugInfo/X86/addr_comments.ll
M llvm/test/DebugInfo/X86/arguments.ll
M llvm/test/DebugInfo/X86/coff_debug_info_type.ll
M llvm/test/DebugInfo/X86/coff_relative_names.ll
M llvm/test/DebugInfo/X86/convert-loclist.ll
M llvm/test/DebugInfo/X86/cu-ranges-odr.ll
M llvm/test/DebugInfo/X86/cu-ranges.ll
M llvm/test/DebugInfo/X86/dbg_value_direct.ll
M llvm/test/DebugInfo/X86/debug-dead-local-var.ll
M llvm/test/DebugInfo/X86/debug-info-blocks.ll
M llvm/test/DebugInfo/X86/debug-loc-asan.mir
M llvm/test/DebugInfo/X86/debug-loc-offset.mir
M llvm/test/DebugInfo/X86/debug-ranges-offset.ll
M llvm/test/DebugInfo/X86/decl-derived-member.ll
M llvm/test/DebugInfo/X86/discriminator.ll
M llvm/test/DebugInfo/X86/discriminator2.ll
M llvm/test/DebugInfo/X86/discriminator3.ll
M llvm/test/DebugInfo/X86/dwarf-aranges-no-dwarf-labels.ll
M llvm/test/DebugInfo/X86/dwarf-linkage-names.ll
M llvm/test/DebugInfo/X86/dwarf-pubnames-split.ll
M llvm/test/DebugInfo/X86/fission-inline.ll
M llvm/test/DebugInfo/X86/fission-no-inline-gsym.ll
M llvm/test/DebugInfo/X86/fission-no-inlining.ll
M llvm/test/DebugInfo/X86/fission-ranges.ll
M llvm/test/DebugInfo/X86/generate-odr-hash.ll
M llvm/test/DebugInfo/X86/ghost-sdnode-dbgvalues.ll
M llvm/test/DebugInfo/X86/gmlt-empty-base-address.ll
M llvm/test/DebugInfo/X86/gnu-public-names-gmlt.ll
M llvm/test/DebugInfo/X86/gnu-public-names.ll
M llvm/test/DebugInfo/X86/inline-member-function.ll
M llvm/test/DebugInfo/X86/inline-seldag-test.ll
M llvm/test/DebugInfo/X86/lexical_block.ll
M llvm/test/DebugInfo/X86/line-info.ll
M llvm/test/DebugInfo/X86/low-pc-cu.ll
M llvm/test/DebugInfo/X86/mi-print.ll
M llvm/test/DebugInfo/X86/missing-abstract-variable.ll
M llvm/test/DebugInfo/X86/no_debug_ranges.ll
M llvm/test/DebugInfo/X86/nodebug.ll
M llvm/test/DebugInfo/X86/nodebug_with_debug_loc.ll
M llvm/test/DebugInfo/X86/objc-property-void.ll
M llvm/test/DebugInfo/X86/pieces-4.ll
M llvm/test/DebugInfo/X86/pr19307.mir
M llvm/test/DebugInfo/X86/pr28270.ll
M llvm/test/DebugInfo/X86/pr45181.ll
M llvm/test/DebugInfo/X86/safestack-byval.ll
M llvm/test/DebugInfo/X86/set.ll
M llvm/test/DebugInfo/X86/spill-nospill.ll
M llvm/test/DebugInfo/X86/sret.ll
M llvm/test/DebugInfo/X86/tls.ll
M llvm/test/DebugInfo/X86/tu-to-non-named-type.ll
M llvm/test/DebugInfo/X86/void-typedef.ll
Log Message:
-----------
[test][DebugInfo] Remove unsafe-fp-math uses (NFC) (#164966)
Post cleanup for #164534.
Not all attributes are stripped, some of them may affect debug info.
Commit: c40b6904751da529a0436faf72d5d63d35484689
https://github.com/llvm/llvm-project/commit/c40b6904751da529a0436faf72d5d63d35484689
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/TestFrameVarDILGlobalVariableLookup.py
Log Message:
-----------
[lldb][test] TestFrameVarDILGlobalVariableLookup: skip for older DWARF versions
Test fails on the DWARFv2 and DWARFv5 macOS bot with:
```
07:00:39 FAIL: test_frame_var (TestFrameVarDILGlobalVariableLookup.TestFrameVarDILGlobalVariableLookup)
07:00:39 ----------------------------------------------------------------------
07:00:39 Traceback (most recent call last):
07:00:39 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/decorators.py", line 156, in wrapper
07:00:39 return func(*args, **kwargs)
07:00:39 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/TestFrameVarDILGlobalVariableLookup.py", line 48, in test_frame_var
07:00:39 self.expect_var_path("ExtStruct::static_inline", value="16")
07:00:39 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2599, in expect_var_path
07:00:39 value_check.check_value(self, eval_result, str(eval_result))
07:00:39 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 302, in check_value
07:00:39 test_base.assertSuccess(val.GetError())
07:00:39 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2607, in assertSuccess
07:00:39 self.fail(self._formatMessage(msg, "'{}' is not success".format(error)))
07:00:39 AssertionError: '<user expression 0>:1:1: use of undeclared identifier 'ExtStruct::static_inline'
07:00:39 1 | ExtStruct::static_inline
07:00:39 | ^' is not success
07:00:39 Config=arm64-/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/lldb-build/bin/clang
```
Possibly something to do with accelerator table differences between the versions.
Commit: 74bb1f435f32e5f329f0d24f7c2c7af179b913b0
https://github.com/llvm/llvm-project/commit/74bb1f435f32e5f329f0d24f7c2c7af179b913b0
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/TestFrameVarDILGlobalVariableLookup.py
Log Message:
-----------
[lldb][test] TestFrameVarDILGlobalVariableLookup: XFAIL on older Clang versions
Failing on macOS Clang-15 and Clang-17 bots with:
```
07:26:20 ======================================================================
07:26:20 FAIL: test_frame_var (TestFrameVarDILGlobalVariableLookup.TestFrameVarDILGlobalVariableLookup)
07:26:20 ----------------------------------------------------------------------
07:26:20 Traceback (most recent call last):
07:26:20 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/decorators.py", line 156, in wrapper
07:26:20 return func(*args, **kwargs)
07:26:20 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/TestFrameVarDILGlobalVariableLookup.py", line 48, in test_frame_var
07:26:20 self.expect_var_path("ExtStruct::static_inline", value="16")
07:26:20 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2599, in expect_var_path
07:26:20 value_check.check_value(self, eval_result, str(eval_result))
07:26:20 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 302, in check_value
07:26:20 test_base.assertSuccess(val.GetError())
07:26:20 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2607, in assertSuccess
07:26:20 self.fail(self._formatMessage(msg, "'{}' is not success".format(error)))
07:26:20 AssertionError: '<user expression 0>:1:1: use of undeclared identifier 'ExtStruct::static_inline'
07:26:20 1 | ExtStruct::static_inline
07:26:20 | ^' is not success
```
I suspect Clang-17 (and earlier) used DWARFv4 on macOS by default. So we
would use the Apple accelerator tables, which didn't index `ExtStruct`
(based on what I observed locally). We already XFAIL this test for
DWARFv4, hence XFAIL it also for older Clang versions.
Commit: 60f20ea465545c9f3fc88354acc71a430424be98
https://github.com/llvm/llvm-project/commit/60f20ea465545c9f3fc88354acc71a430424be98
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/test/CodeGen/AMDGPU/wait-before-stores-with-scope_sys.ll
Log Message:
-----------
[AMDGPU] Add target feature for waits before system scope stores. NFC. (#164993)
Commit: d11f0bc56e81c20f6bcc4e914810a3b84630a252
https://github.com/llvm/llvm-project/commit/d11f0bc56e81c20f6bcc4e914810a3b84630a252
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/RedundantTypenameCheck.cpp
Log Message:
-----------
[clang-tidy] Remove unused #include. NFC.
Commit: 67de7106b9f73ed2be804e3488a20332f363359d
https://github.com/llvm/llvm-project/commit/67de7106b9f73ed2be804e3488a20332f363359d
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M lldb/unittests/DAP/Handler/DisconnectTest.cpp
Log Message:
-----------
[lldb-dap][test] Disable DisconnectTriggersTerminateCommands on Linux
It is flaky, see https://github.com/llvm/llvm-project/issues/154763.
Commit: e624048f5cdeb149c951a4c37f4901bb70356aea
https://github.com/llvm/llvm-project/commit/e624048f5cdeb149c951a4c37f4901bb70356aea
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Check overflow ops for block pointers (#165221)
We can't save the result in a non-block pointer.
Fixes https://github.com/llvm/llvm-project/issues/165076
Commit: ff5a7370c81799cb9cffb05d5fb3cc848412cc25
https://github.com/llvm/llvm-project/commit/ff5a7370c81799cb9cffb05d5fb3cc848412cc25
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/TestFrameVarDILGlobalVariableLookup.py
Log Message:
-----------
[lldb][test] TestFrameVarDILGlobalVariableLookup: only XFAIL earlier DWARF versions on macOS
On Linux we would use the manual DWARF index and the failing test assertion (see `c40b6904751da529a0436faf72d5d63d35484689`) would still pass.
Commit: 52f50ad476cfd87b95f3f0959bcb2f3265769557
https://github.com/llvm/llvm-project/commit/52f50ad476cfd87b95f3f0959bcb2f3265769557
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-10-27 (Mon, 27 Oct 2025)
Changed paths:
M .ci/generate_test_report_github.py
M .ci/generate_test_report_lib.py
M .ci/metrics/metrics.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
A .ci/premerge_advisor_explain.py
A .ci/premerge_advisor_upload.py
M .ci/utils.sh
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
M .github/workflows/build-ci-container-tooling.yml
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libcxx-run-benchmarks.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-code-lint.yml
M .github/workflows/premerge.yaml
R .github/workflows/release-binaries-save-stage/action.yml
R .github/workflows/release-binaries-setup-stage/action.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-tasks.yml
M bolt/README.md
M bolt/docs/BinaryAnalysis.md
M bolt/docs/CommandLineArgumentReference.md
M bolt/docs/Heatmaps.md
M bolt/docs/OptimizingClang.md
M bolt/docs/OptimizingLinux.md
M bolt/docs/RuntimeLibrary.md
M bolt/docs/doxygen.cfg.in
M bolt/docs/index.rst
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugData.h
M bolt/include/bolt/Core/DebugNames.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/FrameAnalysis.h
M bolt/include/bolt/Passes/LongJmp.h
M bolt/include/bolt/Passes/PLTCall.h
M bolt/include/bolt/Passes/ProfileQualityStats.h
M bolt/include/bolt/Passes/ReorderAlgorithm.h
M bolt/include/bolt/Passes/TailDuplication.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinaryFunctionCallGraph.cpp
M bolt/lib/Core/CallGraph.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Passes/Aligner.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/FrameAnalysis.cpp
M bolt/lib/Passes/RegReAssign.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Passes/SplitFunctions.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Rewrite/BuildIDRewriter.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/runtime/hugify.cpp
M bolt/runtime/instr.cpp
M bolt/runtime/sys_aarch64.h
M bolt/runtime/sys_riscv64.h
M bolt/runtime/sys_x86_64.h
M bolt/test/AArch64/Inputs/plt-gnu-ld.yaml
M bolt/test/AArch64/constant-island-alignment.s
A bolt/test/AArch64/constant-island-entry.s
M bolt/test/AArch64/ifunc.test
A bolt/test/AArch64/invalid-code-padding.s
M bolt/test/AArch64/plt-got.test
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/cdsplit-call-scale.s
M bolt/test/X86/dwarf5-two-cu-str-offset-table.test
M bolt/test/X86/dwarf5-type-unit-no-cu-str-offset-table.test
A bolt/test/X86/fragment-alias.s
M bolt/test/X86/heatmap-preagg.test
M bolt/test/X86/jt-symbol-disambiguation-3.s
M bolt/test/X86/nolbr.s
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/X86/split-landing-pad.s
M bolt/test/perf2bolt/AArch64/perf2bolt-spe.test
M bolt/test/perf2bolt/perf_test.test
M bolt/test/runtime/X86/asm-dump.c
M bolt/test/runtime/wait_file.sh
M bolt/tools/heatmap/heatmap.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
M bolt/utils/bughunter.sh
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang-tools-extra/clang-include-fixer/find-all-symbols/STLPostfixHeaderMap.cpp
M clang-tools-extra/clang-tidy/.clang-format
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/ClangTidyForceLinker.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCheck.h
M clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
M clang-tools-extra/clang-tidy/misc/NewDeleteOverloadsCheck.cpp
M clang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
A clang-tools-extra/clang-tidy/readability/RedundantTypenameCheck.cpp
A clang-tools-extra/clang-tidy/readability/RedundantTypenameCheck.h
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
M clang-tools-extra/clang-tidy/utils/DesignatedInitializers.cpp
M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/IncludeFixer.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/SymbolDocumentation.cpp
M clang-tools-extra/clangd/SymbolDocumentation.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/CanonicalIncludes.cpp
M clang-tools-extra/clangd/index/Index.cpp
M clang-tools-extra/clangd/index/Index.h
M clang-tools-extra/clangd/index/MemIndex.cpp
M clang-tools-extra/clangd/index/MemIndex.h
M clang-tools-extra/clangd/index/Merge.cpp
M clang-tools-extra/clangd/index/Merge.h
M clang-tools-extra/clangd/index/ProjectAware.cpp
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/index/dex/Dex.h
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/Service.proto
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp
M clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp
M clang-tools-extra/clangd/support/Markup.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/FileDistanceTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/QualityTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/SymbolDocumentationTests.cpp
M clang-tools-extra/clangd/unittests/URITests.cpp
M clang-tools-extra/clangd/unittests/lit.cfg.py
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-include.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/switch-missing-default-case.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-typename.rst
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/test/Unit/lit.cfg.py
M clang-tools-extra/test/Unit/lit.cfg.py
A clang-tools-extra/test/clang-doc/json/multiple-namespaces.cpp
M clang-tools-extra/test/clang-doc/json/nested-namespace.cpp
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/moc_foo.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/cleanup-ctad.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-addition.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-conversion-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-float.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-scale.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-unnecessary-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/str-cat-append.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/string-find-str-contains.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/upgrade-duration-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/altera/struct-pack-align.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-memfd-create.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-open.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-socket.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/inaccurate-erase.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-operator-in-strlen-in-alloc.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/move-forwarding-reference.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-in-initialization-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-cxx.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-strlen.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-value-dependent-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-wcslen.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/reserved-identifier-invert.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/string-integer-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-include.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-semicolon.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/swapped-arguments.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/init-variables.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index-c++03.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/virtual-class-destructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/build-explicit-make-pair.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/objc-avoid-nsobject-new.m
M clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-isa-or-dyn-cast-in-conditionals.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/twine-local.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/use-new-mlir-op-builder.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
M clang-tools-extra/test/clang-tidy/checkers/misc/include-cleaner-wrong-config.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/include-cleaner.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/misplaced-const-cxx17.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-strict.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.c
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls-cxx17.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/deprecated-headers-cxx03.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/deprecated-headers-cxx11.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-const.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-extra.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-auto-ptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-disallow-copy-and-assign-macro.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-iterator.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-bool-literals.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-constraints-first-greatergreater.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-constraints.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison-qt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-allow-override-and-final.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-ms.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-no-destructors.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-with-macro.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override-with-no-macro-inscope.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx14.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor-fix.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-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/duplicate-include.h
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-data-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/duplicate-include.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-anon-record-fields.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-bugfix-name-conflicts.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-case-match.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-c-language.c
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-cfgfile.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-ignored-regexp.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-member-decl-usage.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-fixing.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/make-member-function-const.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/operators-representation-to-alternative.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/operators-representation-to-traditional.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-access-specifiers-check-first-declaration.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-access-specifiers.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-control-flow.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.c
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-cstr-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-cstr-function.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-cstr-msvc.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-cstr.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-typename-cxx98.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-typename.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-chained-conditional-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-chained-conditional-return.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-members.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance-nesting-threshold.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-definition-in-anonymous-namespace.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uniqueptr-delete-release.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_tokens.py
M clang/cmake/caches/Release.cmake
M clang/cmake/modules/CMakeLists.txt
M clang/docs/AllocToken.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangOffloadBundler.rst
M clang/docs/DebuggingCoroutines.rst
M clang/docs/HIPSupport.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/PointerAuthentication.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SafeBuffers.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/analyzer/developer-docs/Statistics.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/HLSLResource.h
A clang/include/clang/AST/InferAlloc.h
M clang/include/clang/AST/NestedNameSpecifierBase.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
R clang/include/clang/ASTMatchers/GtestMatchers.h
R clang/include/clang/Analysis/Analyses/LifetimeAnnotations.h
R clang/include/clang/Analysis/Analyses/LifetimeSafety.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety/Checker.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety/LiveOrigins.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety/Utils.h
A clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsHexagon.td
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/DirectoryEntry.h
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Basic/LangStandards.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/SyncScope.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/arm_mve.td
M clang/include/clang/Basic/arm_mve_defs.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIROpsEnums.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Distro.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/API.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/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaBase.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/EntryPointStats.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBlock.cpp
M clang/lib/AST/ByteCode/InterpBlock.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
A clang/lib/AST/ByteCode/InterpHelpers.h
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/Comment.cpp
M clang/lib/AST/CommentSema.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/DeclarationName.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
A clang/lib/AST/InferAlloc.cpp
M clang/lib/AST/InheritViz.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/ParentMapContext.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/CMakeLists.txt
R clang/lib/ASTMatchers/GtestMatchers.cpp
M clang/lib/Analysis/CMakeLists.txt
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/FlowSensitive/Models/CMakeLists.txt
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
A clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
R clang/lib/Analysis/LifetimeAnnotations.cpp
R clang/lib/Analysis/LifetimeSafety.cpp
A clang/lib/Analysis/LifetimeSafety/CMakeLists.txt
A clang/lib/Analysis/LifetimeSafety/Checker.cpp
A clang/lib/Analysis/LifetimeSafety/Dataflow.h
A clang/lib/Analysis/LifetimeSafety/Facts.cpp
A clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
A clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
A clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp
A clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
A clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
A clang/lib/Analysis/LifetimeSafety/Loans.cpp
A clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/LangStandards.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/AVR.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/OSTargets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenAsm.cpp
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
A clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.h
M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.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/CIRGenItaniumCXXABI.cpp
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/CIRGenOpenACCRecipe.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCRecipe.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
A clang/lib/CIR/Dialect/Transforms/LoweringPrepareCXXABI.h
A clang/lib/CIR/Dialect/Transforms/LoweringPrepareItaniumCXXABI.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTypeCache.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/ARC.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/Lanai.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/Mips.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/CodeGen/Targets/XCore.cpp
M clang/lib/Driver/Distro.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Job.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.h
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/HIPUtility.h
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/Linux.h
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/XRayArgs.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.cpp
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/DefinitionBlockSeparator.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendOptions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__clang_hip_runtime_wrapper.h
A clang/lib/Headers/__float_float.h
A clang/lib/Headers/__float_header_macro.h
A clang/lib/Headers/__float_infinity_nan.h
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/avx512cdintrin.h
M clang/lib/Headers/avx512dqintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512ifmaintrin.h
M clang/lib/Headers/avx512ifmavlintrin.h
M clang/lib/Headers/avx512vlbwintrin.h
M clang/lib/Headers/avx512vlcdintrin.h
M clang/lib/Headers/avx512vldqintrin.h
M clang/lib/Headers/avx512vlintrin.h
M clang/lib/Headers/avxifmaintrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/float.h
M clang/lib/Headers/module.modulemap
M clang/lib/Headers/pmmintrin.h
M clang/lib/Headers/ptrauth.h
M clang/lib/Headers/sifive_vector.h
M clang/lib/Headers/smmintrin.h
M clang/lib/Headers/tmmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Index/USRGeneration.cpp
M clang/lib/InstallAPI/HeaderFile.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaBPF.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenMP.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/SemaStmtAsm.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h
M clang/lib/StaticAnalyzer/Checkers/VAListChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/EntryPointStats.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScannerImpl.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/Execution.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/test/AST/ByteCode/arrays.cpp
M clang/test/AST/ByteCode/bitfields.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/c.c
A clang/test/AST/ByteCode/codegen-cxx20.cpp
M clang/test/AST/ByteCode/cxx11.cpp
A clang/test/AST/ByteCode/cxx14.cpp
M clang/test/AST/ByteCode/extern.cpp
M clang/test/AST/ByteCode/libcxx/deref-to-array.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/typeid.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
A clang/test/AST/HLSL/matrix-constructors.hlsl
A clang/test/AST/HLSL/matrix-general-initializer.hlsl
M clang/test/AST/HLSL/vk_binding_attr.hlsl
M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
A clang/test/Analysis/Checkers/WebKit/unretained-obj-arg.mm
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
A clang/test/Analysis/loc-folding.cpp
A clang/test/Analysis/null-pointer-arithm.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/string.c
M clang/test/Analysis/z3-crosscheck-max-attempts.cpp
M clang/test/Analysis/z3/D83660.c
M clang/test/Analysis/zero-size-non-pod-array.cpp
M clang/test/C/C11/n1285_1.c
M clang/test/C/C23/n3037.c
M clang/test/C/C2y/n3364.c
A clang/test/C/C2y/n3532.c
A clang/test/C/C2y/n3622.c
A clang/test/C/C2y/n3623.c
M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
A clang/test/CIR/CodeGen/agg-expr-lvalue.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/CodeGen/binassign.c
M clang/test/CIR/CodeGen/bitfields_be.c
M clang/test/CIR/CodeGen/builtin_call.cpp
A clang/test/CIR/CodeGen/builtin_inline.c
A clang/test/CIR/CodeGen/builtin_prefetech.c
M clang/test/CIR/CodeGen/builtin_printf.cpp
A clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
M clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/CodeGen/cmp.cpp
M clang/test/CIR/CodeGen/comma.c
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/compound_literal.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/ctor.cpp
M clang/test/CIR/CodeGen/delete.cpp
M clang/test/CIR/CodeGen/dtors.cpp
A clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
A clang/test/CIR/CodeGen/dynamic-cast.cpp
A clang/test/CIR/CodeGen/global-ctor-dtor.cpp
M clang/test/CIR/CodeGen/global-init.cpp
M clang/test/CIR/CodeGen/goto.cpp
A clang/test/CIR/CodeGen/inline-attributes.cpp
M clang/test/CIR/CodeGen/label.c
M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/linkage-spec.cpp
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/CodeGen/member-functions.cpp
M clang/test/CIR/CodeGen/new.cpp
M clang/test/CIR/CodeGen/nrvo.cpp
M clang/test/CIR/CodeGen/opaque.cpp
A clang/test/CIR/CodeGen/ptrdiff.c
A clang/test/CIR/CodeGen/ptrdiff.cpp
A clang/test/CIR/CodeGen/record-zero-init-padding.c
M clang/test/CIR/CodeGen/statement-exprs.c
M clang/test/CIR/CodeGen/struct-init.cpp
M clang/test/CIR/CodeGen/struct.cpp
A clang/test/CIR/CodeGen/ternary-throw.cpp
M clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/CodeGen/throws.cpp
A clang/test/CIR/CodeGen/trivial-ctor-const-init.cpp
A clang/test/CIR/CodeGen/try-catch.cpp
M clang/test/CIR/CodeGen/vbase.cpp
A clang/test/CIR/CodeGen/virtual-destructor-calls.cpp
A clang/test/CIR/CodeGen/vla.c
M clang/test/CIR/CodeGen/vtt.cpp
A clang/test/CIR/CodeGenOpenACC/atomic-read.cpp
A clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
A clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
M clang/test/CIR/CodeGenOpenACC/cache.c
M clang/test/CIR/CodeGenOpenACC/combined-copy.c
M clang/test/CIR/CodeGenOpenACC/combined-firstprivate-clause.cpp
M clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-copy.c
M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.c
M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp
M clang/test/CIR/CodeGenOpenACC/compute-private-clause.c
M clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.c
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-unsigned-int.c
M clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
M clang/test/CIR/CodeGenOpenACC/reduction-clause-recipes.cpp
M clang/test/CIR/IR/atomic.cir
M clang/test/CIR/IR/func.cir
A clang/test/CIR/IR/inline-attrs.cir
A clang/test/CIR/IR/invalid-atomic.cir
A clang/test/CIR/IR/invalid-try-catch.cir
A clang/test/CIR/IR/try-catch.cir
M clang/test/CIR/Lowering/basic.cpp
M clang/test/CIR/Lowering/func-simple.cpp
M clang/test/CIR/func-simple.cpp
M clang/test/CXX/dcl.decl/dcl.decomp/p2.cpp
M clang/test/CXX/dcl.decl/dcl.decomp/p3.cpp
M clang/test/CXX/dcl.decl/dcl.decomp/p4.cpp
M clang/test/CXX/drs/cwg22xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/module/module.import/p6.cpp
M clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
M clang/test/CXX/temp/temp.res/temp.local/p6.cpp
M clang/test/ClangScanDeps/resource_directory.c
M clang/test/ClangScanDeps/response-file.c
M clang/test/CodeGen/AArch64/ABI-align-packed.c
A clang/test/CodeGen/AArch64/atomic-ops-float-check-minmax.c
M clang/test/CodeGen/AArch64/fp8-init-list.c
M clang/test/CodeGen/AArch64/ls64-inline-asm.c
M clang/test/CodeGen/AArch64/sign-return-address.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ld1_vnum.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_st1_vnum.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sb.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sh.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sw.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ub.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1uh.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1uw.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1b.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1h.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1w.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ldnt1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/LoongArch/inline-asm-operand-modifiers.c
M clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
M clang/test/CodeGen/LoongArch/lasx/builtin.c
M clang/test/CodeGen/LoongArch/lasx/inline-asm-gcc-regs.c
M clang/test/CodeGen/LoongArch/lasx/inline-asm-operand-modifier.c
M clang/test/CodeGen/LoongArch/lsx/inline-asm-gcc-regs.c
M clang/test/CodeGen/LoongArch/lsx/inline-asm-operand-modifier.c
M clang/test/CodeGen/PowerPC/builtins-dmf-vsx-vector-float.c
M clang/test/CodeGen/PowerPC/builtins-ppc-build-pair-mma.c
M clang/test/CodeGen/PowerPC/builtins-ppc-dmf.c
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
A clang/test/CodeGen/RISCV/bitint.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfclass.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmax.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmerge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmin.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfmv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfncvt_rod.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfncvt_rtz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfnmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfnmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfrec7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfrsqrt7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfrsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfsgnj.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfsgnjn.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfsgnjx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfslide1down.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfslide1up.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vfwsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vmfeq.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vmfge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vmfgt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vmfle.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vmflt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/non-overloaded/vmfne.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfclass.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmax.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmerge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmin.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfmv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfncvt_rod.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfncvt_rtz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfnmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfnmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfrec7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfrsqrt7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfrsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfsgnj.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfsgnjn.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfsgnjx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfslide1down.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfslide1up.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vfwsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vmfeq.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vmfge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vmfgt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vmfle.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vmflt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/non-policy/overloaded/vmfne.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfclass.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmax.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmerge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmin.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfmv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfncvt_rod.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfncvt_rtz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfnmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfnmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfrec7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfrsqrt7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfrsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfsgnj.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfsgnjn.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfsgnjx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfslide1down.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfslide1up.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vfwsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vmfeq.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vmfge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vmfgt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vmfle.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vmflt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/non-overloaded/vmfne.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfclass.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmax.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmerge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmin.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfmv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfncvt_rod.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfncvt_rtz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfnmadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfnmsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfrec7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfrsqrt7.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfrsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfsgnj.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfsgnjn.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfsgnjx.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfslide1down.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfslide1up.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwadd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwnmacc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwnmsac.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vfwsub.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vmfeq.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vmfge.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vmfgt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vmfle.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vmflt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfa/policy/overloaded/vmfne.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e4m3_e4m3.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e4m3_e5m2.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e5m2_e4m3.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_e5m2_e5m2.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_f_f.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_s_s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_s_u.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_u_s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_mm_u_u.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vlte16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vlte32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vlte64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vlte8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vsettk.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vsettm.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vsettn.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vsettnt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vste16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vste32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vste64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vste8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtdiscard.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_t_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_v_t.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtzero_t.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e4m3_e4m3.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e4m3_e5m2.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e5m2_e4m3.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_e5m2_e5m2.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_f_f.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_s_s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_s_u.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_u_s.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_mm_u_u.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vlte16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vlte32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vlte64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vlte8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vste16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vste32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vste64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vste8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vtmv_t_v.c
M clang/test/CodeGen/SystemZ/builtins-systemz-i128.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-16Al.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
M clang/test/CodeGen/SystemZ/sync-builtins-i128-16Al.c
M clang/test/CodeGen/SystemZ/zvector2.c
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx10_2bf16-builtins.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/avx512cd-builtins.c
M clang/test/CodeGen/X86/avx512dq-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512fp16-builtins.c
M clang/test/CodeGen/X86/avx512ifma-builtins.c
M clang/test/CodeGen/X86/avx512ifmavl-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vlbw-builtins.c
M clang/test/CodeGen/X86/avx512vlcd-builtins.c
M clang/test/CodeGen/X86/avx512vldq-builtins.c
M clang/test/CodeGen/X86/avxifma-builtins.c
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/X86/sse3-builtins.c
M clang/test/CodeGen/X86/sse41-builtins.c
M clang/test/CodeGen/X86/ssse3-builtins.c
M clang/test/CodeGen/alloc-token-lower.c
A clang/test/CodeGen/alloc-token-nonlibcalls.c
M clang/test/CodeGen/alloc-token.c
A clang/test/CodeGen/allow-ubsan-check-divergence.c
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/arm-acle-coproc.c
M clang/test/CodeGen/arm-branch-protection-attr-2.c
M clang/test/CodeGen/arm-mve-intrinsics/cplusplus.cpp
M clang/test/CodeGen/arm-mve-intrinsics/dup.c
M clang/test/CodeGen/arm-mve-intrinsics/load-store.c
M clang/test/CodeGen/arm-target-features.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
M clang/test/CodeGen/attr-counted-by-for-pointers.c
M clang/test/CodeGen/attr-counted-by-pr110385.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-target-mv.c
M clang/test/CodeGen/backend-unsupported-error.ll
M clang/test/CodeGen/builtin-masked.c
M clang/test/CodeGen/builtin-maximumnum-minimumnum.c
M clang/test/CodeGen/builtin-maxnum-minnum.c
A clang/test/CodeGen/builtins-image-load.c
A clang/test/CodeGen/builtins-image-store.c
M clang/test/CodeGen/c11atomics-ios.c
A clang/test/CodeGen/call-graph-section-callback.cpp
A clang/test/CodeGen/call-graph-section-templates.cpp
A clang/test/CodeGen/call-graph-section-virtual-methods.cpp
A clang/test/CodeGen/call-graph-section.c
A clang/test/CodeGen/call-graph-section.cpp
M clang/test/CodeGen/distributed-thin-lto/supports-hot-cold-new.ll
A clang/test/CodeGen/errno-tbaa.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/fp-function-attrs.cpp
M clang/test/CodeGen/func-attr.c
A clang/test/CodeGen/inline-asm-systemz-flag-output.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/math-libcalls-tbaa.c
M clang/test/CodeGen/pointer-arithmetic-align.c
M clang/test/CodeGen/sanitize-metadata-ignorelist.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGen/scoped-fence-ops.c
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/CodeGen/target-data.c
M clang/test/CodeGen/tbaa-class.cpp
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
M clang/test/CodeGen/tbaa-struct.cpp
M clang/test/CodeGen/tbaa.c
M clang/test/CodeGen/tbaa.cpp
A clang/test/CodeGen/unified-lto-module-flag.ll
M clang/test/CodeGenCUDA/Inputs/cuda.h
A clang/test/CodeGenCUDA/cluster_dims.cu
M clang/test/CodeGenCUDA/propagate-attributes.cu
M clang/test/CodeGenCXX/alloc-token-pointer.cpp
M clang/test/CodeGenCXX/alloc-token.cpp
M clang/test/CodeGenCXX/attr-likelihood-if-branch-weights.cpp
A clang/test/CodeGenCXX/builtin-atomic-compare_exchange.cpp
M clang/test/CodeGenCXX/builtin-get-vtable-pointer.cpp
M clang/test/CodeGenCXX/cfi-mfcall-nomerge.cpp
M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
M clang/test/CodeGenCXX/load-reference-metadata.cpp
M clang/test/CodeGenCXX/sizeof-unwind-exception.cpp
M clang/test/CodeGenCXX/std-byte.cpp
A clang/test/CodeGenHLSL/Operators/logical-not.hlsl
M clang/test/CodeGenHLSL/basic-target.c
A clang/test/CodeGenHLSL/resources/ByteAddressBuffers-methods.hlsl
R clang/test/CodeGenHLSL/resources/RWBuffer-constructor.hlsl
R clang/test/CodeGenHLSL/resources/RWBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/resources/RWBuffer-subscript.hlsl
M clang/test/CodeGenHLSL/resources/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl
M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl
A clang/test/CodeGenHLSL/resources/TypedBuffers-constructor.hlsl
A clang/test/CodeGenHLSL/resources/TypedBuffers-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/TypedBuffers-methods.hlsl
A clang/test/CodeGenHLSL/resources/TypedBuffers-subscript.hlsl
A clang/test/CodeGenHLSL/resources/res-array-rw-counter.hlsl
A clang/test/CodeGenHLSL/semantics/semantic-struct-1.hlsl
A clang/test/CodeGenHLSL/semantics/semantic-struct-2.hlsl
A clang/test/CodeGenHLSL/semantics/semantic-struct-nested-inherit.hlsl
A clang/test/CodeGenHLSL/semantics/semantic-struct-nested-shadow.hlsl
A clang/test/CodeGenHLSL/semantics/semantic-struct-nested.hlsl
A clang/test/CodeGenHLSL/vk-features/maximal_reconvergence.hlsl
M clang/test/CodeGenHLSL/vk_binding_attr.hlsl
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
A clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-env-amdgcn.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
M clang/test/CodeGenOpenCL/preserve_vec3.cl
M clang/test/CodeGenOpenCL/relaxed-fpmath.cl
M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
M clang/test/DebugInfo/AArch64/sve-vector-types.c
A clang/test/DebugInfo/CXX/versioned-language.cpp
M clang/test/DebugInfo/Generic/unsigned-promotion-debuginfo.c
A clang/test/DebugInfo/Generic/versioned-language.c
M clang/test/DebugInfo/KeyInstructions/flag.cpp
A clang/test/DebugInfo/ObjC/property-synthesized-accessors.m
A clang/test/DebugInfo/ObjC/versioned-language.m
A clang/test/DebugInfo/ObjCXX/versioned-language.mm
A clang/test/Driver/DTLTO/Inputs/dtlto-helper.py
M clang/test/Driver/DTLTO/dtlto.c
R clang/test/Driver/DTLTO/filename.py
A clang/test/Driver/DTLTO/lit.local.cfg
M clang/test/Driver/DTLTO/ps5-dtlto.c
M clang/test/Driver/aarch64-ptrauth.c
M clang/test/Driver/aarch64-v96a.c
A clang/test/Driver/aarch64-v97a.c
M clang/test/Driver/arm-abi.c
M clang/test/Driver/arm-cortex-cpus-1.c
M clang/test/Driver/arm-cortex-cpus-2.c
M clang/test/Driver/baremetal-multilib-custom-error.yaml
A clang/test/Driver/call-graph-section.c
M clang/test/Driver/config-file3.c
M clang/test/Driver/config-zos.c
M clang/test/Driver/config-zos1.c
M clang/test/Driver/debug-options.c
M clang/test/Driver/fsanitize-alloc-token.c
M clang/test/Driver/fuchsia.c
R clang/test/Driver/gpu-libc-headers.c
A clang/test/Driver/gpu-libc.c
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/spirv-amd-toolchain.c
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/wasm-toolchain.cpp
M clang/test/Driver/x86-march.c
M clang/test/FixIt/fixit-constrained-structured-binding.cpp
M clang/test/Frontend/absolute-paths-symlinks.c
M clang/test/Frontend/arm-ignore-branch-protection-option.c
M clang/test/Frontend/cfi-unchecked-callee-attribute.cpp
M clang/test/Frontend/rewrite-includes-bom.c
M clang/test/Headers/__clang_hip_math.hip
A clang/test/Headers/floatneeds.c
M clang/test/Headers/wasm.c
A clang/test/InstallAPI/project-header-only-args-visibility.test
M clang/test/Interpreter/pretty-print.c
M clang/test/Lexer/minimize_source_to_dependency_directives_utf8bom.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note/arm.c
M clang/test/Misc/target-invalid-cpu-note/x86.c
M clang/test/Modules/crash-vfs-path-symlink-component.m
M clang/test/Modules/crash-vfs-path-traversal.m
M clang/test/Modules/crash-vfs-relative-incdir.m
M clang/test/Modules/crash-vfs-relative-overlay.m
M clang/test/Modules/crash-vfs-run-reproducer.m
A clang/test/Modules/explicit-build-cwd.c
M clang/test/Modules/fmodules-validate-once-per-build-session.c
M clang/test/Modules/relative-resource-dir.m
R clang/test/OpenMP/amdgcn_parallel_num_threads_strict_messages.cpp
M clang/test/OpenMP/bug54082.c
A clang/test/OpenMP/nowait_ast_print.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/reduction_complex.c
M clang/test/OpenMP/target_enter_data_nowait_messages.cpp
M clang/test/OpenMP/target_exit_data_nowait_messages.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_nowait_messages.cpp
M clang/test/OpenMP/target_parallel_for_nowait_messages.cpp
M clang/test/OpenMP/target_parallel_for_simd_nowait_messages.cpp
M clang/test/OpenMP/target_parallel_nowait_messages.cpp
A clang/test/OpenMP/target_parallel_num_threads_strict_messages.cpp
M clang/test/OpenMP/target_simd_nowait_messages.cpp
M clang/test/OpenMP/target_teams_distribute_nowait_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_nowait_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_nowait_messages.cpp
M clang/test/OpenMP/target_teams_distribute_simd_nowait_messages.cpp
M clang/test/OpenMP/target_teams_nowait_messages.cpp
M clang/test/OpenMP/target_update_nowait_messages.cpp
M clang/test/PCH/cxx1z-decomposition.cpp
M clang/test/Parser/DelayedTemplateParsing.cpp
M clang/test/Parser/c2x-auto.c
M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/Parser/cxx2c-binding-pack.cpp
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/arm-target-features.c
A clang/test/Preprocessor/cxx_oper_comma.cpp
M clang/test/Preprocessor/embed___has_embed_parsing_errors.c
A clang/test/Preprocessor/embed_empty_file.c
M clang/test/Preprocessor/hexagon-predefines.c
M clang/test/Preprocessor/init-aarch64.c
M clang/test/Preprocessor/init-loongarch.c
M clang/test/Preprocessor/init-mips.c
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/predefined-arch-macros.c
A clang/test/Preprocessor/riscv-atomics.c
M clang/test/Preprocessor/riscv-target-features-sifive.c
A clang/test/Preprocessor/systemz_asm_flag_output.c
A clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2_OR_sme2_RP_AND_faminmax___sme_AND_sme2_AND_faminmax.c
A clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2_OR_sme2_RP_AND_fp8___sme_AND_sme2_AND_fp8.c
A clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2_OR_sme2_RP_AND_lut___sme_AND_sme2_AND_lut.c
A clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2_OR_sme_RP___sme.c
A clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_sve-sha3___sme_AND_sme2p1_AND_sve-sha3.c
R clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_sve-sha3___sme_AND_sve-sha3_AND_sme2p1.c
R clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_sve2_AND_faminmax___sme_AND_sme2_AND_faminmax.c
R clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_sve2_AND_fp8___sme_AND_sme2_AND_fp8.c
R clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_sve2_AND_lut___sme_AND_sme2_AND_lut.c
R clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_sve2___sme.c
A clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_sve2p1___sme_AND_LP_sve2p1_OR_sme2_RP.c
R clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_sve2p1___sme_AND_sme2.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
A clang/test/Sema/atomic-ops-fp-minmax.c
M clang/test/Sema/attr-cpuspecific-cpus.c
M clang/test/Sema/attr-print.c
A clang/test/Sema/callingconv-devicekernel.cpp
M clang/test/Sema/callingconv.c
A clang/test/Sema/incompatible-function-pointer-types-extinfo.c
M clang/test/Sema/inline.c
M clang/test/Sema/internal_linkage.c
A clang/test/Sema/sifive-xsfmm.c
A clang/test/Sema/sifive_sf_vset_invalid.c
M clang/test/SemaCUDA/Inputs/cuda.h
M clang/test/SemaCUDA/atomic-ops.cu
A clang/test/SemaCUDA/cluster_dims.cu
M clang/test/SemaCUDA/spirv-amdgcn-atomic-ops.cu
A clang/test/SemaCXX/alloc-token.cpp
M clang/test/SemaCXX/builtin-structured-binding-size.cpp
M clang/test/SemaCXX/constexpr-string.cpp
M clang/test/SemaCXX/cxx17-compat.cpp
M clang/test/SemaCXX/cxx1z-decomposition.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
M clang/test/SemaCXX/cxx2c-binding-pack-nontemplate.cpp
M clang/test/SemaCXX/cxx2c-binding-pack.cpp
M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
M clang/test/SemaCXX/cxx2c-template-template-param.cpp
M clang/test/SemaCXX/libstdcxx_pair_swap_hack.cpp
M clang/test/SemaCXX/matrix-type.cpp
A clang/test/SemaCXX/ptrauth-nested-incomplete-types.cpp
M clang/test/SemaCXX/sizeless-1.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/warn-implicit-unicode-conversions.cpp
M clang/test/SemaCXX/warn-shadow-in-lambdas.cpp
A clang/test/SemaHIP/builtins-amdgcn-raw-buffer-atomic-add.hip
A clang/test/SemaHIP/builtins-amdgcn-raw-buffer-atomic-fmin-max.hip
M clang/test/SemaHLSL/BuiltIns/matrix-basic_types-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/matrix-constructors-errors.hlsl
M clang/test/SemaHLSL/Language/AggregateSplatCasts.hlsl
M clang/test/SemaHLSL/Language/ElementwiseCasts.hlsl
M clang/test/SemaHLSL/Language/TemplateOutArg.hlsl
A clang/test/SemaHLSL/Operators/logical-not.hlsl
M clang/test/SemaHLSL/Semantics/entry_parameter.hlsl
M clang/test/SemaHLSL/Semantics/position.ps.hlsl
A clang/test/SemaHLSL/Semantics/position.ps.struct.hlsl
A clang/test/SemaHLSL/Semantics/struct_input.hlsl
M clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/loop-construct-reduction-ast.cpp
M clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
M clang/test/SemaOpenCL/address-spaces.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250.cl
A clang/test/SemaOpenCL/builtins-image-load-param-gfx1100-err.cl
A clang/test/SemaOpenCL/builtins-image-load-param-gfx942-err.cl
A clang/test/SemaOpenCL/builtins-image-store-param-gfx1100-err.cl
A clang/test/SemaOpenCL/builtins-image-store-param-gfx942-err.cl
A clang/test/SemaOpenMP/openmp-begin-declare-variant_template.cpp
A clang/test/SemaTemplate/GH164330.cpp
M clang/test/SemaTemplate/concepts-recursive-inst.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/cxx1z-decomposition.cpp
M clang/test/SemaTemplate/instantiate-self.cpp
M clang/test/SemaTemplate/partial-spec-instantiate.cpp
M clang/test/Tooling/clang-check-pwd.cpp
M clang/test/Unit/lit.cfg.py
M clang/test/lit.cfg.py
R clang/tools/clang-fuzzer/Dockerfile
M clang/tools/clang-fuzzer/README.txt
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXIndexDataConsumer.cpp
M clang/tools/libclang/CXType.cpp
M clang/unittests/AST/ASTContextParentMapTest.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/StructuralEquivalenceTest.cpp
M clang/unittests/ASTMatchers/CMakeLists.txt
R clang/unittests/ASTMatchers/GtestMatchersTest.cpp
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
A clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
A clang/unittests/Analysis/FlowSensitive/MockHeaders.h
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
A clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTest.cpp
A clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
A clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.h
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Basic/CMakeLists.txt
A clang/unittests/Basic/LangOptionsTest.cpp
M clang/unittests/CIR/PointerLikeTest.cpp
M clang/unittests/Driver/MultilibBuilderTest.cpp
M clang/unittests/Driver/MultilibTest.cpp
M clang/unittests/Format/AlignBracketsTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestCSharp.cpp
M clang/unittests/Format/FormatTestComments.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/FormatTestObjC.cpp
M clang/unittests/Format/FormatTestTextProto.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CompilerInvocationTest.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/StaticAnalyzer/RangeSetTest.cpp
M clang/unittests/StaticAnalyzer/SValTest.cpp
A clang/unittests/StaticAnalyzer/UnsignedStatDemo.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/unittests/Tooling/LookupTest.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/MemberPointerTypeLoc.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/NestedNameSpecifiers.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/perf-training/perf-helper.py
M clang/www/c_status.html
M clang/www/cxx_status.html
M cmake/Modules/FindGRPC.cmake
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/CompilerRTAIXUtils.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/asan_fake_stack.cpp
M compiler-rt/lib/asan/asan_fake_stack.h
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_rtl_x86_64.S
M compiler-rt/lib/asan/asan_thread.cpp
M compiler-rt/lib/asan/asan_thread.h
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/builtins/assembly.h
M compiler-rt/lib/builtins/cpu_model/x86.c
M compiler-rt/lib/builtins/gcc_personality_v0.c
M compiler-rt/lib/hwasan/hwasan_setjmp_x86_64.S
M compiler-rt/lib/msan/msan.h
M compiler-rt/lib/msan/msan_allocator.cpp
M compiler-rt/lib/msan/msan_report.cpp
M compiler-rt/lib/orc/elfnix_tls.x86-64.S
M compiler-rt/lib/orc/sysv_reenter.x86-64.S
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/profile/GCDAProfiling.c
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingUtil.c
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S
M compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_signal_interceptors.inc
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
M compiler-rt/lib/tsan/rtl/tsan_flags.cpp
M compiler-rt/lib/tsan/rtl/tsan_flags.h
M compiler-rt/lib/tsan/rtl/tsan_flags.inc
M compiler-rt/lib/tsan/rtl/tsan_interceptors.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_amd64.S
A compiler-rt/test/asan/TestCases/Windows/basic_exception_handling.cpp
M compiler-rt/test/asan/TestCases/wcscat.cpp
M compiler-rt/test/asan/TestCases/wcscpy.cpp
M compiler-rt/test/asan/TestCases/wcsncat.cpp
M compiler-rt/test/asan/TestCases/wcsncpy.cpp
A compiler-rt/test/msan/allocator_padding.cpp
M compiler-rt/test/msan/zero_alloc.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/allow_user_segv.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/cloak_sigaction.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/cloak_signal.cpp
A compiler-rt/test/tsan/Darwin/write-interpose.c
M cross-project-tests/intrinsic-header-tests/wasm_simd128.c
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/include/flang-rt/runtime/connection.h
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/kernel.cpp
M flang/docs/AssumedRank.md
M flang/docs/C++17.md
M flang/docs/C++style.md
M flang/docs/Calls.md
M flang/docs/Character.md
M flang/docs/DoConcurrent.md
M flang/docs/Extensions.md
M flang/docs/FortranForCProgrammers.md
M flang/docs/FortranIR.md
M flang/docs/FortranLLVMTestSuite.md
M flang/docs/GettingInvolved.md
M flang/docs/Intrinsics.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Evaluate/call.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/CUDA.h
M flang/include/flang/Lower/DirectivesCommon.h
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Lower/OpenMP/Clauses.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
R flang/include/flang/Optimizer/Builder/Runtime/Coarray.h
M flang/include/flang/Optimizer/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
A flang/include/flang/Optimizer/Dialect/MIF/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/MIF/MIFDialect.h
A flang/include/flang/Optimizer/Dialect/MIF/MIFDialect.td
A flang/include/flang/Optimizer/Dialect/MIF/MIFOps.h
A flang/include/flang/Optimizer/Dialect/MIF/MIFOps.td
A flang/include/flang/Optimizer/OpenACC/CMakeLists.txt
A flang/include/flang/Optimizer/OpenACC/Passes.h
A flang/include/flang/Optimizer/OpenACC/Passes.td
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.h
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Optimizer/Support/Utils.h
A flang/include/flang/Optimizer/Transforms/MIFOpConversion.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/tools.h
M flang/include/flang/Semantics/dump-expr.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Semantics/type.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/include/flang/Utils/OpenMP.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/CUDA.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/IO.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/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/Runtime.cpp
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
R flang/lib/Optimizer/Builder/Runtime/Coarray.cpp
M flang/lib/Optimizer/Builder/Runtime/Main.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
A flang/lib/Optimizer/Dialect/MIF/CMakeLists.txt
A flang/lib/Optimizer/Dialect/MIF/MIFDialect.cpp
A flang/lib/Optimizer/Dialect/MIF/MIFOps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
A flang/lib/Optimizer/OpenACC/Transforms/ACCRecipeBufferization.cpp
A flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/AutomapToTargetData.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Support/Utils.cpp
M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
A flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/tools.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-call.h
M flang/lib/Semantics/check-case.cpp
M flang/lib/Semantics/check-coarray.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-data.cpp
M flang/lib/Semantics/check-data.h
M flang/lib/Semantics/check-deallocate.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-io.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/data-to-inits.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-directives.h
M flang/lib/Semantics/resolve-names-utils.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/scope.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Utils/OpenMP.cpp
M flang/module/cudadevice.f90
M flang/test/CMakeLists.txt
M flang/test/Driver/func-attr-fast-math.f90
M flang/test/Driver/lto-bc.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/CUDA/cuda-code-gen.mlir
M flang/test/Fir/CUDA/cuda-data-transfer.fir
M flang/test/Fir/CUDA/cuda-global-addr.mlir
M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
A flang/test/Fir/MIF/co_broadcast.mlir
A flang/test/Fir/MIF/co_max.mlir
A flang/test/Fir/MIF/co_min.mlir
A flang/test/Fir/MIF/co_sum.mlir
A flang/test/Fir/MIF/init.mlir
A flang/test/Fir/MIF/num_images.mlir
A flang/test/Fir/MIF/sync_all.mlir
A flang/test/Fir/MIF/sync_images.mlir
A flang/test/Fir/MIF/sync_memory.mlir
A flang/test/Fir/MIF/this_image.mlir
M flang/test/Fir/OpenACC/openacc-type-categories-class.f90
A flang/test/Fir/OpenACC/openacc-type-categories-declare-storage.mlir
A flang/test/Fir/OpenACC/pointer-like-interface-alloc.mlir
A flang/test/Fir/OpenACC/pointer-like-interface-copy.mlir
A flang/test/Fir/OpenACC/pointer-like-interface-free.mlir
A flang/test/Fir/OpenACC/recipe-bufferization.mlir
A flang/test/Fir/OpenACC/recipe-populate-firstprivate.mlir
A flang/test/Fir/OpenACC/recipe-populate-private.mlir
A flang/test/Fir/assumed-size-ops-codegen.fir
A flang/test/Fir/assumed-size-ops-folding.fir
A flang/test/Fir/assumed-size-ops-roundtrip.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/HLFIR/as_expr-codegen.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/bufferize-poly-expr.fir
M flang/test/HLFIR/element-codegen-issue-118922.fir
A flang/test/Lower/CUDA/TODO/cuda-allocate-default-init.cuf
A flang/test/Lower/CUDA/TODO/cuda-allocate-source-device.cuf
A flang/test/Lower/CUDA/cuda-associate-data-transfer.cuf
A flang/test/Lower/CUDA/cuda-cloc.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
M flang/test/Lower/CUDA/cuda-managed.cuf
R flang/test/Lower/Coarray/co_broadcast.f90
R flang/test/Lower/Coarray/co_max.f90
R flang/test/Lower/Coarray/co_min.f90
R flang/test/Lower/Coarray/co_sum.f90
R flang/test/Lower/Coarray/coarray-init.f90
R flang/test/Lower/Coarray/num_images.f90
R flang/test/Lower/Coarray/sync_all.f90
R flang/test/Lower/Coarray/sync_images.f90
R flang/test/Lower/Coarray/sync_memory.f90
R flang/test/Lower/Coarray/this_image.f90
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
M flang/test/Lower/HLFIR/select-rank.f90
M flang/test/Lower/Intrinsics/lbound.f90
M flang/test/Lower/Intrinsics/ubound.f90
A flang/test/Lower/MIF/co_broadcast.f90
A flang/test/Lower/MIF/co_max.f90
A flang/test/Lower/MIF/co_min.f90
A flang/test/Lower/MIF/co_sum.f90
A flang/test/Lower/MIF/coarray-init.f90
A flang/test/Lower/MIF/num_images.f90
A flang/test/Lower/MIF/sync_all.f90
A flang/test/Lower/MIF/sync_images.f90
A flang/test/Lower/MIF/sync_memory.f90
A flang/test/Lower/MIF/this_image.f90
A flang/test/Lower/OpenACC/acc-data-operands-remapping-common.f90
A flang/test/Lower/OpenACC/acc-data-operands-remapping.f90
A flang/test/Lower/OpenACC/acc-declare-common-in-function.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-allocatable-component.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-pointer-component.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived.f90
A flang/test/Lower/OpenACC/acc-loop-collapse-force-lowering.f90
M flang/test/Lower/OpenACC/acc-loop-exit.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-unstructured.f90
M flang/test/Lower/OpenACC/do-loops-to-acc-loops.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-private-implicit-scalar-map.f90
A flang/test/Lower/OpenMP/Todo/attach-modifier.f90
A flang/test/Lower/OpenMP/atomic-requires-conflict-v50-1.f90
A flang/test/Lower/OpenMP/atomic-requires-conflict-v50-2.f90
A flang/test/Lower/OpenMP/atomic-requires-conflict-v50-3.f90
A flang/test/Lower/OpenMP/atomic-requires-conflict-v50-4.f90
A flang/test/Lower/OpenMP/atomic-requires-conflict-v60-1.f90
A flang/test/Lower/OpenMP/atomic-requires-conflict-v60-2.f90
M flang/test/Lower/OpenMP/common-block-map.f90
A flang/test/Lower/OpenMP/cptr-usm-close-and-use-device-ptr.f90
M flang/test/Lower/OpenMP/declare-mapper.f90
M flang/test/Lower/OpenMP/defaultmap.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
M flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
M flang/test/Lower/OpenMP/has_device_addr-mapinfo.f90
M flang/test/Lower/OpenMP/local-intrinsic-sized-array-map.f90
A flang/test/Lower/OpenMP/map-descriptor-deferral.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/reduction-array-intrinsic.f90
M flang/test/Lower/OpenMP/target.f90
A flang/test/Lower/OpenMP/workdistribute-multiple.f90
A flang/test/Lower/OpenMP/workdistribute-saxpy-1d.f90
A flang/test/Lower/OpenMP/workdistribute-saxpy-2d.f90
A flang/test/Lower/OpenMP/workdistribute-saxpy-3d.f90
A flang/test/Lower/OpenMP/workdistribute-saxpy-and-scalar-assign.f90
A flang/test/Lower/OpenMP/workdistribute-saxpy-two-2d.f90
A flang/test/Lower/OpenMP/workdistribute-scalar-assign.f90
A flang/test/Lower/OpenMP/workdistribute-target-teams-clauses.f90
A flang/test/Lower/OpenMP/workdistribute-teams-unsupported-after.f90
A flang/test/Lower/OpenMP/workdistribute-teams-unsupported-before.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/entry-statement.f90
A flang/test/Lower/forall-polymorphic.f90
A flang/test/Lower/generic-shadows-specific.F90
M flang/test/Lower/math-lowering/sinh.f90
M flang/test/Lower/namelist.f90
M flang/test/Lower/polymorphic-temp.f90
M flang/test/Lower/trigonometric-intrinsics.f90
M flang/test/Parser/OpenMP/allocate-align-tree.f90
M flang/test/Parser/OpenMP/declare-reduction-multi.f90
M flang/test/Parser/OpenMP/declare-reduction-operator.f90
M flang/test/Parser/OpenMP/declare-reduction-unparse.f90
A flang/test/Parser/OpenMP/map-modifiers-v61.f90
M flang/test/Parser/OpenMP/metadirective-dirspec.f90
M flang/test/Parser/OpenMP/openmp6-directive-spellings.f90
M flang/test/Parser/OpenMP/requires.f90
M flang/test/Parser/cuf-sanity-common
M flang/test/Parser/cuf-sanity-tree.CUF
A flang/test/Preprocessing/bug164470.cuf
A flang/test/Preprocessing/bug164727.cuf
A flang/test/Semantics/OpenACC/acc-common.f90
A flang/test/Semantics/OpenACC/bug1583.f90
A flang/test/Semantics/OpenMP/align-clause.f90
M flang/test/Semantics/OpenMP/allocate-align01.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate04.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate08.f90
M flang/test/Semantics/OpenMP/allocators04.f90
R flang/test/Semantics/OpenMP/allocators06.f90
M flang/test/Semantics/OpenMP/combined-constructs.f90
M flang/test/Semantics/OpenMP/declarative-directive02.f90
M flang/test/Semantics/OpenMP/do05.f90
A flang/test/Semantics/OpenMP/dump-requires-details.f90
M flang/test/Semantics/OpenMP/linear-iter.f90
A flang/test/Semantics/OpenMP/map-modifiers-v61.f90
M flang/test/Semantics/OpenMP/nested-distribute.f90
A flang/test/Semantics/OpenMP/omp-atomic-write-pointer-derived.f90
A flang/test/Semantics/OpenMP/omp-common-fp-lp.f90
A flang/test/Semantics/OpenMP/requires-modfile.f90
M flang/test/Semantics/OpenMP/requires09.f90
A flang/test/Semantics/OpenMP/requires10.f90
A flang/test/Semantics/bug1491.f90
A flang/test/Semantics/bug161989.f90
A flang/test/Semantics/bug163242.f90
A flang/test/Semantics/bug163255.f90
A flang/test/Semantics/bug164303.f90
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/data21.f90
A flang/test/Semantics/dynamic-type-intrinsics.f90
A flang/test/Semantics/func-proc-result.f90
A flang/test/Semantics/generic-error.f90
M flang/test/Semantics/io11.f90
M flang/test/Semantics/kinds03.f90
M flang/test/Semantics/null-init.f90
A flang/test/Semantics/pdt05.f90
M flang/test/Semantics/real10-x86-01.f90
M flang/test/Semantics/resolve63.f90
A flang/test/Semantics/structconst11.f90
M flang/test/Semantics/symbol17.f90
M flang/test/Semantics/type-parameter-constant.f90
M flang/test/Transforms/DoConcurrent/map_shape_info.f90
M flang/test/Transforms/DoConcurrent/non_reference_to_device.f90
A flang/test/Transforms/OpenMP/lower-workdistribute-doloop.mlir
A flang/test/Transforms/OpenMP/lower-workdistribute-fission-host.mlir
A flang/test/Transforms/OpenMP/lower-workdistribute-fission-target.mlir
A flang/test/Transforms/OpenMP/lower-workdistribute-fission.mlir
A flang/test/Transforms/OpenMP/lower-workdistribute-runtime-assign-scalar.mlir
M flang/test/Transforms/debug-assumed-size-array.fir
M flang/test/Transforms/omp-map-info-finalization.fir
M flang/tools/bbc/CMakeLists.txt
M flang/tools/fir-lsp-server/CMakeLists.txt
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/fir-opt/fir-opt.cpp
M flang/tools/tco/CMakeLists.txt
M flang/unittests/Optimizer/CMakeLists.txt
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/config.json
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/docs/build_and_test.rst
M libc/docs/dev/undefined_behavior.rst
M libc/include/CMakeLists.txt
M libc/include/arpa/inet.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/annex-k-macros.h
M libc/include/llvm-libc-macros/gpu/signal-macros.h
M libc/include/llvm-libc-macros/linux/signal-macros.h
M libc/include/llvm-libc-macros/netinet-in-macros.h
A libc/include/llvm-libc-macros/nl-types-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/int_hk_t.h
A libc/include/llvm-libc-types/int_hr_t.h
A libc/include/llvm-libc-types/int_k_t.h
A libc/include/llvm-libc-types/int_lk_t.h
A libc/include/llvm-libc-types/int_lr_t.h
A libc/include/llvm-libc-types/int_r_t.h
A libc/include/llvm-libc-types/nl_catd.h
R libc/include/llvm-libc-types/stdfix-types.h
A libc/include/llvm-libc-types/uint_uhk_t.h
A libc/include/llvm-libc-types/uint_uhr_t.h
A libc/include/llvm-libc-types/uint_uk_t.h
A libc/include/llvm-libc-types/uint_ulk_t.h
A libc/include/llvm-libc-types/uint_ulr_t.h
A libc/include/llvm-libc-types/uint_ur_t.h
A libc/include/nl_types.yaml
M libc/include/stdfix.yaml
M libc/include/stdio.yaml
M libc/include/wchar.yaml
M libc/shared/math.h
A libc/shared/math/exp2f16.h
A libc/shared/math/exp2m1f.h
M libc/src/CMakeLists.txt
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/OSUtil/linux/auxv.h
M libc/src/__support/OSUtil/linux/syscall.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/atan2f.h
M libc/src/__support/math/cosf.h
A libc/src/__support/math/exp2f16.h
A libc/src/__support/math/exp2m1f.h
A libc/src/__support/math/sincosf_float_eval.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/arpa/inet/CMakeLists.txt
A libc/src/arpa/inet/inet_aton.cpp
A libc/src/arpa/inet/inet_aton.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/asinpif16.cpp
M libc/src/math/generic/exp2f16.cpp
M libc/src/math/generic/exp2m1f.cpp
M libc/src/math/generic/sinf.cpp
A libc/src/nl_types/CMakeLists.txt
A libc/src/nl_types/catclose.cpp
A libc/src/nl_types/catclose.h
A libc/src/nl_types/catgets.cpp
A libc/src/nl_types/catgets.h
A libc/src/nl_types/catopen.cpp
A libc/src/nl_types/catopen.h
M libc/src/setjmp/x86_64/sigsetjmp.cpp
M libc/src/stdfix/CMakeLists.txt
M libc/src/stdfix/bitshk.cpp
M libc/src/stdfix/bitshk.h
M libc/src/stdfix/bitshr.cpp
M libc/src/stdfix/bitshr.h
M libc/src/stdfix/bitsk.cpp
M libc/src/stdfix/bitsk.h
M libc/src/stdfix/bitslk.cpp
M libc/src/stdfix/bitslk.h
M libc/src/stdfix/bitslr.cpp
M libc/src/stdfix/bitslr.h
M libc/src/stdfix/bitsr.cpp
M libc/src/stdfix/bitsr.h
M libc/src/stdfix/bitsuhk.cpp
M libc/src/stdfix/bitsuhk.h
M libc/src/stdfix/bitsuhr.cpp
M libc/src/stdfix/bitsuhr.h
M libc/src/stdfix/bitsuk.cpp
M libc/src/stdfix/bitsuk.h
M libc/src/stdfix/bitsulk.cpp
M libc/src/stdfix/bitsulk.h
M libc/src/stdfix/bitsulr.cpp
M libc/src/stdfix/bitsulr.h
M libc/src/stdfix/bitsur.cpp
M libc/src/stdfix/bitsur.h
M libc/src/stdfix/bitusk.cpp
M libc/src/stdfix/hkbits.h
M libc/src/stdfix/hrbits.h
M libc/src/stdfix/kbits.h
M libc/src/stdfix/lkbits.h
M libc/src/stdfix/lrbits.h
M libc/src/stdfix/rbits.h
M libc/src/stdfix/uhkbits.h
M libc/src/stdfix/uhrbits.h
M libc/src/stdfix/ukbits.h
M libc/src/stdfix/ulkbits.h
M libc/src/stdfix/ulrbits.h
M libc/src/stdfix/urbits.h
M libc/src/string/memory_utils/op_aarch64.h
M libc/src/string/memory_utils/op_x86.h
M libc/src/string/memory_utils/x86_64/inline_bcmp.h
M libc/src/sys/mman/linux/mmap.cpp
M libc/src/wchar/wcsnrtombs.cpp
M libc/src/wchar/wcsnrtombs.h
M libc/src/wchar/wcsrtombs.cpp
M libc/src/wchar/wcsrtombs.h
M libc/startup/linux/aarch64/tls.cpp
M libc/startup/linux/riscv/tls.cpp
M libc/startup/linux/x86_64/tls.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/include/netinet_in_test.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/arpa/inet/CMakeLists.txt
A libc/test/src/arpa/inet/inet_aton_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/acos_test.cpp
M libc/test/src/math/acosf16_test.cpp
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asin_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf16_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/atan2f_test.cpp
M libc/test/src/math/atanf16_test.cpp
M libc/test/src/math/cbrt_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf16_test.cpp
A libc/test/src/math/cosf_float_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf16_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/cosf_float_test.cpp
M libc/test/src/math/exhaustive/exhaustive_test.h
A libc/test/src/math/exhaustive/sinf_float_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f16_test.cpp
M libc/test/src/math/exp10m1f16_test.cpp
M libc/test/src/math/exp10m1f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f16_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp2m1f16_test.cpp
M libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf16_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f16_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f16_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f16_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf16_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/powf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincos_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf16_test.cpp
A libc/test/src/math/sinf_float_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf16_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf16_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf16_test.cpp
M libc/test/src/math/tanpif16_test.cpp
A libc/test/src/nl_types/CMakeLists.txt
A libc/test/src/nl_types/nl_types_test.cpp
M libc/test/src/stdfix/CMakeLists.txt
M libc/test/src/stdfix/FxBitsTest.h
M libc/test/src/stdfix/bitshk_test.cpp
M libc/test/src/stdfix/bitshr_test.cpp
M libc/test/src/stdfix/bitsk_test.cpp
M libc/test/src/stdfix/bitslk_test.cpp
M libc/test/src/stdfix/bitslr_test.cpp
M libc/test/src/stdfix/bitsr_test.cpp
M libc/test/src/stdfix/bitsuhk_test.cpp
M libc/test/src/stdfix/bitsuhr_test.cpp
M libc/test/src/stdfix/bitsuk_test.cpp
M libc/test/src/stdfix/bitsulk_test.cpp
M libc/test/src/stdfix/bitsulr_test.cpp
M libc/test/src/stdfix/bitsur_test.cpp
M libc/test/src/sys/mman/linux/CMakeLists.txt
M libc/test/src/sys/mman/linux/mincore_test.cpp
M libc/test/src/sys/mman/linux/mlock_test.cpp
M libc/test/src/sys/mman/linux/msync_test.cpp
M libc/test/src/sys/mman/linux/remap_file_pages_test.cpp
M libclc/CMakeLists.txt
M libclc/clc/include/clc/integer/gentype.inc
M libclc/clc/include/clc/math/clc_sincos_helpers.inc
M libclc/clc/include/clc/math/clc_sincos_helpers_fp64.inc
R libclc/clc/include/clc/math/clc_sincos_piby4.h
R libclc/clc/include/clc/math/clc_sincos_piby4.inc
M libclc/clc/lib/generic/common/clc_degrees.cl
A libclc/clc/lib/generic/common/clc_degrees.inc
M libclc/clc/lib/generic/common/clc_radians.cl
A libclc/clc/lib/generic/common/clc_radians.inc
M libclc/clc/lib/generic/common/clc_smoothstep.cl
A libclc/clc/lib/generic/common/clc_smoothstep.inc
M libclc/clc/lib/generic/common/clc_step.cl
M libclc/clc/lib/generic/integer/clc_abs.inc
M libclc/clc/lib/generic/math/clc_cos.cl
M libclc/clc/lib/generic/math/clc_cospi.cl
M libclc/clc/lib/generic/math/clc_nan.inc
M libclc/clc/lib/generic/math/clc_sin.cl
M libclc/clc/lib/generic/math/clc_sincos_helpers.inc
M libclc/clc/lib/generic/math/clc_sincos_helpers_fp64.inc
M libclc/clc/lib/generic/math/clc_sinpi.cl
M libclc/clc/lib/generic/math/clc_tan.cl
M libclc/clc/lib/generic/math/clc_tanpi.cl
M libclc/cmake/modules/AddLibclc.cmake
M libclc/opencl/lib/generic/common/smoothstep.cl
A libclc/opencl/lib/generic/common/smoothstep.inc
M libcxx/cmake/caches/Armv7Arm.cmake
M libcxx/cmake/caches/Armv7Thumb-no-exceptions.cmake
M libcxx/cmake/caches/Armv8Arm.cmake
M libcxx/cmake/caches/Armv8Thumb-no-exceptions.cmake
M libcxx/cmake/caches/Generic-hardening-mode-debug.cmake
M libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
M libcxx/cmake/caches/Generic-hardening-mode-fast-with-abi-breaks.cmake
M libcxx/cmake/caches/Generic-hardening-mode-fast.cmake
M libcxx/cmake/caches/Generic-merged.cmake
M libcxx/cmake/caches/Generic-msan.cmake
M libcxx/cmake/caches/Generic-optimized-speed.cmake
M libcxx/cmake/caches/Generic-static.cmake
M libcxx/cmake/caches/Generic-tsan.cmake
M libcxx/cmake/caches/Generic-ubsan.cmake
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/TestingLibcxx.rst
M libcxx/docs/VendorDocumentation.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/fill.h
M libcxx/include/__algorithm/fill_n.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/generate.h
M libcxx/include/__algorithm/generate_n.h
M libcxx/include/__algorithm/ranges_fill.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/atomic_ref.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__chrono/file_clock.h
M libcxx/include/__compare/strong_order.h
M libcxx/include/__config
M libcxx/include/__configuration/abi.h
M libcxx/include/__configuration/availability.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/for_each.h
M libcxx/include/__cxx03/__atomic/atomic.h
M libcxx/include/__cxx03/__atomic/atomic_base.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit_reference
M libcxx/include/__cxx03/__thread/support/pthread.h
M libcxx/include/__cxx03/__verbose_abort
M libcxx/include/__cxx03/cctype
M libcxx/include/__cxx03/cerrno
M libcxx/include/__cxx03/cfenv
M libcxx/include/__cxx03/cfloat
M libcxx/include/__cxx03/cinttypes
R libcxx/include/__cxx03/complex.h
M libcxx/include/__cxx03/cstddef
M libcxx/include/__cxx03/cstdio
R libcxx/include/__cxx03/ctype.h
M libcxx/include/__cxx03/cwctype
R libcxx/include/__cxx03/errno.h
M libcxx/include/__cxx03/ext/__hash
R libcxx/include/__cxx03/fenv.h
R libcxx/include/__cxx03/float.h
R libcxx/include/__cxx03/inttypes.h
M libcxx/include/__cxx03/regex
M libcxx/include/__cxx03/sstream
R libcxx/include/__cxx03/stdbool.h
R libcxx/include/__cxx03/stddef.h
R libcxx/include/__cxx03/stdio.h
R libcxx/include/__cxx03/tgmath.h
M libcxx/include/__cxx03/vector
M libcxx/include/__cxx03/wchar.h
R libcxx/include/__cxx03/wctype.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/filesystem_error.h
M libcxx/include/__filesystem/operations.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/path_iterator.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__filesystem/u8path.h
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
M libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/distance.h
M libcxx/include/__memory/array_cookie.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__stop_token/atomic_unique_lock.h
M libcxx/include/__stop_token/stop_callback.h
M libcxx/include/__stop_token/stop_source.h
M libcxx/include/__stop_token/stop_state.h
M libcxx/include/__stop_token/stop_token.h
M libcxx/include/__thread/jthread.h
M libcxx/include/__thread/poll_with_backoff.h
M libcxx/include/__tree
R libcxx/include/__tuple/tuple_like_ext.h
M libcxx/include/__utility/cmp.h
M libcxx/include/__utility/scope_guard.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/barrier
M libcxx/include/complex.h
M libcxx/include/condition_variable
M libcxx/include/ctype.h
M libcxx/include/deque
M libcxx/include/errno.h
M libcxx/include/fenv.h
M libcxx/include/float.h
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/inttypes.h
M libcxx/include/latch
M libcxx/include/list
M libcxx/include/map
M libcxx/include/module.modulemap.in
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/stdbool.h
M libcxx/include/stddef.h
M libcxx/include/stdio.h
M libcxx/include/string
M libcxx/include/tgmath.h
M libcxx/include/tuple
M libcxx/include/valarray
M libcxx/include/version
M libcxx/include/wctype.h
M libcxx/src/filesystem/error.h
M libcxx/src/filesystem/format_string.h
M libcxx/src/locale.cpp
M libcxx/test/benchmarks/bitset.bench.cpp
M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
A libcxx/test/benchmarks/iterators/distance.bench.cpp
M libcxx/test/benchmarks/spec.gen.py
A libcxx/test/benchmarks/utility/cmp.bench.cpp
M libcxx/test/configs/apple-libc++-shared.cfg.in
M libcxx/test/configs/apple-libc++-system.cfg.in
M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
M libcxx/test/configs/ibm-libc++-shared.cfg.in
M libcxx/test/configs/llvm-libc++-android.cfg.in
M libcxx/test/configs/llvm-libc++-mingw.cfg.in
M libcxx/test/configs/llvm-libc++-shared-clangcl.cfg.in
M libcxx/test/configs/llvm-libc++-shared-gcc.cfg.in
M libcxx/test/configs/llvm-libc++-shared-no-vcruntime-clangcl.cfg.in
M libcxx/test/configs/llvm-libc++-shared.cfg.in
M libcxx/test/configs/llvm-libc++-static-clangcl.cfg.in
M libcxx/test/configs/llvm-libc++-static.cfg.in
M libcxx/test/configs/stdlib-libstdc++.cfg.in
M libcxx/test/configs/stdlib-native.cfg.in
M libcxx/test/libcxx-03/assertions/customize_verbose_abort.link-time.pass.cpp
M libcxx/test/libcxx-03/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.verify.cpp
M libcxx/test/libcxx-03/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.verify.cpp
M libcxx/test/libcxx-03/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.verify.cpp
M libcxx/test/libcxx-03/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.verify.cpp
M libcxx/test/libcxx-03/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
M libcxx/test/libcxx-03/language.support/support.dynamic/libcpp_deallocate.sh.cpp
M libcxx/test/libcxx/atomics/atomics.syn/wait.issue_85107.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.non_unique.pass.cpp
A libcxx/test/libcxx/diagnostics/atomic.nodiscard.verify.cpp
M libcxx/test/libcxx/diagnostics/filesystem.nodiscard.verify.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_bidirectional_iterator.compile.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_forward_iterator.compile.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_input_iterator.compile.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_iterator.compile.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.assoc.types/iterator.traits/legacy_random_access_iterator.compile.pass.cpp
R libcxx/test/libcxx/thread/atomic.availability.verify.cpp
R libcxx/test/libcxx/thread/barrier.availability.verify.cpp
R libcxx/test/libcxx/thread/latch.availability.verify.cpp
R libcxx/test/libcxx/thread/semaphore.availability.verify.cpp
M libcxx/test/libcxx/thread/thread.stoptoken/atomic_unique_lock.pass.cpp
M libcxx/test/libcxx/utilities/utility/__murmur2_or_cityhash.abi-v2.pass.cpp
M libcxx/test/libcxx/vendor/apple/disable-availability.sh.cpp
M libcxx/test/selftest/dsl/dsl.sh.py
M libcxx/test/selftest/dsl/lit.local.cfg
M libcxx/test/selftest/file_dependencies/absolute-and-relative-paths.sh.cpp
M libcxx/test/selftest/file_dependencies/substitute-in-dependencies.sh.cpp
M libcxx/test/selftest/tmpdir-exists.sh.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/generate.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/generate_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
A libcxx/test/std/atomics/atomics.ref/address.pass.cpp
M libcxx/test/std/atomics/atomics.ref/notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.ref/notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.ref/wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
A libcxx/test/std/atomics/atomics.types.generic/cas_non_power_of_2.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/general.compile.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/pointer.compile.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp
M libcxx/test/std/atomics/types.pass.cpp
M libcxx/test/std/containers/iterator.rel_ops.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/shrink_to_fit.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/assign_copy.pass.cpp
M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_copy.pass.cpp
M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_range.pass.cpp
M libcxx/test/std/containers/unord/unord.multiset/erase_range.pass.cpp
M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_copy.pass.cpp
M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/assign_copy.pass.cpp
M libcxx/test/std/depr/depr.c.headers/uchar_h.compile.pass.cpp
A libcxx/test/std/depr/depr.c.headers/uchar_h_char8_t.compile.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/open_path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.members/open_path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/open_path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/open_path.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_entry/lit.local.cfg
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/default_ctor.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/equal.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/iterator_concept_conformance.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/class.directory_iterator/types.pass.cpp
M libcxx/test/std/input.output/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.itr/iterator.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.charconv.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/empty.verify.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/named_overloads.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.hash_enabled.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/remove_filename.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_extension.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/swap.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/named_overloads.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/native.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/operator_string.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/append_op.verify.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.verify.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/synop.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/cache_refresh_iter.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/range_concept_conformance.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/equal.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/enable_borrowed_range.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/enable_view.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type_resolution.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_procfs.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status_known/status_known.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/bool.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/double.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/float.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/int.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_double.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_long.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/short.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_int.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long_long.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_short.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/streambuf.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size_chart.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf_chart.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size_chart.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.char_type.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/peek.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp
M libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.multiple.pass.cpp
M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
M libcxx/test/std/iterators/iterator.container/ssize.LWG3207.compile.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.operations/distance.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/iterator_sentinel.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp
M libcxx/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/language.support/support.runtime/cstdalign.compile.pass.cpp
M libcxx/test/std/localization/codecvt_unicode.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp
M libcxx/test/std/ranges/range.access/include.iterator.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.match/ecma.pass.cpp
M libcxx/test/std/re/re.regex/re.regex.construct/bad_range.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/resize_and_overwrite.pass.cpp
A libcxx/test/std/strings/basic.string/string.capacity/resize_and_overwrite.verify.cpp
M libcxx/test/std/strings/c.strings/cuchar.compile.pass.cpp
A libcxx/test/std/strings/c.strings/cuchar_char8_t.compile.pass.cpp
R libcxx/test/std/strings/c.strings/no_c8rtomb_mbrtoc8.verify.cpp
M libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.barrier/completion.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_terminates.sh.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp
M libcxx/test/std/thread/thread.jthread/assign.move.pass.cpp
M libcxx/test/std/thread/thread.jthread/cons.default.pass.cpp
M libcxx/test/std/thread/thread.jthread/cons.func.token.pass.cpp
M libcxx/test/std/thread/thread.jthread/cons.move.pass.cpp
M libcxx/test/std/thread/thread.jthread/copy.delete.compile.pass.cpp
M libcxx/test/std/thread/thread.jthread/detach.pass.cpp
M libcxx/test/std/thread/thread.jthread/dtor.pass.cpp
M libcxx/test/std/thread/thread.jthread/get_id.pass.cpp
M libcxx/test/std/thread/thread.jthread/get_stop_source.pass.cpp
M libcxx/test/std/thread/thread.jthread/get_stop_token.pass.cpp
M libcxx/test/std/thread/thread.jthread/hardware_concurrency.pass.cpp
M libcxx/test/std/thread/thread.jthread/join.deadlock.pass.cpp
M libcxx/test/std/thread/thread.jthread/join.pass.cpp
M libcxx/test/std/thread/thread.jthread/joinable.pass.cpp
M libcxx/test/std/thread/thread.jthread/nodiscard.verify.cpp
M libcxx/test/std/thread/thread.jthread/request_stop.pass.cpp
M libcxx/test/std/thread/thread.jthread/swap.free.pass.cpp
M libcxx/test/std/thread/thread.jthread/swap.member.pass.cpp
M libcxx/test/std/thread/thread.jthread/type.compile.pass.cpp
M libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.latch/count_down.pass.cpp
M libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
M libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
M libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
M libcxx/test/std/thread/thread.semaphore/lost_wakeup.pass.cpp
M libcxx/test/std/thread/thread.semaphore/release.pass.cpp
M libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
M libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopcallback/cons.const.token.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopcallback/cons.rvalue.token.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopcallback/copy.move.compile.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopcallback/ctad.compile.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopcallback/dtor.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopsource/assign.copy.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopsource/cons.copy.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopsource/cons.default.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopsource/cons.move.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopsource/cons.nostopstate.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopsource/equals.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopsource/get_token.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopsource/move.copy.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopsource/nodiscard.verify.cpp
M libcxx/test/std/thread/thread.stoptoken/stopsource/request_stop.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopsource/stop_possible.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopsource/stop_requested.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopsource/swap.free.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stopsource/swap.member.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stoptoken/assign.copy.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stoptoken/assign.move.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stoptoken/cons.copy.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stoptoken/cons.default.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stoptoken/cons.move.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stoptoken/equals.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stoptoken/nodiscard.verify.cpp
M libcxx/test/std/thread/thread.stoptoken/stoptoken/stop_possible.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stoptoken/stop_requested.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stoptoken/swap.free.pass.cpp
M libcxx/test/std/thread/thread.stoptoken/stoptoken/swap.member.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.file/now.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.file/to_from_sys.pass.cpp
M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtkind/format_kind.compile.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/assert.subscript.pass.cpp
M libcxx/test/support/make_test_thread.h
M libcxx/test/support/test_macros.h
M libcxx/utils/ci/BOT_OWNERS.txt
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/docker-compose.yml
M libcxx/utils/compare-benchmarks
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/dsl.py
M libcxx/utils/libcxx/test/features.py
M libcxx/utils/libcxx/test/format.py
M libcxx/utils/ssh.py
M libcxx/utils/test-at-commit
M libcxx/utils/visualize-historical
M libcxxabi/include/__cxxabi_config.h
M libcxxabi/src/cxa_exception.cpp
M libcxxabi/src/cxa_exception.h
M libcxxabi/src/cxa_personality.cpp
M libcxxabi/test/configs/apple-libc++abi-shared.cfg.in
M libcxxabi/test/configs/apple-libc++abi-system.cfg.in
M libcxxabi/test/configs/armv7m-picolibc-libc++abi.cfg.in
M libcxxabi/test/configs/ibm-libc++abi-shared.cfg.in
M libcxxabi/test/configs/llvm-libc++abi-android.cfg.in
M libcxxabi/test/configs/llvm-libc++abi-merged.cfg.in
M libcxxabi/test/configs/llvm-libc++abi-mingw.cfg.in
M libcxxabi/test/configs/llvm-libc++abi-shared-clangcl.cfg.in
M libcxxabi/test/configs/llvm-libc++abi-shared.cfg.in
M libcxxabi/test/configs/llvm-libc++abi-static-clangcl.cfg.in
M libcxxabi/test/configs/llvm-libc++abi-static.cfg.in
M libcxxabi/test/forced_unwind4.pass.cpp
M libcxxabi/test/native/AArch64/ra_sign_state.pass.cpp
M libunwind/include/__libunwind_config.h
M libunwind/include/libunwind.h
M libunwind/src/AddressSpace.hpp
M libunwind/src/CompactUnwinder.hpp
M libunwind/src/DwarfInstructions.hpp
M libunwind/src/DwarfParser.hpp
M libunwind/src/Registers.hpp
M libunwind/src/Unwind-seh.cpp
M libunwind/src/UnwindCursor.hpp
M libunwind/src/UnwindLevel1.c
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/UnwindRegistersSave.S
M libunwind/src/assembly.h
M libunwind/src/libunwind.cpp
M libunwind/src/shadow_stack_unwind.h
M libunwind/test/aarch64_vg_unwind.pass.cpp
M libunwind/test/aix_signal_unwind.pass.sh.S
M libunwind/test/bad_unwind_info.pass.cpp
M libunwind/test/configs/apple-libunwind-system.cfg.in
M libunwind/test/configs/armv7m-picolibc-libunwind.cfg.in
M libunwind/test/configs/ibm-libunwind-shared.cfg.in
M libunwind/test/configs/llvm-libunwind-merged.cfg.in
M libunwind/test/configs/llvm-libunwind-shared-mingw.cfg.in
M libunwind/test/configs/llvm-libunwind-shared.cfg.in
M libunwind/test/configs/llvm-libunwind-static-mingw.cfg.in
M libunwind/test/configs/llvm-libunwind-static.cfg.in
M libunwind/test/eh_frame_fde_pc_range.pass.cpp
M libunwind/test/floatregister.pass.cpp
M libunwind/test/forceunwind.pass.cpp
M libunwind/test/unw_resume.pass.cpp
M libunwind/test/unwind_scalable_vectors.pass.cpp
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/LTO.cpp
M lld/COFF/Options.td
M lld/COFF/Symbols.h
M lld/COFF/Writer.cpp
M lld/Common/DriverDispatcher.cpp
M lld/ELF/Arch/Mips.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/LTO.cpp
M lld/ELF/Options.td
A lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/ScriptParser.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Target.cpp
M lld/ELF/Target.h
M lld/MachO/Driver.cpp
M lld/docs/DTLTO.rst
M lld/test/CMakeLists.txt
M lld/test/COFF/Inputs/undefined-symbol-lto-a.ll
M lld/test/COFF/Inputs/undefined-symbol-lto-b.ll
M lld/test/COFF/Inputs/undefined-symbol-multi-lto.ll
M lld/test/COFF/arm64-delayimport.yaml
M lld/test/COFF/arm64x-delayimport.test
A lld/test/COFF/common-dedup.ll
M lld/test/ELF/lto/amdgcn-oses.ll
M lld/test/ELF/lto/amdgcn.ll
M lld/test/ELF/lto/r600.ll
A lld/test/ELF/riscv-vendor-relocations.s
M lld/test/MachO/lto-mattrs.ll
A lld/test/MachO/read-workers-no-thread-support.s
M lld/test/MachO/read-workers.s
M lld/test/lit.cfg.py
M lld/test/lit.site.cfg.py.in
M lld/test/wasm/Inputs/debuginfo1.ll
M lld/test/wasm/Inputs/debuginfo2.ll
M lld/test/wasm/debug-removed-fn.ll
A lld/test/wasm/lto/relocation-model.ll
M lld/utils/benchmark.py
A lld/utils/speed-test-reproducers/collect.nix
A lld/utils/speed-test-reproducers/ld-wrapper.sh
M lld/wasm/LTO.cpp
A lldb/bindings/interface/SBPlatformExtensions.i
M lldb/bindings/interfaces.swig
M lldb/bindings/python/python-swigsafecast.swig
M lldb/bindings/python/python-typemaps.swig
M lldb/bindings/python/python-wrapper.swig
M lldb/cmake/modules/AddLLDB.cmake
M lldb/cmake/modules/FindLuaAndSwig.cmake
M lldb/cmake/modules/LLDBFramework.cmake
M lldb/docs/resources/lldbgdbremote.md
M lldb/docs/use/python-reference.rst
M lldb/docs/use/tutorials/creating-custom-breakpoints.md
M lldb/docs/use/tutorials/implementing-standalone-scripts.md
M lldb/examples/python/lldbtk.py
M lldb/examples/python/performance.py
M lldb/examples/summaries/cocoa/CFString.py
M lldb/include/lldb/API/SBBreakpoint.h
M lldb/include/lldb/API/SBBreakpointLocation.h
M lldb/include/lldb/API/SBFrame.h
M lldb/include/lldb/API/SBMutex.h
M lldb/include/lldb/API/SBPlatform.h
M lldb/include/lldb/Breakpoint/Breakpoint.h
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/include/lldb/Breakpoint/BreakpointLocationCollection.h
M lldb/include/lldb/Breakpoint/BreakpointLocationList.h
M lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h
M lldb/include/lldb/Breakpoint/BreakpointSite.h
M lldb/include/lldb/Breakpoint/StopPointSiteList.h
M lldb/include/lldb/Breakpoint/StoppointSite.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/Host/JSONTransport.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/DeclVendor.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Utility/AnsiTerminal.h
M lldb/include/lldb/Utility/DataExtractor.h
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/support/seven.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
M lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/packages/Python/lldbsuite/test_event/build_exception.py
M lldb/source/API/SBBreakpoint.cpp
M lldb/source/API/SBMutex.cpp
M lldb/source/API/SBPlatform.cpp
M lldb/source/Breakpoint/Breakpoint.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/BreakpointLocationCollection.cpp
M lldb/source/Breakpoint/BreakpointLocationList.cpp
M lldb/source/Breakpoint/BreakpointResolverScripted.cpp
M lldb/source/Breakpoint/BreakpointSite.cpp
M lldb/source/Commands/CommandCompletions.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectProtocolServer.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandOptionsProcessLaunch.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/DumpDataExtractor.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/Host/common/File.cpp
M lldb/source/Host/common/Socket.cpp
M lldb/source/Host/freebsd/Host.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Host/windows/MainLoopWindows.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Interpreter/embedded_interpreter.py
M lldb/source/Plugins/ABI/LoongArch/ABISysV_loongarch.cpp
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
M lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
R lldb/source/Plugins/ExpressionParser/Clang/ClangDeclVendor.cpp
R lldb/source/Plugins/ExpressionParser/Clang/ClangDeclVendor.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp
M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlAtomic.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.h
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
M lldb/source/Plugins/Platform/Android/PlatformAndroid.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Process/Utility/GDBRemoteSignals.cpp
M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/Process/wasm/RegisterContextWasm.cpp
M lldb/source/Plugins/Process/wasm/RegisterContextWasm.h
M lldb/source/Plugins/Process/wasm/UnwindWasm.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
M 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/SWIGPythonBridge.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/StructuredDataPlugin.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Utility/RegisterValue.cpp
M lldb/source/Utility/XcodeSDK.cpp
M lldb/test/API/CMakeLists.txt
Log Message:
-----------
Merge branch 'main' into users/ylzsx/precommit-flog2
Compare: https://github.com/llvm/llvm-project/compare/d9ff90cc19c4...52f50ad476cf
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