[all-commits] [llvm/llvm-project] 0a357e: [lldb] Update the String table offset based on the...
ZhaoQi via All-commits
all-commits at lists.llvm.org
Thu Jul 17 00:50:39 PDT 2025
Branch: refs/heads/users/zhaoqi5/opt-insert-hi128-element
Home: https://github.com/llvm/llvm-project
Commit: 0a357e92ca3ebfd68710b58413cac21e2cb9d8ad
https://github.com/llvm/llvm-project/commit/0a357e92ca3ebfd68710b58413cac21e2cb9d8ad
Author: Hemang Gadhavi <hemang.gadhavi at ibm.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/unittests/SymbolFile/DWARF/DWARF64UnitTest.cpp
Log Message:
-----------
[lldb] Update the String table offset based on the DWARF format (#147054)
This PR is updating the string table offset (DW_AT_str_offsets_base
which is introduced in `DWARF5`) based on the DWARF format, as per the
DWARF specification; For the 32-bit DWARF format, each offset is 4 bytes
long; for the 64-bit DWARF format, each offset is 8 bytes long.
Commit: 81ad8e6345a4b5d46ca19c95746d6f906fe485cd
https://github.com/llvm/llvm-project/commit/81ad8e6345a4b5d46ca19c95746d6f906fe485cd
Author: Peter Waller <peter.waller at arm.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M bolt/runtime/CMakeLists.txt
Log Message:
-----------
[BOLT] Force frame pointers off for runtimes (#148009)
Distributions are making the choice to turn frame pointers on by
default. Nixpkgs recently turned them on, and the method they use to do
so implies that everything is built with them on by default.
https://github.com/NixOS/nixpkgs/pull/399014
Assuming that a well behaved distribution doing this puts
`-fno-omit-frame-pointer` at the beginning of the compiler invocation,
we can still re-enable omission by supplying `-fomit-frame-pointer`
during compilation.
This fixes some segfaults from stack corruption in binaries rewritten by
bolt with `llvm-bolt -instrument`.
See also: #147569
Fixes: #148595
Commit: 1b4a1a072da2fa74d20ab02dd90ad547b0f296a8
https://github.com/llvm/llvm-project/commit/1b4a1a072da2fa74d20ab02dd90ad547b0f296a8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av.mir
Log Message:
-----------
AMDGPU: Add more baseline tests for VGPR MFMA rewrite pass (#148173)
Also some cosmetic renumbering of an existing test. Probably more
to come, there are a lot of edge cases in the pending patch.
Commit: a716cc0961d1b0fa76aba78a2509253d0646f41d
https://github.com/llvm/llvm-project/commit/a716cc0961d1b0fa76aba78a2509253d0646f41d
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/lib/Lower/Support/ReductionProcessor.cpp
M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
M flang/test/Lower/OpenMP/reduction-array-intrinsic.f90
M flang/test/Lower/OpenMP/sections-array-reduction.f90
M flang/test/Lower/OpenMP/taskgroup-task-array-reduction.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
A flang/test/Lower/do_concurrent_reduce_associate.f90
Log Message:
-----------
[flang] Support `do concurrent ... reduce` for associating names (#148597)
Extends reduction support for `do concurrent`, in particular, for
associating names. Consider the following input:
```fortran
subroutine dc_associate_reduce
integer :: i
real, allocatable, dimension(:) :: x
associate(x_associate => x)
do concurrent (i = 1:10) reduce(+: x_associate)
end do
end associate
end subroutine
```
The declaration of `x_associate` is emitted as follows:
```mlir
%13:2 = hlfir.declare %10(%12) {uniq_name = "...."} : (!fir.heap<!fir.array<?xf32>>, !fir.shapeshift<1>) -> (!fir.box<!fir.array<?xf32>>, !fir.heap<!fir.array<?xf32>>)
```
where the HLFIR base type is an array descriptor (i.e. the
allocatable/heap attribute is dropped as stipulated by the spec; section
11.1.3.3).
The problem here is that `declare_reduction` ops accept only reference
types. This restriction is already partially handled for
`fir::BaseBoxType`'s by allocating a stack slot for the descriptor and
storing the box in that stack allocation. We have to modify this a
littble bit for `associate` since the HLFIR and FIR base types are
different (unlike most scenarios).
Commit: da68e72b1bd1c2e6a38b42c49941b3541e1b9a67
https://github.com/llvm/llvm-project/commit/da68e72b1bd1c2e6a38b42c49941b3541e1b9a67
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/TestDataFormatterStdUniquePtr.py
Log Message:
-----------
[LLDB] Add formatters for MSVC STL std::unique_ptr (#148248)
This PR adds a summary and synthetic children for `std::unique_ptr` from
MSVC's STL
([NatVis](https://github.com/microsoft/STL/blob/313964b78a8fd5a52e7965e13781f735bcce13c5/stl/debugger/STL.natvis#L285-L303)).
As with libc++, the deleter is only shown if it's non-empty.
Tested both the shared_ptr and unique_ptr tests on Windows.
Towards #24834.
Commit: 34bb38ffbf12539bd403794ac2f7c29e50094d5f
https://github.com/llvm/llvm-project/commit/34bb38ffbf12539bd403794ac2f7c29e50094d5f
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/test/DebugInfo/KeyInstructions/flag.cpp
Log Message:
-----------
[KeyInstr] Add release note & update option (#148244)
Make the option visible, improve the help text, and add a release note.
Commit: 65d20bb0ab27f1b0078cc8811d02f7b47eb779bf
https://github.com/llvm/llvm-project/commit/65d20bb0ab27f1b0078cc8811d02f7b47eb779bf
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/DebugInfo/KeyInstructions/coro-dwarf-key-instrs.cpp
Log Message:
-----------
[KeyInstr] Disable key-instructions for coroutine scopes (#147551)
At this time (immediately prior to llvm21 branching) we haven't
instrumented coroutine generation to identify the "key" instructions of
things like co_return and similar. This will lead to worse stepping
behaviours, as there won't be any key instruction for those lines.
This patch removes the key-instructions flag from the DISubprograms for
coroutines, which will cause AsmPrinter to use the "old" / existing
linetable stepping behaviour, avoiding a regression until we can
instrument these constructs.
(I'm going to post on discourse about whether this is a good idea or not
in a moment)
Commit: fa143619b1e9831e750ff74900b424a3b33c352e
https://github.com/llvm/llvm-project/commit/fa143619b1e9831e750ff74900b424a3b33c352e
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
Log Message:
-----------
[lldb][test] TestProcessSaveCoreMinidump: Rename duplicate test-case (#148600)
Ran my python script from
https://github.com/llvm/llvm-project/pull/97043 over the repo again and
there was 1 duplicate test-case that has been introduced since I last
did this.
This patch renames that test.
Commit: 70bc7d1b0893f1d28aaf31ccffb07d51320885cb
https://github.com/llvm/llvm-project/commit/70bc7d1b0893f1d28aaf31ccffb07d51320885cb
Author: YafetBeyene <127161378+yafet-a at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-neon-instructions.s
Log Message:
-----------
[AArch64] Corrected Latency Descriptions for NeoverseV2 (#147339)
Update the Neoverse V2 Scheduler to reflect the correct
latencies along with having updated the relevant mca tests.
Commit: 6c2e26aebf4633a65b45c438e811151a41f85e1f
https://github.com/llvm/llvm-project/commit/6c2e26aebf4633a65b45c438e811151a41f85e1f
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/active_lane_mask.ll
Log Message:
-----------
[LLVM][CodeGen] Ensure optimizeIncrementingWhile only accepts scalable vectors. (#148351)
Fixes https://github.com/llvm/llvm-project/issues/148347
Commit: 0ae1506847ee9516630fe08f74d0db516eeaa993
https://github.com/llvm/llvm-project/commit/0ae1506847ee9516630fe08f74d0db516eeaa993
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/CodeGen/RISCV/xqciac.ll
Log Message:
-----------
[RISCV] Add ISel patterns for Xqciac QC_SHLADD instruction (#148256)
Add a couple of patterns to generate the Xqciac QC_SHLADD shift left and
add immediate instruction.
Commit: c4c56a067d0f3890cf21de1fab682d7d8a63272e
https://github.com/llvm/llvm-project/commit/c4c56a067d0f3890cf21de1fab682d7d8a63272e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
RuntimeLibcalls: Remove unused variable for atomic libcalls (#148599)
This was obsoleted by ed1ee9a9bf6deb5ec147e79a156e2f8d9465616d
Commit: 87e39c399c96128307a826fd9168679f7c8c8d10
https://github.com/llvm/llvm-project/commit/87e39c399c96128307a826fd9168679f7c8c8d10
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Target/SPIRV/image-ops.mlir
Log Message:
-----------
[mlir][spirv]: Add `OpImageFetch` (#145873)
At the missing `spirv::ImageFetchOp` operation to the SPIR-V MLIR
dialect ODS with appropriate testing including negative testing of the
verifiers.
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: afffa0d334bf33c89f1f921ef950e14744e0f0e4
https://github.com/llvm/llvm-project/commit/afffa0d334bf33c89f1f921ef950e14744e0f0e4
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/SemaCXX/wmissing-noreturn-suggestion.cpp
Log Message:
-----------
[Clang] Do not emit -Wmissing-noreturn when [[noreturn]] is present (#148552)
Fix a false positve warning which was introduced by #146234.
Commit: d214f07f0935a8c4fb254cbb4f4062860fc26bb7
https://github.com/llvm/llvm-project/commit/d214f07f0935a8c4fb254cbb4f4062860fc26bb7
Author: Trevor Gross <tmgross at umich.edu>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
A llvm/test/CodeGen/Generic/fp128-math-libcalls.ll
Log Message:
-----------
[IR] Add a test for `f128` libm libcall lowering (NFC) (#148308)
`f128` intrinsic functions from libm sometimes lower to `long double`
library calls when they instead need to be `f128` versions. Add a
generic test demonstrating current behavior.
Commit: b520d21c02ba5a6ad1804ab92c44093e77f83dd4
https://github.com/llvm/llvm-project/commit/b520d21c02ba5a6ad1804ab92c44093e77f83dd4
Author: Kenneth Benzie (Benie) <k.benzie83 at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M offload/tools/offload-tblgen/DocGen.cpp
Log Message:
-----------
[Offload] Add tagged type to enumerator docs (#147998)
When `EnumRec::isTyped()` is true, include the
`EnumValueRec::getTaggedType()` to the documentation.
Commit: efa30f496f3e96af73db655c744a5a163f4466ca
https://github.com/llvm/llvm-project/commit/efa30f496f3e96af73db655c744a5a163f4466ca
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M mlir/docs/Tutorials/transform/Ch1.md
Log Message:
-----------
[mlir][transform] Fix transform dialect tutorial chapter 1 (#147983)
In the transform dialect tutorial chapter 1, there were some errors that
prevented the example from running. This PR fixes them.
---------
Co-authored-by: Renato Golin <rengolin at systemcall.eu>
Commit: eb4de577dab92b9b3d878cb5f9c88d9e67bb1fe3
https://github.com/llvm/llvm-project/commit/eb4de577dab92b9b3d878cb5f9c88d9e67bb1fe3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
Log Message:
-----------
[SLP,AArch64] Update build-vector test to actually build vectors.
Update test with all zero constant input values which get folded during
IR construction to actually use different input values, which require
materializing build vectors.
Commit: a71187e9763f0a5c87d9e2622fae029aac28ea91
https://github.com/llvm/llvm-project/commit/a71187e9763f0a5c87d9e2622fae029aac28ea91
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M offload/plugins-nextgen/cuda/src/rtl.cpp
Log Message:
-----------
[Offload] Return error rather than dropping it (#148609)
Commit: 7e03c46624fd340471914021e800f250128260a6
https://github.com/llvm/llvm-project/commit/7e03c46624fd340471914021e800f250128260a6
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Port 0a34309
Commit: b9ccc0ca38dc1c0b8569c4a859bb258b79bb8bc8
https://github.com/llvm/llvm-project/commit/b9ccc0ca38dc1c0b8569c4a859bb258b79bb8bc8
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
M llvm/unittests/MC/SystemZ/CMakeLists.txt
A llvm/unittests/MC/SystemZ/SystemZMCDisassemblerTest.cpp
Log Message:
-----------
[llvm][SystemZ] Set comment stream in SystemZDisassembler::getInstruction (#148614)
This is done by other backends at the start of this function, for
example AArch64Disassembler::getInstruction. Not setting it means you
hit asserts in MCDisassembler::tryAddingSymbolicOperand and
MCDisassembler::tryAddingPcLoadReferenceComment when there is a
symbolizer set.
Which happened to me while debugging a SystemZ program using LLDB.
As the only good way to hit this path is from C++, I've copied X86's
disassembler unit tests and added just enough to hit an assert if the
comment stream is not set.
Commit: d8aa4a6721c9cd09864fc1a7c5af7aaadec60b67
https://github.com/llvm/llvm-project/commit/d8aa4a6721c9cd09864fc1a7c5af7aaadec60b67
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/test/CodeGen/ARM/fp16-promote.ll
Log Message:
-----------
[ARM][ fp16-promote.ll - cleanup CHECKS to be consistently inside each test. NFC.
Commit: ea8ff792e33bb3ff3c8c6e79b8bf47cb0d7761b4
https://github.com/llvm/llvm-project/commit/ea8ff792e33bb3ff3c8c6e79b8bf47cb0d7761b4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/MC/SystemZ/BUILD.gn
Log Message:
-----------
[gn build] Port b9ccc0ca38dc
Commit: e35b01da11ade0f89c0dafb8e723af3ae8be5c01
https://github.com/llvm/llvm-project/commit/e35b01da11ade0f89c0dafb8e723af3ae8be5c01
Author: zebullax <zebullax at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/SemaCXX/warn-unused-result.cpp
Log Message:
-----------
[clang] Build argument string for clang::warn_unused_result (#148090)
Preserve the argument-clause for `warn-unused-result` when under clang::
scope.
We are not touching gnu:: scope for now as it's an error for GCC to have
that string. Personally I think it would be ok to relax it here too as
we are not introducing breakage to currently passing code, but feedback
is to go slowly about it.
Commit: 5951c44573203710901c6bdb06a382efbcc907fa
https://github.com/llvm/llvm-project/commit/5951c44573203710901c6bdb06a382efbcc907fa
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
A libcxx/include/__cxx03/__verbose_trap
A libcxx/include/__verbose_trap
M libcxx/include/module.modulemap.in
M libcxx/vendor/llvm/default_assertion_handler.in
Log Message:
-----------
[libc++] Introduce the _LIBCPP_VERBOSE_TRAP macro (#148262)
Split out the calls to __builtin_verbose_trap into a separate header.
This is just a refactoring to make the code a bit more structured.
Commit: df387661c4ab53938ea73cbd77a44f98c8f96083
https://github.com/llvm/llvm-project/commit/df387661c4ab53938ea73cbd77a44f98c8f96083
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-interleaved.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-unroll.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse-output.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/unroll-in-loop-vectorizer.ll
Log Message:
-----------
[RISCV] Remove -riscv-v-vector-bits-min from LoopVectorize tests. NFC (#148565)
If I understand correctly there was a point where we used to need this
before it was implied by Zvl*b.
Now that it is though and we use -mattr=+v in pretty much every test we
can remove it.
In unroll-in-loop-vectorizer.ll we can force a VF of 1 instead by using
-force-vector-width=1, and in scalable-basics.ll the two RUN lines were
the same so I merged them.
Commit: 806028add1fb2a5912b78c23c37aa51bc9a8e96a
https://github.com/llvm/llvm-project/commit/806028add1fb2a5912b78c23c37aa51bc9a8e96a
Author: jyli0116 <yu.li at arm.com>
Date: 2025-07-14 (Mon, 14 Jul 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/test/CodeGen/AArch64/GlobalISel/combine-sdiv.mir
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div-cte.ll
A llvm/test/CodeGen/AArch64/combine-sdiv.ll
M llvm/test/CodeGen/AArch64/select_const.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fold-binop-into-select.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i32.ll
M llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
Log Message:
-----------
[GlobaISel] Allow expanding of sdiv -> mul by constant (#146504)
Allows expand of sdiv->mul by constant combine for the general case.
Previously this was only occurring in the exact case. This is part of
the resolution to issue #118090
Commit: e074044a120d5fd2f7aef8f868e8618c6909e568
https://github.com/llvm/llvm-project/commit/e074044a120d5fd2f7aef8f868e8618c6909e568
Author: Augie Fackler <augie at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/test/ClangScanDeps/visible-modules.c
Log Message:
-----------
[clang][scan-deps] fix new test for readonly work trees
Our setup runs tests with bazel in such a way that the work tree is
readonly, which was causing this test to fail because it couldn't write
the .o file. This fixes that, which was new in 15c3793cdf94 when this
test was introduced.
Commit: 0ad2574de776f59b53b397c46f2bc9cf9d463313
https://github.com/llvm/llvm-project/commit/0ad2574de776f59b53b397c46f2bc9cf9d463313
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/ldexpf128.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/ldexpf128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/ldexpf128.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor ldexpf128 implementation to header-only in src/__support/math folder. (#147895)
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: 508f9a02748e44ff981ebe8b3ee944d21cc36117
https://github.com/llvm/llvm-project/commit/508f9a02748e44ff981ebe8b3ee944d21cc36117
Author: Kenneth Benzie (Benie) <k.benzie83 at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M offload/unittests/OffloadAPI/common/Fixtures.hpp
M offload/unittests/OffloadAPI/event/olWaitEvent.cpp
Log Message:
-----------
[Offload] Skip event tests on AMDGPU (#148632)
Add `OffloadDeviceTest::getPlatformBackend()` and use it to skip event
tests which currently fail on AMDGPU due to:
```
OL_ERRC_UNIMPLEMENTED: synchronize event not implemented
```
Commit: 090e6125336f9a76ac8ed4af1290409967da6dff
https://github.com/llvm/llvm-project/commit/090e6125336f9a76ac8ed4af1290409967da6dff
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/test/CIR/CodeGen/builtin_bit.cpp
Log Message:
-----------
[CIR][NFC] Resolve various nits for builtin bit operations (#148378)
This patch contains fixes for various nits mentioned in #147200:
- This patch removes the `bit.` prefix in the op mnemonic. The operation
names now directly correspond to the builtin function names except for
`bswap` which is represented by `cir.byte_swap` for more clarity.
- Since all bit operations are `SameOperandsAndResultType`, this patch
updates their assembly format and avoids spelling out the operand type
twice.
Commit: 4177bfdb466855fed5e498774ac517b5cad2a995
https://github.com/llvm/llvm-project/commit/4177bfdb466855fed5e498774ac517b5cad2a995
Author: A. Jiang <de34 at live.cn>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx20Papers.csv
Log Message:
-----------
[libc++][docs] Confirm that P2372R3 has been implemented (#148573)
In #125921, the changes requested by P2372R3 were completed and tested
together with corresponding `chrono` types. But that PR didn't mention
P2372R3. The `__cpp_lib_format` FTM was even bumped by an earlier PR
#98275.
This PR confirms that P2372R3 was completed in LLVM 21 (together with P1361R2).
Closes #100043
Commit: b22b103c3dd5ba4c20fba2a77e0c38896cd45901
https://github.com/llvm/llvm-project/commit/b22b103c3dd5ba4c20fba2a77e0c38896cd45901
Author: woruyu <99597449+woruyu at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/PowerPC/copysignl.ll
Log Message:
-----------
[DAG] SelectionDAG::canCreateUndefOrPoison - add ISD::FCOPYSIGN (#148617)
### Summary
This PR resolves https://github.com/llvm/llvm-project/issues/147694
Commit: e10db1594feefbeb0a9642d83b00f4a164f0104c
https://github.com/llvm/llvm-project/commit/e10db1594feefbeb0a9642d83b00f4a164f0104c
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
M llvm/unittests/MC/SystemZ/CMakeLists.txt
R llvm/unittests/MC/SystemZ/SystemZMCDisassemblerTest.cpp
Log Message:
-----------
Revert "[llvm][SystemZ] Set comment stream in SystemZDisassembler::getInstruction" (#148639)
Reverts llvm/llvm-project#148614
Has some missing library dependencies -
https://lab.llvm.org/buildbot/#/builders/76/builds/11262/steps/11/logs/stdio.
Commit: 2eb733b5a6ab17a3ae812bb55c1c7c64569cadcd
https://github.com/llvm/llvm-project/commit/2eb733b5a6ab17a3ae812bb55c1c7c64569cadcd
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M mlir/include/mlir/IR/Builders.h
M mlir/include/mlir/IR/ImplicitLocOpBuilder.h
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/TableGen/Class.h
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][tblgen] add concrete create methods (#147168)
Currently `builder.create<...>` does not in any meaningful way hint/show
the various builders an op supports (arg names/types) because [`create`
forwards the args to
`build`](https://github.com/llvm/llvm-project/blob/887222e3526fbe08e748a33f740296ac22bf1ab1/mlir/include/mlir/IR/Builders.h#L503).
To improve QoL, this PR adds static create methods to the ops themselves
like
```c++
static arith::ConstantIntOp create(OpBuilder& builder, Location location, int64_t value, unsigned width);
```
Now if one types `arith::ConstantIntO::create(builder,...` instead of
`builder.create<arith::ConstantIntO>(...` auto-complete/hints will pop
up.
See
https://discourse.llvm.org/t/rfc-building-mlir-operation-observed-caveats-and-proposed-solution/87204/13
for more info.
Commit: d36769520014a5005a76c491a530048fc2d7ddb5
https://github.com/llvm/llvm-project/commit/d36769520014a5005a76c491a530048fc2d7ddb5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
A llvm/test/CodeGen/XCore/llvm.exp10.ll
A llvm/test/CodeGen/XCore/llvm.sincos.ll
Log Message:
-----------
XCore: Add test for sincos and exp10 intrinsics (#148621)
Commit: d749095b94e7b0361f224e6291cb2d5c6d2f366b
https://github.com/llvm/llvm-project/commit/d749095b94e7b0361f224e6291cb2d5c6d2f366b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/accesses-completely-before-or-after.ll
Log Message:
-----------
[LAA] Add tests where we could derive NoDep due to no overlap.
Add additional tests where we can prove that the accesses are either
completely before or after each other.
Commit: c5c0da8f41afe87db9bceb9d070fb73e5ad6c10a
https://github.com/llvm/llvm-project/commit/c5c0da8f41afe87db9bceb9d070fb73e5ad6c10a
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
M llvm/unittests/MC/SystemZ/CMakeLists.txt
A llvm/unittests/MC/SystemZ/SystemZMCDisassemblerTest.cpp
Log Message:
-----------
Reland "[llvm][SystemZ] Set comment stream in SystemZDisassembler::getInstruction" (#148639)"
This reverts commit e10db1594feefbeb0a9642d83b00f4a164f0104c.
This adds the MCDisassembler which was missing, breaking shared library builds.
Commit: 074218dd1071722ab0dea2a1acb71079ff212bb4
https://github.com/llvm/llvm-project/commit/074218dd1071722ab0dea2a1acb71079ff212bb4
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/ldexpf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/ldexpf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/ldexpf16.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor ldexpf16 implementation to header-only in src/__support/math folder. (#147901)
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
Please merge #147895 first
Commit: 47c9609a8637b68c0170744ce5c06902512e71ca
https://github.com/llvm/llvm-project/commit/47c9609a8637b68c0170744ce5c06902512e71ca
Author: Callum Fare <callum at codeplay.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
Log Message:
-----------
[Offload] Check plugins aren't already deinitialized when tearing down (#148642)
This is a hotfix for #148615 - it fixes the issue for me locally.
I think a broader issue is that in the test environment we're calling
olShutDown from a global destructor in the test binaries. We should do
something more controlled, either calling olInit/olShutDown in every
test, or move those to a GTest global environment. I didn't do that
originally because it looked like it needed changes to LLVM's GTest
wrapper.
Commit: b1ef5a8890f26b6430d95696d8ff4e99e270a80e
https://github.com/llvm/llvm-project/commit/b1ef5a8890f26b6430d95696d8ff4e99e270a80e
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type.mlir
Log Message:
-----------
[mlir][MemRef] Add support for emulating narrow floats (#148036)
This enables memref.load/store + vector.load/store support for sub-byte
float types. Since the memref types don't matter for loads/stores, we
still use the same types as integers with equivalent widths, with a few
extra bitcasts needed around certain operations.
There is no direct change needed for vector.load/store support. The
tests added for them are to verify that float types are
supported as well.
Commit: b1369b603076542ca5ca251b62d3a5e614827f9e
https://github.com/llvm/llvm-project/commit/b1369b603076542ca5ca251b62d3a5e614827f9e
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/test/MC/AArch64/armv9.6a-ras.s
M llvm/test/MC/Disassembler/AArch64/armv9.6a-ras.txt
Log Message:
-----------
[AArch64][llvm] Fix DC CIGDVAPS instruction to require FEAT_MTE2 (#148636)
Commit: 3e43915be62ef355029b61bebe78637a885b8b6c
https://github.com/llvm/llvm-project/commit/3e43915be62ef355029b61bebe78637a885b8b6c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
Log Message:
-----------
[CI][Github] Bump Windows Container to Server 2022
This patch bumps the windows CI container to windows server 2022 from
windows server 2019. This is necessary as Github has sunsetted support
for sever 2019, so we cannot build the container through GHA without
updating. Using more recent versions is just good practice anyways.
This will not roll out immediately and we'll have to make some TF
changes to get deployed, but some additional validation first will be
good anyways.
Reviewers: lnihlen, tstellar, cmtice
Reviewed By: cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/148318
Commit: cfcda5d0ffd9e714ef10b33f7028a0d8bb11df7c
https://github.com/llvm/llvm-project/commit/cfcda5d0ffd9e714ef10b33f7028a0d8bb11df7c
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/ldexpf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/ldexpf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/ldexpf.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor ldexpf implementation to header-only in src/__support/math folder (#147906)
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
Please merge #147901 first
@lntue
Commit: f8c2c4f161a6a98f623a6263a248fb24927eeaec
https://github.com/llvm/llvm-project/commit/f8c2c4f161a6a98f623a6263a248fb24927eeaec
Author: John Brawn <john.brawn at arm.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
A llvm/test/CodeGen/Thumb2/LowOverheadLoops/lsr-le-cost.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/sibling-loops.ll
M llvm/test/DebugInfo/ARM/hardware-loop-phi-insertion.ll
Log Message:
-----------
[LSR] Account for hardware loop instructions (#147958)
A hardware loop instruction combines a subtract, compare with zero, and
branch. We currently account for the compare and branch being combined
into one in Cost::RateFormula, as part of more general handling for
compare-branch-zero, but don't account for the subtract, leading to
suboptimal decisions in some cases.
Fix this in Cost::RateRegister by noticing when we have such a subtract
and discounting the AddRecCost in such a case.
Commit: 735736fbad93ec640c8585a6f8a0610d93fa9cbb
https://github.com/llvm/llvm-project/commit/735736fbad93ec640c8585a6f8a0610d93fa9cbb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/test/CodeGen/Mips/ldexp.ll
Log Message:
-----------
Mips: Remove test for ldexp with x86_fp80 (#148641)
This was a copy paste error from the x86 test, and
it compiled accidentally to ldexpl. Delete this
since it will start to error in a future change.
Commit: 91d017a7c0af8fb0251363ad1289e0a1c55026ad
https://github.com/llvm/llvm-project/commit/91d017a7c0af8fb0251363ad1289e0a1c55026ad
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Remove __muloti4 from default libcall set (#148562)
The current logic says it's only available on wasm, so only
explicitly add it there. Also fix a misnomer in the compiler-rt
call list.
Commit: 301a1d565fccaf517d1c587d1599d595407c178b
https://github.com/llvm/llvm-project/commit/301a1d565fccaf517d1c587d1599d595407c178b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Invert handling of 64-bit only libcalls (#148571)
Switch the default set to exclude these conditionally available
calls, so they are opt-in instead of opt-out.
Commit: d5ac1b5e2872fdafca7804d486c55334b228aaf6
https://github.com/llvm/llvm-project/commit/d5ac1b5e2872fdafca7804d486c55334b228aaf6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/test/CodeGen/RISCV/sextw-removal.ll
Log Message:
-----------
[RISCV] Improve hasAllNBitUsers for SLLIW. (#148344)
Commit: 96096550a112426c4110ee3fced6f3128df49aa7
https://github.com/llvm/llvm-project/commit/96096550a112426c4110ee3fced6f3128df49aa7
Author: Yi Zhang <cathyzhyi at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[bazel] Add targets for transform.tune python extension (#148656)
Commit: a76dfde9366d022307d9f45ec21b4016b46c9e0c
https://github.com/llvm/llvm-project/commit/a76dfde9366d022307d9f45ec21b4016b46c9e0c
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/exp.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp.h
A libc/src/__support/math/exp_constants.h
A libc/src/__support/math/exp_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/explogxf.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor exp implementation to header-only in src/__support/math folder. (#148091)
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: 1f97c9432d010c7c5eefc5ebe2648af2d9d5863d
https://github.com/llvm/llvm-project/commit/1f97c9432d010c7c5eefc5ebe2648af2d9d5863d
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libc/fuzzing/math/CMakeLists.txt
A libc/fuzzing/math/exp10_fuzz.cpp
A libc/fuzzing/math/exp2_fuzz.cpp
A libc/fuzzing/math/exp_fuzz.cpp
A libc/fuzzing/math/expm1_fuzz.cpp
Log Message:
-----------
[libc] exp fuzz tests (#148086)
Created fuzz tests for exp functions
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: fc99ef7411e7f33e03e639a22f83a271ea8aaaa8
https://github.com/llvm/llvm-project/commit/fc99ef7411e7f33e03e639a22f83a271ea8aaaa8
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/test/Fir/fir-ops.fir
Log Message:
-----------
[flang] Allow embox's source_box to be a !fir.box. (#148305)
In order to create temporary copies of assumed-type arrays
(e.g. for `-frepack-arrays`), we have to allow the source_box
to be a !fir.box.
This patch replaces #147618.
Commit: 9e56d0d2ab125377740245599e3cc950fcf406bc
https://github.com/llvm/llvm-project/commit/9e56d0d2ab125377740245599e3cc950fcf406bc
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
A flang/test/Transforms/tbaa-derived-with-descriptor.fir
Log Message:
-----------
[flang] Fixed TBAA tags for derived types with descriptors. (#148093)
We cannot attach any "data" or "descriptor" tag to accesses
of derived types that contain descriptors, because this
will make them non-aliasing with any generic "data" or "descriptor"
accesses, which is not correct. We have to skip TBAA tags attachment
for such accesses same way we do it for boxes.
Commit: 4775b9689844e1ec7b425e039aff4fcbb758b4d4
https://github.com/llvm/llvm-project/commit/4775b9689844e1ec7b425e039aff4fcbb758b4d4
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
A flang/lib/Optimizer/Transforms/OptimizeArrayRepacking.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-matmul.fir
A flang/test/Transforms/optimize-array-repacking.fir
Log Message:
-----------
[flang] Optimize redundant array repacking. (#147881)
This patch allows optimizing redundant array repacking, when
the source array is statically known to be contiguous.
This is part of the implementation plan for the array repacking
feature, though, it does not affect any real life use case
as long as FIR inlining is not a thing. I experimented with
simple cases of FIR inling using `-inline-all`, and I recorded
these cases in optimize-array-repacking.fir tests.
Commit: f4630baaa2aad34a76d376b06dd44b42d08c6e95
https://github.com/llvm/llvm-project/commit/f4630baaa2aad34a76d376b06dd44b42d08c6e95
Author: lntue <lntue at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libc/shared/math.h
R libc/shared/math/exp.h
M libc/src/__support/math/CMakeLists.txt
R libc/src/__support/math/exp.h
R libc/src/__support/math/exp_constants.h
R libc/src/__support/math/exp_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/explogxf.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Revert "[libc][math] Refactor exp implementation to header-only in src/__support/math folder." (#148668)
Reverts llvm/llvm-project#148091
Full build bots are failing.
Commit: 6640b0a293c07c9a6e4ea3476453781f979726b7
https://github.com/llvm/llvm-project/commit/6640b0a293c07c9a6e4ea3476453781f979726b7
Author: jjasmine <jjasmine at igalia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
A llvm/test/CodeGen/WebAssembly/simd-relaxed-fma.ll
Log Message:
-----------
[WebAssembly] Add patterns for relaxed madd (#147487)
[WebAssembly] Fold fadd contract (fmul contract) to relaxed madd w/
-mattr=+simd128,+relaxed-simd
Fixes #121311
- Precommit test for #121311
- Fold fadd contract (fmul contract) to relaxed madd w/
-mattr=+simd128,+relaxed-simd
- Move PatFrag of fadd_contract in ARM.td and WebAssembly.td to
TargetSelectionDAG.td for reuse of pattern
Commit: 3d6aac31fcb5f7a988be5e484e44bdc9033265c5
https://github.com/llvm/llvm-project/commit/3d6aac31fcb5f7a988be5e484e44bdc9033265c5
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/lib/Lower/Support/ReductionProcessor.cpp
Log Message:
-----------
[flang][Lower] fix warning (#148667)
GCC 9.3.0
```
.../flang/lib/Lower/Support/ReductionProcessor.cpp:137:1: error: control reaches end of non-void function [-Werror=return-type]
```
Commit: f78d6caadc60b58a6cf390efc2b3d2da7a21caef
https://github.com/llvm/llvm-project/commit/f78d6caadc60b58a6cf390efc2b3d2da7a21caef
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 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/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/destructors.cpp
Log Message:
-----------
[CIR] Add Minimal Destructor Definition Support (#144719)
This patch upstreams support for writing inline and out of line C++
destructor definitions. Calling a destructor implcitly or explicitly is
left for a future patch.
Because of that restriction complete destructors (D2 in Itanium
mangling) do not call into the base (D1) destructors yet but simply
behave like a base destructor. Deleting (D0) destructor support is not
part of this patch.
Destructor aliases aren't supported, either. Because of this compilation
with -mno-constructor-aliases may be required to avoid running into NYI
errors.
Commit: 76f1ddc79cc00c78354bfae0a5cb08fae41dc4fd
https://github.com/llvm/llvm-project/commit/76f1ddc79cc00c78354bfae0a5cb08fae41dc4fd
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/test/SemaHLSL/RootSignature-resource-ranges-err.hlsl
Log Message:
-----------
[NFC][SemaHLSL] Remove check dependent on non-deterministic root element association (#148649)
- when there are duplicate (equivalent) `RangeInfo`s created we will
attempt to `llvm::sort` or `llvm::stable_sort` them, it does not appear
deterministic in which order they will be sorted (because they are
equivalent)
- when `DLLVM_ENABLE_EXSTENSIVE_CHECKS` is enabled, it appears to deal
with this tie-breaker sorting the list differently than when it is not
enabled, this causes one of the test cases to fail because the
diagnostic is produced, not in a different order, but with a different
root element associated with an identical `RangeInfo`
- functionally this makes no difference to the diagnostic being produced
and the removed test-case was added just as a nicety to demonstrate how
the diagnostics might look
- the test above the removed will correctly demonstrate that the
`SourceLocation` will be set to the correct column, and, the `-verify`
portion of this testcase will ensure that we still generate a diagnostic
for each duplicate
- therefore, it is safe to remove this portion of the test-case that can
have a non-deterministic association of root element
This resolves the build issues reported
[here](https://github.com/llvm/llvm-project/pull/147115#issuecomment-3069543491)
and
[here](https://github.com/llvm/llvm-project/pull/147800#issuecomment-3069797406)
Commit: 6862afa00897821ed9459eb2d564932ae44ba68d
https://github.com/llvm/llvm-project/commit/6862afa00897821ed9459eb2d564932ae44ba68d
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix 9609655
Commit: 2244f57130a5bc01f1c7713b6d7d55da926814cf
https://github.com/llvm/llvm-project/commit/2244f57130a5bc01f1c7713b6d7d55da926814cf
Author: Bogdan Vetrenko <b.vetrenko at yandex.ru>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/AST/ASTDiagnostic.cpp
Log Message:
-----------
[clang][NFC] Fix typos and grammar in comments in ASTDiagnostic (#148359)
Commit: 968b2389ce521e7730e4069760c278c8d2abf0f3
https://github.com/llvm/llvm-project/commit/968b2389ce521e7730e4069760c278c8d2abf0f3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
Log Message:
-----------
[CI][Github] Version pin packages in windows container
I spent several hours debugging failures in the server 2022 container
today that turned out to be related to a new ninja release from a couple
weeks ago. This patch version pins all the packages so they do not
spuriously upgrade and we can control the process to waste less effort
debugging changes due to version changes.
Reviewers: cmtice, tstellar, lnihlen
Reviewed By: cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/148319
Commit: 22b221d4b7dfc719638614b08c49cd7a6450a989
https://github.com/llvm/llvm-project/commit/22b221d4b7dfc719638614b08c49cd7a6450a989
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Upstream ComplexImagPtrOp for ComplexType (#144236)
This change adds support for ComplexImagPtrOp for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: b54cfa46a7eba293b6f2086856a36cc553444939
https://github.com/llvm/llvm-project/commit/b54cfa46a7eba293b6f2086856a36cc553444939
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/OpenACC/FIROpenACCTypeInterfaces.h
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
Log Message:
-----------
[flang][acc] Implement MappableType's generatePrivateInit (#148302)
The recipe body generation was moved from lowering into FIR's
implementation of MappableType API. And now since all Fortran variable
types implement this type, lowering of OpenACC was updated to use this
API directly. No test changes were needed - all of the private,
firstprivate, and recipe tests get the same body as before.
Commit: fdbd9c19c9baf9c6007161a4ac6d961e1e0474f2
https://github.com/llvm/llvm-project/commit/fdbd9c19c9baf9c6007161a4ac6d961e1e0474f2
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/bitfields.c
Log Message:
-----------
[CIR] Add support for unary operations on bitfield members (#148083)
This PR introduces support for unary operations on bitfield members.
Support for binary operations is planned for a future PR.
Commit: 4328b69df6fd52815fd934350ef4d4ce3966045a
https://github.com/llvm/llvm-project/commit/4328b69df6fd52815fd934350ef4d4ce3966045a
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConfusableTable/confusables.txt
Log Message:
-----------
[clang-tidy] Update `confusables.txt` in `misc-confusable-identifiers` (#148399)
We're currently on Unicode 14.0.0. This PR updates it to Unicode 16.0.0.
Commit: e86bd05bdc110abcf6c6d2b6b48ede4361ce42e4
https://github.com/llvm/llvm-project/commit/e86bd05bdc110abcf6c6d2b6b48ede4361ce42e4
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/lib/Analysis/models/seedEmbeddingVocab75D.json
M llvm/test/Analysis/IR2Vec/Inputs/dummy_2D_vocab.json
A llvm/test/Analysis/IR2Vec/Inputs/dummy_3D_nonzero_arg_vocab.json
A llvm/test/Analysis/IR2Vec/Inputs/dummy_3D_nonzero_opc_vocab.json
A llvm/test/Analysis/IR2Vec/Inputs/dummy_3D_nonzero_type_vocab.json
A llvm/test/Analysis/IR2Vec/Inputs/reference_default_vocab_print.txt
A llvm/test/Analysis/IR2Vec/Inputs/reference_wtd1_vocab_print.txt
A llvm/test/Analysis/IR2Vec/Inputs/reference_wtd2_vocab_print.txt
M llvm/test/Analysis/IR2Vec/basic.ll
M llvm/test/Analysis/IR2Vec/dbg-inst.ll
M llvm/test/Analysis/IR2Vec/if-else.ll
M llvm/test/Analysis/IR2Vec/unreachable.ll
M llvm/test/Analysis/IR2Vec/vocab-test.ll
M llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[IR2Vec] Restructuring Vocabulary (#145119)
This PR restructures the vocabulary.
* String based look-ups are removed. Vocabulary is changed from a map to vector. (#141832)
* Grouped all the vocabulary related methods under a single class - `ir2vec::Vocabulary`. This replaces `IR2VecVocabResult`.
* `ir2vec::Vocabulary` effectively abstracts out the _layout_ and other internal details of the vector structure. Exposes necessary APIs for accessing the Vocabulary.
These changes ensure that _all_ known opcodes and types are present in the vocabulary. We have retained the original operands. This can be extended going forward.
(Tracking issue - #141817)
Commit: 4dceb25dd1b96c93a7bd302c5d81bb1aacf75f4d
https://github.com/llvm/llvm-project/commit/4dceb25dd1b96c93a7bd302c5d81bb1aacf75f4d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/include/flang/Parser/char-block.h
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
A flang/test/Preprocessing/bug1126.F90
Log Message:
-----------
[flang] Don't create bogus tokens from token pasting (##) (#147596)
When blank tokens arise from macro replacement in token sequences with
token pasting (##), the preprocessor is producing some bogus tokens
(e.g., "name(") that can lead to subtle bugs later when macro names are
not recognized as such.
The fix is to not paste tokens together when the result would not be a
valid Fortran or C token in the preprocessing context.
Commit: 69f38443e5f96913d85650b2f73fb472b54cad24
https://github.com/llvm/llvm-project/commit/69f38443e5f96913d85650b2f73fb472b54cad24
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Evaluate/fold.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Support/Fortran-features.cpp
A flang/test/Evaluate/transfer-boz.f90
Log Message:
-----------
[flang] Extension: TRANSFER(boz, integer or real scalar) (#147604)
Interpret TRANSFER(SOURCE=BOZ literal, MOLD=integer or real scalar) as
if it had been a reference to the standard INT or REAL intrinsic
functions, for which a BOZ literal is an acceptable argument, with a
warning about non-conformance. It's a needless extension that has
somehow crept into some other compilers and real applications.
Commit: 18286e0c2a079e3b2bea9e9f6763333b5e855a2e
https://github.com/llvm/llvm-project/commit/18286e0c2a079e3b2bea9e9f6763333b5e855a2e
Author: jjasmine <jjasmine at igalia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/any_all_true.ll
Log Message:
-----------
[WebAssembly] Constant fold SIMD intrinsics: any/alltrue (#148074)
Constant fold SIMD wasm intrinsics: any/alltrue
Added test in `llvm/test/Transforms/InstSimplify`
Commit: 2e53a68c09b1bb4bc6c31146c8e69789ae9848ae
https://github.com/llvm/llvm-project/commit/2e53a68c09b1bb4bc6c31146c8e69789ae9848ae
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/type-info.h
M flang-rt/include/flang-rt/runtime/work-queue.h
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/work-queue.cpp
Log Message:
-----------
[flang][runtime] Speed up initialization & destruction (#148087)
Rework derived type initialization in the runtime to just initialize the
first element of any array, and then memcpy it to the others, rather
than exercising the per-component paths for each element.
Reword derived type destruction in the runtime to detect and exploit a
fast path for allocatable components whose types themselves don't need
nested destruction.
Small tweaks were made in hot paths exposed by profiling in descriptor
operations and derived type assignment.
Commit: 309bb1ed6844a5936158a2a8406d1b77bda37b94
https://github.com/llvm/llvm-project/commit/309bb1ed6844a5936158a2a8406d1b77bda37b94
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
Log Message:
-----------
[scudo] Fix c wrappers double free test. (#148066)
The previous test simply tried to double free the pointer in the
EXPECT_DEATH macro. Unfortunately, the gtest infrastructure can allocate
a pointer that happens to be the previously freed pointer. Thus the free
doesn't fail since the spawned process does not attempt to free all of
the pointers allocated in the original test.
NOTE: Scudo should be checked to make sure that the TSD is not always
returning pointers in the same order they are freed. Although this
appears to be a problem with a program that only does a small number of
allocations.
Commit: f25fc5fe1ea1efd18a18d5cf58ee483fd33ccfc3
https://github.com/llvm/llvm-project/commit/f25fc5fe1ea1efd18a18d5cf58ee483fd33ccfc3
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/test/Sema/warn-lifetime-safety-dataflow.cpp
Log Message:
-----------
[LifetimeSafety] Implement dataflow analysis for loan propagation (#148065)
This patch introduces the core dataflow analysis infrastructure for the C++ Lifetime Safety checker. This change implements the logic to propagate "loan" information across the control-flow graph. The primary goal is to compute a fixed-point state that accurately models which pointer (Origin) can hold which borrow (Loan) at any given program point.
Key components
* `LifetimeLattice`: Defines the dataflow state, mapping an `OriginID` to a `LoanSet` using `llvm::ImmutableMap`.
* `Transferer`: Implements the transfer function, which updates the `LifetimeLattice` by applying the lifetime facts (Issue, AssignOrigin, etc.) generated for each basic block.
* `LifetimeDataflow`: A forward dataflow analysis driver that uses a worklist algorithm to iterate over the CFG until the lattice state converges.
The existing test suite has been extended to check the final dataflow results.
This work is a prerequisite for the final step of the analysis: consuming these results to identify and report lifetime violations.
Commit: 7615503409f19ad7e2e2f946437919d0689d4b3e
https://github.com/llvm/llvm-project/commit/7615503409f19ad7e2e2f946437919d0689d4b3e
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
A clang/test/Analysis/LifetimeSafety/CMakeLists.txt
A clang/test/Analysis/LifetimeSafety/benchmark.py
A clang/test/Analysis/LifetimeSafety/requirements.txt
M clang/test/CMakeLists.txt
Log Message:
-----------
[LifetimeSafety] Add script for performance benchmarking (#147315)
This patch introduces a new Python-based benchmarking tool for Clang's Lifetime Safety analysis. This script automates the process of generating targeted C++ test cases, measuring the performance of the analysis, and determining its empirical computational complexity.
The tool helps track and validate the performance of the dataflow analysis, ensuring that future optimizations have a measurable impact and that the analysis scales efficiently.
Components:
* **Generate**: Creates pathological C++ test cases with specific patterns (pointer cycles and CFG merges) designed to stress-test the analysis.
* **Compile & Trace**: Compiles the generated code using `-ftime-trace`.
* **Analyze & Report**: Performs a curve-fit on the timing data to determine the empirical complexity ( **O(n<sup>k</sup>)**) and outputs a markdown report.
---
**Usage**:
<details>
<summary>ninja benchmark_lifetime_safety_analysis</summary>
[12/13] Running Lifetime Analysis performance benchmarks...
Benchmark files will be saved in: <BUILD_DIR_REDACTED>/tools/clang/test/Analysis/LifetimeSafety/benchmark_results
Running performance benchmarks...
--- Running Test: Cycle with N=10 ---
Total: 10.11 ms | Analysis: 2.70 ms
--- Running Test: Cycle with N=25 ---
Total: 61.51 ms | Analysis: 53.05 ms
--- Running Test: Cycle with N=50 ---
Total: 688.56 ms | Analysis: 677.32 ms
--- Running Test: Cycle with N=75 ---
Total: 3.09 s | Analysis: 3.07 s
--- Running Test: Cycle with N=100 ---
Total: 9.31 s | Analysis: 9.30 s
--- Running Test: Cycle with N=150 ---
Total: 44.92 s | Analysis: 44.91 s
--- Running Test: Merge with N=10 ---
Total: 8.54 ms | Analysis: 0.00 ms
--- Running Test: Merge with N=50 ---
Total: 38.79 ms | Analysis: 27.13 ms
--- Running Test: Merge with N=100 ---
Total: 219.45 ms | Analysis: 205.20 ms
--- Running Test: Merge with N=200 ---
Total: 1.67 s | Analysis: 1.65 s
--- Running Test: Merge with N=400 ---
Total: 12.57 s | Analysis: 12.55 s
--- Running Test: Merge with N=800 ---
Total: 100.48 s | Analysis: 100.43 s
Generating Markdown Report...
</details>
<details>
<summary>Sample Report: </summary>
# Lifetime Analysis Performance Report
> Generated on: 2025-07-08 14:18:52
---
## Test Case: Pointer Cycle in Loop
| N | Analysis Time | Total Clang Time |
|:----|--------------:|-----------------:|
| 10 | 2.70 ms | 10.11 ms |
| 25 | 53.05 ms | 61.51 ms |
| 50 | 677.32 ms | 688.56 ms |
| 75 | 3.07 s | 3.09 s |
| 100 | 9.30 s | 9.31 s |
| 150 | 44.91 s | 44.92 s |
**Complexity Analysis:**
- The performance for this case scales approx. as **O(n<sup>3.88</sup>)**.
- **95% Confidence interval for exponent:** `[3.86, 3.90]`.
---
## Test Case: CFG Merges
| N | Analysis Time | Total Clang Time |
|:----|--------------:|-----------------:|
| 10 | 0.00 ms | 8.54 ms |
| 50 | 27.13 ms | 38.79 ms |
| 100 | 205.20 ms | 219.45 ms |
| 200 | 1.65 s | 1.67 s |
| 400 | 12.55 s | 12.57 s |
| 800 | 100.43 s | 100.48 s |
**Complexity Analysis:**
- The performance for this case scales approx. as **O(n<sup>3.00</sup>)**.
- **95% Confidence interval for exponent:** `[2.99, 3.01]`.
---
</details>
Commit: ec2e21a14d3685cdfa953ede3627aaa23f26f5ec
https://github.com/llvm/llvm-project/commit/ec2e21a14d3685cdfa953ede3627aaa23f26f5ec
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] No target-specific size limit for atomics (#136864)
According to the current LangRef, atomics of sizes larger than a
target-dependent limit are non-conformant IR. Presumably, that size
limit is `TargetLoweringBase::getMaxAtomicSizeInBitsSupported()`. As a
consequence, one would not even know whether IR is valid without
instantiating the Target backend.
To get around this, Clang's CGAtomic uses a constant "16 bytes" for the
maximally supported atomic. The verifier only checks the power-of-two
requirement.
In a discussion with jyknight, the intention is rather that the
AtomicExpandPass will just lower everything larger than the
target-supported atomic sizes to libcall (such as `__atomic_load`).
According to this interpretation, the size limit needs only be known by
the lowering and does not affect the IR specification.
The original "target-specific size limit" had been added in
59b66883eacbc62a09c09f08bcbfdce7af46cf31. The LangRef change is needed
for #134455 because otherwise frontends need to pass a TargetLowering
object to the helper functions just to know what the target-specific
limit is.
This also changes the LangRef for atomicrmw. Are there libatomic
fallbacks for these? If not, LLVM-IR validity still depends on
instantiating the actual backend. There are also some intrinsics such as
`llvm.memcpy.element.unordered.atomic` that have this constraint but do
not change in this PR.
Commit: ce8c19ffc591f069dad72d03697f67f7ecb87524
https://github.com/llvm/llvm-project/commit/ce8c19ffc591f069dad72d03697f67f7ecb87524
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
Log Message:
-----------
[clang][deps] Fix dependency scanner misidentifying 'import::' as module partition (#148674)
The dependency directive scanner was incorrectly classifying namespaces
such as `import::inner xi` as directives. According to P1857R3, `import` should
not be treated as a directive when followed by `::`.
This change fixes that behavior.
Commit: 6ac286cd491b419dd18a6e8de3aaef4caa44e093
https://github.com/llvm/llvm-project/commit/6ac286cd491b419dd18a6e8de3aaef4caa44e093
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-coro.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-rethrow.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-throw.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
Log Message:
-----------
[clang-tidy] Improve `bugprone-exception-escape`: add stacktrace of escaped exception (#134375)
This PR add stacktrace of escaped exception to
`bugprone-exception-escape` check.
Changes:
1. Modified `ExceptionAnalyzer` and `ExceptionInfo` classes to hold
stacktrace of escaped exception in `llvm::MapVector`. `llvm::MapVector`
is needed to hold relative positions of functions in stack as well as
have fast lookup.
2. Added new diagnostics based of `misc-no-recursion` check.
Fixes https://github.com/llvm/llvm-project/issues/87422.
Commit: 0c2560b29b3d15eca766eea306d8525b1c71d4ae
https://github.com/llvm/llvm-project/commit/0c2560b29b3d15eca766eea306d8525b1c71d4ae
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/TextAPI/TextStubV5.cpp
A llvm/test/tools/llvm-readtapi/stubify-v4-to-v5.test
Log Message:
-----------
[TextAPI] print symbols in a stable order in v5 format (#148687)
resolves: rdar://151765704
Commit: d4f5ed6a23464cbe831820cb695aa1d39b11e4aa
https://github.com/llvm/llvm-project/commit/d4f5ed6a23464cbe831820cb695aa1d39b11e4aa
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libcxx/src/atomic.cpp
Log Message:
-----------
Revert "[libc++][NFC] atomic::wait use public API on macOS" (#148705)
Reverts llvm/llvm-project#147146
This is failing to build on our public macOS CI:
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake-sanitized/
```
06:48:56 FAILED: libcxx/src/CMakeFiles/cxx_shared.dir/atomic.cpp.o
06:48:56 /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/lldb-build/bin/clang++ --target=arm64-apple-darwin23.1.0 -DLIBCXX_BUILDING_LIBCXXABI -DLIBC_NAMESPACE=__llvm_libc_common_utils -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/libcxx/src -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/lldb-build/include/c++/v1 -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/libcxxabi/include -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/cmake/Modules/../../libc -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -O3 -DNDEBUG -std=c++23 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk -mmacosx-version-min=14.1 -fPIC -UNDEBUG -faligned-allocation -nostdinc++ -fvisibility-inlines-hidden -fvisibility=hidden -fsized-deallocation -Wall -Wextra -Wnewline-eof -Wshadow -Wwrite-strings -Wno-unused-parameter -Wno-long-long -Werror=return-type -Wextra-semi -Wundef -Wunused-template -Wformat-nonliteral -Wzero-length-array -Wdeprecated-redundant-constexpr-static-def -Wno-nullability-completeness -Wno-user-defined-literals -Wno-covered-switch-default -Wno-suggest-override -Wno-error -fdebug-prefix-map=/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/lldb-build/include/c++/v1=/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/libcxx/include -MD -MT libcxx/src/CMakeFiles/cxx_shared.dir/atomic.cpp.o -MF libcxx/src/CMakeFiles/cxx_shared.dir/atomic.cpp.o.d -o libcxx/src/CMakeFiles/cxx_shared.dir/atomic.cpp.o -c /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/libcxx/src/atomic.cpp
06:48:56 /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/libcxx/src/atomic.cpp:46:12: fatal error: 'os/os_sync_wait_on_address.h' file not found
06:48:56 46 | # include <os/os_sync_wait_on_address.h>
06:48:56 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
06:48:56 1 error generated.
```
This is the configuration the failing bots are running:
```
06:25:12 + sw_vers
06:25:12 ProductName: macOS
06:25:12 ProductVersion: 14.1
06:25:12 BuildVersion: 23B74
06:25:12 + xcodebuild -version
06:25:12 Xcode 15.2
06:25:12 Build version 15C5500c
```
The Intel bots are building fine though. Probably because they're on a
newer OS where the headers are available?
```
10:03:35 + sw_vers
10:03:35 ProductName: macOS
10:03:35 ProductVersion: 15.1.1
10:03:35 BuildVersion: 24B91
10:03:35 + xcodebuild -version
10:03:39 Xcode 16.2
10:03:39 Build version 16C5031c
10:03:39 + cmake --version
10:03:39 cmake version 3.30.2
```
Commit: ae810dde5d83cc61a48b30ae7de36364215b4a24
https://github.com/llvm/llvm-project/commit/ae810dde5d83cc61a48b30ae7de36364215b4a24
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
Log Message:
-----------
[IA][NFC] Factoring out helper functions that extract (de)interleaving factors (#148689)
Factoring out and combining `isInterleaveIntrinsic`,
`isDeinterleaveIntrinsic`, and `getIntrinsicFactor` into
`getInterleaveIntrinsicFactor` and `getDeinterleaveIntrinsicFactor`
inside VectorUtils.
NFC.
Commit: 5d59cb6ae2bfcd08f832fcaf5c34c22967d9fa8e
https://github.com/llvm/llvm-project/commit/5d59cb6ae2bfcd08f832fcaf5c34c22967d9fa8e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-zip.ll
M llvm/test/CodeGen/AArch64/combine-mul.ll
M llvm/test/CodeGen/AArch64/fast-isel-cmp-vec.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
Log Message:
-----------
[AArch64] computeKnownBitsForTargetNode - add AArch64ISD::MOVIshift support (#148634)
Fixes #148596
Commit: db15c23a5734da141bf4d8b9fc16d193502a7f92
https://github.com/llvm/llvm-project/commit/db15c23a5734da141bf4d8b9fc16d193502a7f92
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/include/module.modulemap
Log Message:
-----------
[DebugInfo][DWARF] Add DWARF/LowLevel to module.modulemap (#148693)
This ensures the generation of Attributes.inc when using
-DLLVM_ENABLE_MODULES=ON.
Commit: 641ff6db383d0730ae2587c86aa59b6b3cf8341d
https://github.com/llvm/llvm-project/commit/641ff6db383d0730ae2587c86aa59b6b3cf8341d
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/CodeGen/debug-info-file-checksum.c
Log Message:
-----------
[DebugInfo] Add option for producing no source-file hash (#148657)
Clang can chose which sort of source-file hash is attached to a DIFile
metadata node. However, whenever hashing is possible, we /always/ attach
a hash. This patch permits users who want DWARF5 but don't want the file
hashes to opt out, by adding a "none" option to the -gsrc-hash option
that skips hash computation.
Commit: 671072e830dace589f3b85d674c356e33330aa9a
https://github.com/llvm/llvm-project/commit/671072e830dace589f3b85d674c356e33330aa9a
Author: Ahmad Yasin <ahmad.yasin at apple.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Transforms/LoopUnroll/AArch64/vector.ll
Log Message:
-----------
[AArch64] Unrolling of loops with vector instructions. (#147420)
This patch permits loops with vector instructions to be unrolled.
Today there is an early exit in `getUnrollingPreferences()` of AArch64
targets if a vector instruction is observed in any of the loop blocks.
This patch fixes that so common loops like this one get a chance to be
unrolled:
void saxpy (float * dst, const float * src, const float a, const int
len) {
float32x4_t * vdst = (float32x4_t *)dst;
float32x4_t * vsrc = (float32x4_t *)src;
float32x4_t vk = vdupq_n_f32(a);
for (int i = 0; i < (len >> 2); i++)
{
vdst[i] = vaddq_f32(vdst[i], vmulq_f32(vsrc[i], vk));
}
}
Auto-vectorized loops are still not unrolled, unless they were not
interleaved when vectorized.
The provided test case shows the enhancement on top of runtime/partial
unrolling, depending on the CPU.
PR: https://github.com/llvm/llvm-project/pull/147420
Commit: 2edd4a25dd0bb4e5f49ce0d5ff8a95803ac88d27
https://github.com/llvm/llvm-project/commit/2edd4a25dd0bb4e5f49ce0d5ff8a95803ac88d27
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/Parse/ParseDecl.cpp
Log Message:
-----------
[clang] NFC, avoid create a new FunctionTypeInfo object in the function call.
FunctionTypeInfo is a large object, no need to create a new one for this case.
Commit: 08a8e1c6b62215bf0b410f297add76f4e3b068d7
https://github.com/llvm/llvm-project/commit/08a8e1c6b62215bf0b410f297add76f4e3b068d7
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/X86/blend_x86.ll
M llvm/test/Transforms/InstCombine/fold-shuffle-ext.ll
M llvm/test/Transforms/PhaseOrdering/X86/blendv-select.ll
Log Message:
-----------
[InstCombine] Move extends across identity shuffles. (#146901)
Add a new fold to instcombine to move SExt/ZExt across identity
shuffles, applying the cast after the shuffle. This sinks extends and
can enable more general additional folding of both shuffles (and
related instructions) and extends. If backends prefer splitting up doing
casts first, the extends can be hoisted again in VectorCombine for
example.
A larger example is included in the load_i32_zext_to_v4i32. The wider
extend is easier to compute an accurate cost for and targets (like
AArch64) can lower a single wider extend more efficiently than multiple
separate extends.
This is a generalization of a VectorCombine version
(https://github.com/llvm/llvm-project/pull/141109) as suggested by
@preames.
PR: https://github.com/llvm/llvm-project/pull/146901
Commit: 9d778089db1e1d44d5e70372b28c5524dbdfbf0c
https://github.com/llvm/llvm-project/commit/9d778089db1e1d44d5e70372b28c5524dbdfbf0c
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/omptarget-debug-target-task.mlir
Log Message:
-----------
[OMPIRBuilder] Don't use invalid debug loc in task proxy function. (#148284)
This is similar to https://github.com/llvm/llvm-project/pull/147950 but
for task proxy function.
Commit: f5b6b896de383113d243a413aa15684809618baa
https://github.com/llvm/llvm-project/commit/f5b6b896de383113d243a413aa15684809618baa
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/DWARFCFIChecker/DWARFCFIAnalysis.h
M llvm/include/llvm/DWARFCFIChecker/DWARFCFIFunctionFrameAnalyzer.h
M llvm/include/llvm/DWARFCFIChecker/DWARFCFIFunctionFrameStreamer.h
M llvm/include/llvm/DWARFCFIChecker/DWARFCFIState.h
M llvm/include/llvm/Frontend/HLSL/RootSignatureValidations.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/Target/RegisterTargetPassConfigCallback.h
Log Message:
-----------
[llvm] annotate new symbols for DLL export (#148658)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates symbols that were added to
LLVM in the last two weeks and were missed by previous code-mods. The
annotations currently have no meaningful impact on the LLVM build;
however, they are a prerequisite to support an LLVM Windows DLL (shared
library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
## Overview
These changes were generated automatically using the [Interface
Definition Scanner (IDS)](https://github.com/compnerd/ids) tool,
followed formatting with `git clang-format`.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
Commit: dadaa7941dfd1355569d8bee5d8e199db93364f5
https://github.com/llvm/llvm-project/commit/dadaa7941dfd1355569d8bee5d8e199db93364f5
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M bolt/runtime/instr.cpp
Log Message:
-----------
[BOLT][instr] Add optional arguments to __bolt_instr_data_dump() (#148700)
`__bolt_instr_data_dump()` will find instrumented binary name by
iterating through entries under directory `/proc/self/map_files`,
and then open the binary and memory map it onto heap in order
to locate `.bolt.instr.tables` section to read the descriptions.
If binary name is already known and/or binary is already opened
as memory mapped, we can pass binary name and/or memory
buffer directly to `__bolt_instr_data_dump()` to save some work.
Commit: de31584001478d37f6dd645a864d160528979efe
https://github.com/llvm/llvm-project/commit/de31584001478d37f6dd645a864d160528979efe
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/aarch64/emupac.cpp
M compiler-rt/lib/builtins/int_types.h
A compiler-rt/test/builtins/Unit/aarch64/emupac.c
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni
M llvm/utils/gn/secondary/compiler-rt/test/builtins/BUILD.gn
Log Message:
-----------
Reapply "compiler-rt: Introduce runtime functions for emulated PAC."
This reverts commit 0c0aa56cdcf1fe3970a5f3875db412530512fc07.
This time with the following fixes for buildbot failures:
- Add underscore prefixes to symbol names on Apple platforms.
- Modify the test so that it skips the crash tests on platforms where
they are not expected to pass:
- Platforms that implement FEAT_PAuth but not FEAT_FPAC (e.g.
Apple M1, Cortex-A78C)
- Platforms where DA key is disabled (e.g. older Linux kernels,
Linux kernels with PAC disabled, likely Windows)
Original commit message follows:
The emulated PAC runtime functions emulate the ARMv8.3a pointer
authentication instructions and are intended for use in heterogeneous
testing environments. For more information, see the associated RFC:
https://discourse.llvm.org/t/rfc-emulated-pac/85557
Reviewers: mstorsjo, pawosm-arm, atrosinenko
Reviewed By: atrosinenko
Pull Request: https://github.com/llvm/llvm-project/pull/148094
Commit: 455105f1c67ccb625a1dccbf55cc2266bf9eaba2
https://github.com/llvm/llvm-project/commit/455105f1c67ccb625a1dccbf55cc2266bf9eaba2
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
Log Message:
-----------
[clang-tidy] Improve --verify-config documentation (#148699)
Previously it wasn't clear that passing this disables otherwise running
clang-tidy.
Commit: a73aa721d65a82a37cdb7d8bba7bae748cd27907
https://github.com/llvm/llvm-project/commit/a73aa721d65a82a37cdb7d8bba7bae748cd27907
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Analysis/IR2Vec.cpp
Log Message:
-----------
[Analysis] Fix a warning
This patch fixes:
llvm/lib/Analysis/IR2Vec.cpp:280:3: error: default label in switch
which covers all enumeration values
[-Werror,-Wcovered-switch-default]
Commit: 5a4586f468344da04c904fefbba788a854bb319e
https://github.com/llvm/llvm-project/commit/5a4586f468344da04c904fefbba788a854bb319e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/accesses-completely-before-or-after.ll
M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
M llvm/test/Analysis/LoopAccessAnalysis/different_strides.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
M llvm/test/Transforms/LoopVectorize/global_alias.ll
Log Message:
-----------
Reapply "[LAA] Remove loop-invariant check added in 234cc40adc61."
This reverts commit d43a80936d437d217d5a6dbbaa5fb131c27e7085.
With the correctness issue blocking the recommit finally fixed
(5d01697ec6cb), again unconditionally check if accesses are completely
before or after each other.
Commit: d7ec80c8972a6633841b69476ef60d32cff4f271
https://github.com/llvm/llvm-project/commit/d7ec80c8972a6633841b69476ef60d32cff4f271
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/TargetParser/TargetParser.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_tanh_bf16` on gfx1250 (#147425)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: 711132dfa43211bce312db01a473aed51bae7b8c
https://github.com/llvm/llvm-project/commit/711132dfa43211bce312db01a473aed51bae7b8c
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcstol.cpp
A libc/src/wchar/wcstol.h
A libc/src/wchar/wcstoll.cpp
A libc/src/wchar/wcstoll.h
A libc/src/wchar/wcstoul.cpp
A libc/src/wchar/wcstoul.h
A libc/src/wchar/wcstoull.cpp
A libc/src/wchar/wcstoull.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/WcstolTest.h
A libc/test/src/wchar/wcstol_test.cpp
A libc/test/src/wchar/wcstoll_test.cpp
A libc/test/src/wchar/wcstoul_test.cpp
A libc/test/src/wchar/wcstoull_test.cpp
Log Message:
-----------
[libc] Implement widechar to integer public functions (#148683)
Implement public wchar -> integer public functions using templated
internal wcs_to_integer function
Commit: c4fc35815695bc2170be9ffc5a04985f62ff3a1e
https://github.com/llvm/llvm-project/commit/c4fc35815695bc2170be9ffc5a04985f62ff3a1e
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
R flang/include/flang/Optimizer/OpenACC/FIROpenACCTypeInterfaces.h
R flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
A flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.h
A flang/include/flang/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
R flang/lib/Optimizer/OpenACC/FIROpenACCAttributes.cpp
R flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
R flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
A flang/lib/Optimizer/OpenACC/Support/CMakeLists.txt
A flang/lib/Optimizer/OpenACC/Support/FIROpenACCAttributes.cpp
A flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
A flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
Log Message:
-----------
[flang][acc][nfc] Move FIROpenACCSupport to Support subfolder (#148710)
In order to prepare for adding FIROpenACCTransforms, move the FIR
OpenACC support library to its own subfolder.
Commit: 19b2dd9d798c124406b0124a1b8debb711675281
https://github.com/llvm/llvm-project/commit/19b2dd9d798c124406b0124a1b8debb711675281
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
Log Message:
-----------
[RISCV] Use emplace_back instead of push_back+make_pair. NFC (#148711)
Commit: ada514b0af120e92b4d94653f8e272d6cec9f321
https://github.com/llvm/llvm-project/commit/ada514b0af120e92b4d94653f8e272d6cec9f321
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/docs/OpenACC.md
Log Message:
-----------
[flang][acc][NFC] Add deviation to the spec that declaring the same variable is permitted (#148288)
OpenACC spec says `A var may appear at most once in all the clauses of
declare directives for a function, subroutine, program, or module.` but
our implementation allows it with a warning generated. Add this to the
diviation list for record.
Commit: 2464313eef01c5b1edf0eccf57a32cdee01472c7
https://github.com/llvm/llvm-project/commit/2464313eef01c5b1edf0eccf57a32cdee01472c7
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/Sema/AnalysisBasedWarnings.cpp
A clang/test/SemaCXX/warn-no-sometimes-uninitialized.cpp
Log Message:
-----------
[clang] Fix suppressing diagnostics for uninitialized variables (#148336)
When one kind of diagnostics is disabled, this should not preclude other
diagnostics from displaying, even if they have lower priority. For
example, this should print a warning about passing an uninitialized
variable as a const reference:
```
> cat test.cpp
void foo(const int &);
int f(bool a) {
int v;
if (a) {
foo(v);
v = 5;
}
return v;
}
> clang test.cpp -fsyntax-only -Wuninitialized -Wno-sometimes-uninitialized
```
Commit: 92ef8e3419ee316089501a79446151c895902681
https://github.com/llvm/llvm-project/commit/92ef8e3419ee316089501a79446151c895902681
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/interfaces-global-init.cpp
Log Message:
-----------
[clang-tidy] Teach `cppcoreguidelines-interfaces-global-init` about `constinit` (#148334)
This check already understands how `constexpr` makes initialization
order problems impossible, and C++20's `constinit` provides the exact
same guarantees.
Commit: 40ceaf1d995c22a3fab3e1c5df4651cf7d1e895c
https://github.com/llvm/llvm-project/commit/40ceaf1d995c22a3fab3e1c5df4651cf7d1e895c
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/work-queue.h
Log Message:
-----------
[flang][runtime] Fix bad instance of std::optional in runtime (#148724)
The runtime needs to use common::optional, not std::optional.
Commit: 45fa0b29bc33ca6619543139792fa38204df2731
https://github.com/llvm/llvm-project/commit/45fa0b29bc33ca6619543139792fa38204df2731
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
R mlir/test/Target/LLVMIR/omptarget-debug-target-task.mlir
Log Message:
-----------
Revert "[OMPIRBuilder] Don't use invalid debug loc in task proxy function." (#148728)
There is a sanitizer fail in CI after this which I need to investigate.
Reverting for now.
Reverts llvm/llvm-project#148284
Commit: 834591e062d27db2b66aa37aef2e917e0af1e6ff
https://github.com/llvm/llvm-project/commit/834591e062d27db2b66aa37aef2e917e0af1e6ff
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[MLIR] [Vector] Linearization patterns for vector.load and vector.store (#145115)
This PR add inearizarion pattern for vector.load and vector.store. It is
follow up PR to
https://github.com/llvm/llvm-project/pull/143420#issuecomment-2967406606
Commit: 0d5325bb203fe92c75f47b473d1f77d9d4f4a5d0
https://github.com/llvm/llvm-project/commit/0d5325bb203fe92c75f47b473d1f77d9d4f4a5d0
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M bolt/lib/Core/BinaryFunctionCallGraph.cpp
Log Message:
-----------
[BOLT] Directly use call count in buildCallGraph (#134966)
In call graph construction, call block count is used for call graph edge
weight. Change that to use call count directly if it's available,
falling back to block count if not.
Test Plan:
This change together with disabling `fix-block-counts` improves profile
quality metrics, e.g. for large binaries and sampled LBR profiles:
`br_inst_retired.near_taken:uppp` trigger event
- Ads1:
- Profiled functions 58096
- CFG imbalance 2.63% -> 2.45%
- CG imbalance 8.23% -> 7.44%
- Ads2:
- Profiled functions 54358
- CFG imbalance 3.12% -> 2.77%
- CG imbalance 8.22% -> 7.06%
- uwsgi:
- Profiled functions 78103
- CFG imbalance 4.42% -> 4.03%
- CG imbalance 100.00% -> 100.00%
`cycles:u` trigger event:
- web:
- Profiled functions 31306
- CG flow imbalance: 31.16% -> 20.29%
- CFG flow imbalance: 7.04% -> 6.44%
Commit: 4b52d221a09b71c9dc0c0bb842ec706de663167c
https://github.com/llvm/llvm-project/commit/4b52d221a09b71c9dc0c0bb842ec706de663167c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Support/BLAKE3/llvm_blake3_prefix.h
Log Message:
-----------
[Support][BLAKE3] Prefix blake3_xof_many_avx512 (#148607)
This symbol was introduced in #147948, but not prefixed, resulting in
conflicts if libblake3 and LLVM are both linked statically into the same
binary.
Commit: 13b720d255c48c67606fddeaf4abb1d496945c81
https://github.com/llvm/llvm-project/commit/13b720d255c48c67606fddeaf4abb1d496945c81
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
A llvm/test/CodeGen/WinEH/wineh-reuse-catch-alloca.ll
Log Message:
-----------
[win][x64] Re-use fixed object if multiple catchpads use the same alloca for their catch objects (#147849)
Addresses
<https://github.com/llvm/llvm-project/pull/147421#discussion_r2191234968>
for x86
If more than one `catchpad ` uses the same `alloca` for their catch
objects, then we will allocate more than one object in the fixed area
resulting in wasted stack space.
As a follow up, Clang could be updated to re-use the same `alloca` for
all by-reference and by-pointer catch objects.
Commit: 027f5ba24ecef88489913d41a54b44bb8df6f71e
https://github.com/llvm/llvm-project/commit/027f5ba24ecef88489913d41a54b44bb8df6f71e
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/test/CodeGen/WinEH/lit.local.cfg
M llvm/test/CodeGen/WinEH/wineh-cloning.ll
M llvm/test/CodeGen/WinEH/wineh-demotion.ll
M llvm/test/CodeGen/WinEH/wineh-empty-seh-scope.ll
M llvm/test/CodeGen/WinEH/wineh-nested-unwind.ll
M llvm/test/CodeGen/WinEH/wineh-no-demotion.ll
M llvm/test/CodeGen/WinEH/wineh-noret-cleanup.ll
Log Message:
-----------
[win][aarch64] Enable the llvm/test/CodeGen/WinEH tests for AArch64 (#147860)
Enabled AArch64 runs for these tests where it made sense.
Also removed the "temporary" suffixes filter that was added over 10
years ago, I believe the "misched-copy.s output file" has been cleaned
from the runners by now...
Commit: 99875733fce0c6c72c50244ceaffe0cc5e1fa277
https://github.com/llvm/llvm-project/commit/99875733fce0c6c72c50244ceaffe0cc5e1fa277
Author: James Newling <james.newling at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/test/Dialect/NVGPU/transform-matmul-to-nvvm.mlir
Log Message:
-----------
[mlir][vector] Use vector.broadcast in place of vector.splat (#148028)
Part of deprecation of vector.splat
RFC:
https://discourse.llvm.org/t/rfc-mlir-vector-deprecate-then-remove-vector-splat/87143/4
More complete deprecation:
https://github.com/llvm/llvm-project/pull/147818
Commit: 633728f3b5e71aa998a894de294bbd6e49b9a5e5
https://github.com/llvm/llvm-project/commit/633728f3b5e71aa998a894de294bbd6e49b9a5e5
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFC][TableGen][DecoderEmitter] Eliminate `indent` for a few functions (#148718)
Eliminate the `indent` argument for functions which are always called
with `indent(0)`.
Commit: 5277021c3c75a19a3db5e097e4b4e73eeb1f8ffa
https://github.com/llvm/llvm-project/commit/5277021c3c75a19a3db5e097e4b4e73eeb1f8ffa
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/CodeGen/AMDGPU/fma.f64.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop2.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop2.txt
Log Message:
-----------
[AMDGPU] Add gfx1250 v_fmac_f64 implementation (#148725)
Commit: 244ebef1ddbc6a77f17c36562d4a4292654940a6
https://github.com/llvm/llvm-project/commit/244ebef1ddbc6a77f17c36562d4a4292654940a6
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
Log Message:
-----------
Reapply [mlir][vector] Refactor WarpOpScfForOp to support unused or swapped forOp results. (#148313)
Reapply attempt for : https://github.com/llvm/llvm-project/pull/148291
Fix for the build failure reported in :
https://lab.llvm.org/buildbot/#/builders/116/builds/15477
-----
This crash is caused by mismatch of distributed type returned by
`getDistributedType` and intended distributed type for forOp results.
Solution diff:
https://github.com/llvm/llvm-project/commit/20c2cf67662c3b3fdecf95a0e280809f98d8db50
Example:
```
func.func @warp_scf_for_broadcasted_result(%arg0: index) -> vector<1xf32> {
%c128 = arith.constant 128 : index
%c1 = arith.constant 1 : index
%c0 = arith.constant 0 : index
%2 = gpu.warp_execute_on_lane_0(%arg0)[32] -> (vector<1xf32>) {
%ini = "some_def"() : () -> (vector<1xf32>)
%0 = scf.for %arg3 = %c0 to %c128 step %c1 iter_args(%arg4 = %ini) -> (vector<1xf32>) {
%1 = "some_op"(%arg4) : (vector<1xf32>) -> (vector<1xf32>)
scf.yield %1 : vector<1xf32>
}
gpu.yield %0 : vector<1xf32>
}
return %2 : vector<1xf32>
}
```
In this case the distributed type for forOp result is `vector<1xf32>`
(result is not distributed and broadcasted to all lanes instead).
However, in this case `getDistributedType` will return NULL type.
Therefore, if the distributed type can be recovered from warpOp, we
should always do that first before using `getDistributedType`
Commit: 00dacf8c22f065cb52efb14cd091d441f19b319e
https://github.com/llvm/llvm-project/commit/00dacf8c22f065cb52efb14cd091d441f19b319e
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/include/clang/Analysis/Analyses/UninitializedValues.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/Misc/warning-wall.c
A clang/test/SemaCXX/warn-uninitialized-const-pointer.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.volatile.pass.cpp
Log Message:
-----------
[clang] Add -Wuninitialized-const-pointer (#148337)
This option is similar to -Wuninitialized-const-reference, but diagnoses
the passing of an uninitialized value via a const pointer, like in the
following code:
```
void foo(const int *);
void test() {
int v;
foo(&v);
}
```
This is an extract from #147221 as suggested in [this
comment](https://github.com/llvm/llvm-project/pull/147221#discussion_r2190998730).
Commit: 56a4f8d8c149a35b73e795a427238182d5284aae
https://github.com/llvm/llvm-project/commit/56a4f8d8c149a35b73e795a427238182d5284aae
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/wchar/CMakeLists.txt
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
A libc/src/__support/wchar/string_converter.h
M libc/test/src/__support/wchar/CMakeLists.txt
A libc/test/src/__support/wchar/string_converter_test.cpp
Log Message:
-----------
[libc] Wchar Stringconverter (#146388)
Implemented a string converter class to encapsulate the logic of
converting between utf8 <-> utf32
Commit: a32040e483f4fb53031b390c66722ac27d839023
https://github.com/llvm/llvm-project/commit/a32040e483f4fb53031b390c66722ac27d839023
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/code-size-estimate.ll
A llvm/test/CodeGen/AMDGPU/literal64.ll
Log Message:
-----------
[AMDGPU] Use 64-bit literals in codegen on gfx1250 (#148727)
Commit: ad9a9537e6222853da3966abd978548f0b62eab8
https://github.com/llvm/llvm-project/commit/ad9a9537e6222853da3966abd978548f0b62eab8
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/Analysis/UninitializedValues.cpp
M clang/test/SemaCXX/uninitialized.cpp
Log Message:
-----------
[clang] Fix -Wuninitialized for values passed by const pointers (#147221)
This enables producing a "variable is uninitialized" warning when a
value is passed to a pointer-to-const argument:
```
void foo(const int *);
void test() {
int *v;
foo(v);
}
```
Fixes #37460
Commit: 085e8f1e520b91f5ed40e5b09f458bb2c4d7c0e0
https://github.com/llvm/llvm-project/commit/085e8f1e520b91f5ed40e5b09f458bb2c4d7c0e0
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcilia-valid.s
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[RISCV] Relax destination instruction dag operand matching in CompresInstEmitter (#148660)
We have some 48-bit instructions in the `Xqci` spec that currently
cannot be compressed to their 32-bit variants due to the constraint in
`CompressInstEmitter` on destination instruction operands not being
allowed to mismatch with the DAG operands.
For eg. the` QC_E_ADDI` instruction can be compressed to the `ADDI`
instruction when the immediate is signed-12 bit but this is currently
not possible since the `QC_E_ADDI` instruction has `GPRNoX0` register
operands while the `ADDI` instruction has `GPR` register operands
leading to an operand type validation error.
I think we can remove the check that only source instruction operands
can mismatch with the corresponding DAG operands and rely on the fact
that we check if the DAG register operand type is a subclass of the
instruction register operand type.
Commit: d1db176e82fa02188471ca014582016b0b1ace7b
https://github.com/llvm/llvm-project/commit/d1db176e82fa02188471ca014582016b0b1ace7b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
ARM: Stop setting sincos_stret calling convention (#147457)
This was going out of its way to explicitly mark these as
ARM_AAPCS_VFP. This has been explicitly set since 8b40366b54bd4,
where the commit message states that "sincos" (not sincos_stret)
has a special calling convention. However, that commit also sets
the calling convention for all libcalls to ARM_AAPCS_VFP, and
getEffectiveCallingConv returns the same for CCC anyway in tests
using isWatchABI triples.
The net result of this appears to be a change in behavior when
using -float-abi=soft with isWatchABI, which have no tests so
I assume this is a theoretical combination.
If I assert
```
if (getTargetMachine().getTargetTriple().isWatchABI()) {
assert(!useSoftFloat());
assert(getEffectiveCallingConv(CallingConv::C, false) == CallingConv::ARM_AAPCS_VFP);
}
```
Only 2 tests fail the second condition, which look like copy paste
accidents
using v7k triples with linux and only needed a filler triple. This is a
consequence
of strangely using the target architecture in place of the OS ABI check,
as was done in 042a6c1fe19caf48af7e287dc8f6fd5fec158093
Commit: 8ae8b50d360431c748bf2ebb18b4105968bcb76b
https://github.com/llvm/llvm-project/commit/8ae8b50d360431c748bf2ebb18b4105968bcb76b
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/IR2Vec.cpp
Log Message:
-----------
[NFC][IR2Vec] Minor refactoring of opcode access in vocabulary (#147585)
Refactored IR2Vec vocabulary handling to improve code organization and error handling. This would help in upcoming PRs related to the IR2Vec tool.
(Tracking issue - #141817)
Commit: ec90786ad1da16b655de11bc9590773fdc0e72a0
https://github.com/llvm/llvm-project/commit/ec90786ad1da16b655de11bc9590773fdc0e72a0
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/IR2Vec.cpp
Log Message:
-----------
[NFC][IR2Vec] Exposing helpers in IR2Vec Vocabulary (#147841)
Minor refactoring IR2Vec vocabulary. This would help in upcoming PRs related to the IR2Vec tool.
(Tracking issue - #141817)
Commit: 352215c6eb291a20f62e7744dc2f7e4a6de46f8d
https://github.com/llvm/llvm-project/commit/352215c6eb291a20f62e7744dc2f7e4a6de46f8d
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/test/CodeGen/DirectX/flatten-array.ll
M llvm/test/CodeGen/DirectX/flatten-bug-117273.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/scalar-bug-117273.ll
M llvm/test/CodeGen/DirectX/scalarize-alloca.ll
Log Message:
-----------
[DirectX] Simplify and correct the flattening of GEPs in DXILFlattenArrays (#146173)
In tandem with #146800, this PR fixes #145370
This PR simplifies the logic for collapsing GEP chains and replacing
GEPs to multidimensional arrays with GEPs to flattened arrays. This
implementation avoids unnecessary recursion and more robustly computes
the index to the flattened array by using the GEPOperator's
collectOffset function, which has the side effect of allowing "i8 GEPs"
and other types of GEPs to be handled naturally in the flattening /
collapsing of GEP chains.
Furthermore, a handful of LLVM DirectX CodeGen tests have been edited to
fix incorrect GEP offsets, mismatched types (e.g., loading i32s from a
an array of floats), and typos.
Commit: 6b7c6fd8b450d1577a11fb979192a4f84b6d0b6e
https://github.com/llvm/llvm-project/commit/6b7c6fd8b450d1577a11fb979192a4f84b6d0b6e
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/MC/MCAsmStreamer.cpp
Log Message:
-----------
[PseudoProbe] use print to emit function name (#147873)
This PR is part of #123870.
For COFF Asm, function name should be wrapped in quotes.
MCSymbol::print will automatically do that.
Commit: f07107337fc163d45265d04e92a974c481ad8653
https://github.com/llvm/llvm-project/commit/f07107337fc163d45265d04e92a974c481ad8653
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Pass SDNodeFlags to getSelect instead of modifying the node returned. (#148733)
Commit: 43206d1b2ece9894ecacd8ed0cc76b853b17cd7d
https://github.com/llvm/llvm-project/commit/43206d1b2ece9894ecacd8ed0cc76b853b17cd7d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A llvm/test/CodeGen/Hexagon/llvm.exp10.ll
Log Message:
-----------
Hexagon: Add test for llvm.exp10 intrinsic (#148664)
This is mostly to test the libcall behavior
Commit: ee5b9369cd4a75b7bacd7e4eefffe15c9ebfc44e
https://github.com/llvm/llvm-project/commit/ee5b9369cd4a75b7bacd7e4eefffe15c9ebfc44e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A llvm/test/CodeGen/Hexagon/llvm.frexp.ll
Log Message:
-----------
Hexagon: Add frexp intrinsic test (#148671)
Commit: 49d2b5f1cd597a0612830819399effcd21d724a7
https://github.com/llvm/llvm-project/commit/49d2b5f1cd597a0612830819399effcd21d724a7
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__configuration/availability.h
A libcxx/include/__log_hardening_failure
M libcxx/include/module.modulemap.in
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/CMakeLists.txt
A libcxx/src/log_hardening_failure.cpp
A libcxx/test/libcxx/assertions/log_hardening_failure.pass.cpp
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++][hardening] Introduce a dylib function to log hardening errors. (#148266)
Unlike `verbose_abort`, this function merely logs the error but does not
terminate execution. It is intended to make it possible to implement the
`observe` semantic for Hardening.
Commit: 5eecec8e81ec01444bae0232a43f6619ab4274c4
https://github.com/llvm/llvm-project/commit/5eecec8e81ec01444bae0232a43f6619ab4274c4
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/include/flang/Common/format.h
Log Message:
-----------
[flang] Fix use of __has_builtin and formatting (#148746)
`__has_builtin` is not available on all compilers. Make sure it works
when not defined.
Also fix some formatting issues:
- Use brace initialization where possible
- Fix wrong capitalization of variables.
- Add `std::` for `unit64_t` and `int64_t` as it is mostly done in this
part of the codebase.
Commit: 2c6771889a7bc96c0f7010214c5e1e87d86a7bf1
https://github.com/llvm/llvm-project/commit/2c6771889a7bc96c0f7010214c5e1e87d86a7bf1
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/include/flang/Optimizer/Builder/Runtime/CUDA/Descriptor.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/lib/Optimizer/Builder/Runtime/CUDA/Descriptor.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-alloc-free.fir
Log Message:
-----------
[flang][cuda] Introduce cuf.set_allocator_idx operation (#148717)
Commit: cbba8f0acb537be00f649a640e98f8c92692fe9b
https://github.com/llvm/llvm-project/commit/cbba8f0acb537be00f649a640e98f8c92692fe9b
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/literal64.ll
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
A llvm/test/CodeGen/AMDGPU/shrink-fma-f64.mir
M llvm/test/CodeGen/AMDGPU/twoaddr-fma-f64.mir
Log Message:
-----------
[AMDGPU] Codegen support for v_fmaak_f64/f_fmamk_f64 (#148734)
Commit: 22707fd4a594a1b00cc68893dd1887c8971b4c98
https://github.com/llvm/llvm-project/commit/22707fd4a594a1b00cc68893dd1887c8971b4c98
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features-andes.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Andes XAndesBFHCvt (Andes Scalar BFLOAT16) extension (#148563)
The spec can be found at:
https://github.com/andestech/andes-v5-isa/releases/tag/ast-v5_4_0-release.
The extension includes only two instructions: one for converting from
f32 to f16, and another for converting from f16 to f32.
This patch only implements MC support for XAndesBFHCvt.
Commit: 7ba0c98265977651540c64795b244166af329ca8
https://github.com/llvm/llvm-project/commit/7ba0c98265977651540c64795b244166af329ca8
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vcpop.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vcpopv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vcpop.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vcpopv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vcpop.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vcpopv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vcpop.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vcpopv.c
Log Message:
-----------
[RISCV] Rename the vector crypto intrinsic test vcpopv.c to vcpop.c. NFC.
To be consistent with https://github.com/riscv-non-isa/rvv-intrinsic-doc/tree/post-1.0-dev/auto-generated/vector-crypto/llvm-api-tests
Commit: 27b3b4a665f144b968a04502e5461ab8d1cd1471
https://github.com/llvm/llvm-project/commit/27b3b4a665f144b968a04502e5461ab8d1cd1471
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/scalar-store.ll
Log Message:
-----------
[DirectX] Move the scalarizer pass to before dxil-flatten-arrays (#146800)
Fixes #145924 and #140416
Depends on #146173 being merged first.
This PR moves the scalarizer pass to immediately before the
dxil-flatten-arrays pass to allow the dxil-flatten-arrays pass to turn
scalar GEPs (including i8 GEPs) into flattened array GEPs where
applicable.
A number of LLVM DirectX CodeGen tests have been edited to remove scalar
GEPs and also correct previously uncaught incorrectly-transformed GEPs.
No more validation errors of the form `Access to out-of-bounds memory is
disallowed` or `TGSM pointers must originate from an unambiguous TGSM
global variable` appear anymore after this PR when compiling DML
shaders.
Commit: 14dc3e3d5f84fe4e52bcccdc514efdd27ed7a45c
https://github.com/llvm/llvm-project/commit/14dc3e3d5f84fe4e52bcccdc514efdd27ed7a45c
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/X86/kcfi.ll
Log Message:
-----------
[SelectionDAG] [KCFI] Allow "kcfi" on invoke (#148742)
This is handled in CallBase, so it is valid for both call and invoke
Commit: 1ddb909a422853bd8e2692a8d369b45d62cec3e5
https://github.com/llvm/llvm-project/commit/1ddb909a422853bd8e2692a8d369b45d62cec3e5
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/utils/remote-exec.py
Log Message:
-----------
remote-exec: Detect and propagate signal death in the remote process.
If the remote process died with a signal, this will be exposed by ssh
as an exit code in the range 128 < rc < 160. We may be running under
`not --crash` which will expect us to also die with a signal, so send
the signal to ourselves so that wait4() in `not` will detect the signal.
Speculative fix for failing buildbot:
https://lab.llvm.org/buildbot/#/builders/193/builds/9070
Commit: 7cde97423347d8f7eb4a3967f98b274be8ff621f
https://github.com/llvm/llvm-project/commit/7cde97423347d8f7eb4a3967f98b274be8ff621f
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
A clang/docs/CXXTypeAwareAllocators.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/index.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/type-aware-class-scoped-mismatched-constraints.cpp
M clang/test/SemaCXX/type-aware-coroutines.cpp
M clang/test/SemaCXX/type-aware-new-constexpr.cpp
M clang/test/SemaCXX/type-aware-new-delete-arrays.cpp
M clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
M clang/test/SemaCXX/type-aware-new-delete-basic-in-class-declarations.cpp
M clang/test/SemaCXX/type-aware-new-delete-basic-resolution.cpp
M clang/test/SemaCXX/type-aware-new-delete-qualifiers.cpp
M clang/test/SemaCXX/type-aware-new-delete-transparent-contexts.cpp
M clang/test/SemaCXX/type-aware-new-invalid-type-identity.cpp
M clang/test/SemaCXX/type-aware-placement-operators.cpp
Log Message:
-----------
[clang] Update diagnostics and documentation for type aware allocators (#148576)
Alas reflection pushed p2719 out of C++26, so this PR changes the
diagnostics to reflect that for now type aware allocation is
functionally a clang extension.
Commit: 90ef114a33805b67eea29564193ad6d4c6975a30
https://github.com/llvm/llvm-project/commit/90ef114a33805b67eea29564193ad6d4c6975a30
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Lower/CUDA/cuda-set-allocator.cuf
Log Message:
-----------
[flang][cuda] Add cuf.set_allocator_idx for device component (#148750)
Commit: 451a9ce9ffcf18db365f32a5a01dd025ab26c1d0
https://github.com/llvm/llvm-project/commit/451a9ce9ffcf18db365f32a5a01dd025ab26c1d0
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/ptrauth.h
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/test/CodeGenObjC/arc.m
M clang/test/CodeGenObjC/matrix-type-operators.m
A clang/test/CodeGenObjC/ptrauth-attr-exception.m
A clang/test/CodeGenObjC/ptrauth-block-isa.m
A clang/test/CodeGenObjC/ptrauth-class-ro.m
A clang/test/CodeGenObjC/ptrauth-class.m
A clang/test/CodeGenObjC/ptrauth-objc-interface-selector.m
A clang/test/CodeGenObjC/ptrauth-objc-isa-super.m
A clang/test/CodeGenObjC/ptrauth-objc-method-list-pointer.m
A clang/test/CodeGenObjC/ptrauth-property-backing.m
A clang/test/CodeGenObjCXX/ptrauth-objc-interface-selector.mm
A clang/test/SemaObjC/ptrauth-pointers.m
M clang/test/SemaObjC/ptrauth-qualifier.m
Log Message:
-----------
[clang][ObjC][PAC] Add ptrauth protections to objective-c (#147899)
This PR introduces the use of pointer authentication to objective-c[++].
This includes:
* __ptrauth qualifier support for ivars
* protection of isa and super fields
* protection of SEL typed ivars
* protection of class_ro_t data
* protection of methodlist pointers and content
Commit: 91b3dbe273be721bdaea58c9f3c1d8309f496034
https://github.com/llvm/llvm-project/commit/91b3dbe273be721bdaea58c9f3c1d8309f496034
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libc/docs/headers/search.rst
Log Message:
-----------
[libc] Update some implementation status for `search.h` (#148414)
- `VISIT` was implemented in
https://github.com/llvm/llvm-project/pull/132746.
- `lsearch` was implemented in
https://github.com/llvm/llvm-project/pull/131431.
At first, I thought this would be updated automatically, but it seems
that the header status needs to be added manually.
Commit: eb6da944af31dd684be3ab2f93f453a3837a72c6
https://github.com/llvm/llvm-project/commit/eb6da944af31dd684be3ab2f93f453a3837a72c6
Author: tedwoodward <56049650+tedwoodward at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
A lldb/examples/python/filter_disasm.py
M lldb/include/lldb/Core/Opcode.h
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/Opcode.cpp
M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
M lldb/source/Utility/ArchSpec.cpp
A lldb/test/Shell/Commands/Inputs/dis_filt.py
A lldb/test/Shell/Commands/command-disassemble-riscv32-bytes.s
A lldb/test/Shell/Commands/command-disassemble-x86-bytes.s
M lldb/unittests/Disassembler/RISCV/TestMCDisasmInstanceRISCV.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Improve disassembly of unknown instructions (#145793)
LLDB uses the LLVM disassembler to determine the size of instructions and
to do the actual disassembly. Currently, if the LLVM disassembler can't
disassemble an instruction, LLDB will ignore the instruction size, assume
the instruction size is the minimum size for that device, print no useful
opcode, and print nothing for the instruction.
This patch changes this behavior to separate the instruction size and
"can't disassemble". If the LLVM disassembler knows the size, but can't
dissasemble the instruction, LLDB will use that size. It will print out
the opcode, and will print "<unknown>" for the instruction. This is much
more useful to both a user and a script.
The impetus behind this change is to clean up RISC-V disassembly when
the LLVM disassembler doesn't understand all of the instructions.
RISC-V supports proprietary extensions, where the TD files don't know
about certain instructions, and the disassembler can't disassemble them.
Internal users want to be able to disassemble these instructions.
With llvm-objdump, the solution is to pipe the output of the disassembly
through a filter program. This patch modifies LLDB's disassembly to look
more like llvm-objdump's, and includes an example python script that adds
a command "fdis" that will disassemble, then pipe the output through a
specified filter program. This has been tested with crustfilt, a sample
filter located at https://github.com/quic/crustfilt .
Changes in this PR:
- Decouple "can't disassemble" with "instruction size".
DisassemblerLLVMC::MCDisasmInstance::GetMCInst now returns a bool for
valid disassembly, and has the size as an out paramter.
Use the size even if the disassembly is invalid.
Disassemble if disassemby is valid.
- Always print out the opcode when -b is specified.
Previously it wouldn't print out the opcode if it couldn't disassemble.
- Print out RISC-V opcodes the way llvm-objdump does.
Code for the new Opcode Type eType16_32Tuples by Jason Molenda.
- Print <unknown> for instructions that can't be disassembled, matching
llvm-objdump, instead of printing nothing.
- Update max riscv32 and riscv64 instruction size to 8.
- Add example "fdis" command script.
- Added disassembly byte test for x86 with known and unknown instructions.
- Added disassembly byte test for riscv32 with known and unknown instructions,
with and without filtering.
- Added test from Jason Molenda to RISC-V disassembly unit tests.
Commit: 10b5558b61baab59c7d3dff37ffdf0861c0cc67a
https://github.com/llvm/llvm-project/commit/10b5558b61baab59c7d3dff37ffdf0861c0cc67a
Author: Trevor Gross <tmgross at umich.edu>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/test/CodeGen/X86/i128-fp128-abi.ll
Log Message:
-----------
[X86] Update the fp128/i128 test to show stack alignment (NFC) (#148753)
Adding an extra argument before a `fp128` only changes the stack offset
by four bytes, while it should instead go in the next 16-aligned slot.
Add a test demonstrating the current behavior.
`no_x86_scrub_sp` is added because offset from the stack pointer is
needed to show the problem.
Relevant issue: https://github.com/llvm/llvm-project/issues/77401
Commit: 96148f92146e5211685246722664e51ec730e7ba
https://github.com/llvm/llvm-project/commit/96148f92146e5211685246722664e51ec730e7ba
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
Log Message:
-----------
[RISCV] Use cond_code instead for PseudoCCNDS_BFOS and PseudoCCNDS_BFOZ.
Commit: d2bcc51a5ae42157e9a0178186e5cb711c018c93
https://github.com/llvm/llvm-project/commit/d2bcc51a5ae42157e9a0178186e5cb711c018c93
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M lld/ELF/Arch/Hexagon.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Target.h
A lld/test/ELF/hexagon-attributes.s
Log Message:
-----------
[LLD] Merge .hexagon.attributes sections (#148098)
Merge the attributes of object files being linked together. The
`.hexagon.attributes` section can be used by loaders and analysis tools.
This is similar to the .riscv.attributes, introduced in
8a900f2438b4a167b98404565ad4da2645cc9330 /
https://reviews.llvm.org/D138550.
Commit: be200e2b80c5f5e460fb361a14fb3c94d0ca1a67
https://github.com/llvm/llvm-project/commit/be200e2b80c5f5e460fb361a14fb3c94d0ca1a67
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/X86/invalid-operand-bundle-invoke.ll
Log Message:
-----------
[SelectionDAG] improve error message for invalid op bundles (#148722)
Commit: 25b00c033c3cdd1a5c67ecc32b1dd13e3cd2df61
https://github.com/llvm/llvm-project/commit/25b00c033c3cdd1a5c67ecc32b1dd13e3cd2df61
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
A llvm/test/CodeGen/AArch64/unsupported-object-format-err.ll
Log Message:
-----------
AArch64: Fix asserting on unexpected triples (#147880)
Commit: 9a9db2a39c7640ebd803741e4f058598bca04f0b
https://github.com/llvm/llvm-project/commit/9a9db2a39c7640ebd803741e4f058598bca04f0b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/test/Driver/riscv-cpus.c
Log Message:
-----------
[RISCV] Prefix mcpu/mtune/march/mabi with '-' in comments. NFC (#148723)
Commit: eea5c291bbf5177061021a980bc1369bac2d75b9
https://github.com/llvm/llvm-project/commit/eea5c291bbf5177061021a980bc1369bac2d75b9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Pass SDNodeFlags to getNode instead of modifying nodes. (#148744)
getNode has logic to intersect flags correctly if the new node happens
to CSE with an existing node. Setting node flags after getNode bypasses
this logic and may change the node for other uses where the flags don't
hold.
Commit: 3265a36c55d0fc96078fd4752583e26ab6cdb016
https://github.com/llvm/llvm-project/commit/3265a36c55d0fc96078fd4752583e26ab6cdb016
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Refactor RISCVDAGToDAGISel::selectSimm5Shl2. NFC (#148731)
Return from the for loop body instead of using a break and checking the
shift amount after.
Commit: 31944ac45bb986122da639f195b19df4621fbfa8
https://github.com/llvm/llvm-project/commit/31944ac45bb986122da639f195b19df4621fbfa8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/MC/RISCV/rv32p-valid.s
M llvm/test/MC/RISCV/rv64p-valid.s
Log Message:
-----------
[RISCV] Render P-ext simm10_unsigned as a simm10 after parsing. (#148749)
Instead of allowing a parsed MCInst to have a either uimm10 or simm10,
always render as simm10. This avoids a mismatch between parsed MCInst
and disassembled MCInst when a uimm10 value is used.
Commit: 49233137274d82f77ed0f011135a3d53cb4f8254
https://github.com/llvm/llvm-project/commit/49233137274d82f77ed0f011135a3d53cb4f8254
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Fix typo in comment. NFC (#148754)
'unsigned' was misspelled, but it seemed easier to write uimm9 than to
spell it out.
Commit: 3faaa5cdb094b60971bb357aca651123e23855b6
https://github.com/llvm/llvm-project/commit/3faaa5cdb094b60971bb357aca651123e23855b6
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/Relocations/mc-dump.s
A llvm/test/MC/RISCV/xqci-fixups.s
M llvm/test/MC/RISCV/xqcibi-relocations.s
M llvm/test/MC/RISCV/xqcilb-relocations.s
M llvm/test/MC/RISCV/xqcili-relocations.s
Log Message:
-----------
[RISCV] Fix QC.E.LI -> C.LI with Bare Symbol Compression (#146763)
There's a long comment explaining this approach in RISCVInstrInfoXqci.td
This change also fixes some problems when fixups are able to be resolved for `qc.e.li` and `qc.li`.
Commit: 9ba45c5c5e6cf8f8c800260e8c84e19e33e2fa34
https://github.com/llvm/llvm-project/commit/9ba45c5c5e6cf8f8c800260e8c84e19e33e2fa34
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Move RISCVDAGToDAGISel::SelectAddrRegRegScale definition later. NFC
This function was placed between some static functions and their
callers. Reorder to keep the related code together.
Commit: 9e9fdd433adfd4c1da46e475f4bbe8fdbf7c04f9
https://github.com/llvm/llvm-project/commit/9e9fdd433adfd4c1da46e475f4bbe8fdbf7c04f9
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang-rt/lib/cuda/descriptor.cpp
Log Message:
-----------
[flang][cuda] Fix definition of CUFSetAllocatorIndex (#148778)
Commit: 028dfd7756e3113ea8fe12bec20ec00c68a98c6a
https://github.com/llvm/llvm-project/commit/028dfd7756e3113ea8fe12bec20ec00c68a98c6a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Replace tab character. NFC
Commit: 769bd90f8b2fbb345b115586e81edf3a70ec8cc1
https://github.com/llvm/llvm-project/commit/769bd90f8b2fbb345b115586e81edf3a70ec8cc1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
Log Message:
-----------
[flang] Fix a warning
This patch fixes:
flang/lib/Lower/ConvertVariable.cpp:787:22: error: unused variable
'fieldTy' [-Werror,-Wunused-variable]
Commit: b1a25ce73c6a4fd123b92682e465215d39154244
https://github.com/llvm/llvm-project/commit/b1a25ce73c6a4fd123b92682e465215d39154244
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[Sema] Remove unnecessary casts (NFC) (#148762)
getAsmLabel() already returns Expr *.
Commit: 7e7340d276b5cf85816fd7cb8f6d22f9f810f16a
https://github.com/llvm/llvm-project/commit/7e7340d276b5cf85816fd7cb8f6d22f9f810f16a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
Log Message:
-----------
[AArch64] Remove an unnecessary cast (NFC) (#148763)
OpcA is already of unsigned.
Commit: a869f7e82143e836d5c8c145cbe69c4786e545e7
https://github.com/llvm/llvm-project/commit/a869f7e82143e836d5c8c145cbe69c4786e545e7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
Log Message:
-----------
[CodeGen] Remove an unnecessary cast (NFC) (#148764)
getExpression() already returns DIExpression *.
Commit: c4450aa96e40cf1652bc27d73fa5948f330cad84
https://github.com/llvm/llvm-project/commit/c4450aa96e40cf1652bc27d73fa5948f330cad84
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/Lanai/LanaiFrameLowering.cpp
Log Message:
-----------
[Lanai] Remove unnecessary casts (NFC) (#148765)
getInstrInfo() already returns const LanaiInstrInfo *.
Likewise, getRegisterInfo() already returns const LanaiRegisterInfo *.
Commit: c8d3e61216f08f228278aa5da9eb24540737259e
https://github.com/llvm/llvm-project/commit/c8d3e61216f08f228278aa5da9eb24540737259e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/DWARFCFIChecker/Registers.h
Log Message:
-----------
[DWARFCFIChecker] Use llvm::unique (NFC) (#148766)
While I am at it, this patch replaces resize with erase, which is a
lot shorter and idiomatic.
Commit: 7c83d66719e1ccf75bb25d427f1b0cce57028b4a
https://github.com/llvm/llvm-project/commit/7c83d66719e1ccf75bb25d427f1b0cce57028b4a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Analysis/CallGraph.cpp
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
M llvm/lib/DebugInfo/DWARF/LowLevel/DWARFCFIProgram.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
M llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
Log Message:
-----------
[llvm] Remove unused includes (NFC) (#148768)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: c06d3a7b728293cbc53ff91239d6cd87c0982ffb
https://github.com/llvm/llvm-project/commit/c06d3a7b728293cbc53ff91239d6cd87c0982ffb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M mlir/lib/Dialect/PDL/IR/PDL.cpp
M mlir/lib/Dialect/PDLInterp/IR/PDLInterp.cpp
M mlir/lib/Dialect/Ptr/IR/PtrAttrs.cpp
M mlir/lib/Dialect/Ptr/IR/PtrDialect.cpp
M mlir/lib/Dialect/Ptr/IR/PtrTypes.cpp
M mlir/lib/Dialect/Quant/IR/QuantDialectBytecode.cpp
M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
M mlir/lib/Dialect/Quant/Transforms/NormalizeQuantTypes.cpp
M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferDeallocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/lib/Dialect/SCF/Transforms/ParallelLoopCollapsing.cpp
M mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
M mlir/lib/Dialect/SCF/Utils/AffineCanonicalizationUtils.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/SMT/IR/SMTAttributes.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/Shape/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Shape/Transforms/OutlineShapeComputation.cpp
M mlir/lib/Dialect/Shape/Transforms/ShapeToShapeLowering.cpp
M mlir/lib/Dialect/Traits.cpp
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/lib/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorScan.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorMaskElimination.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
M mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
M mlir/lib/Dialect/X86Vector/Transforms/AVXTranspose.cpp
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
Log Message:
-----------
[mlir] Remove unused includes (NFC) (#148769)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: da283b54d964c4b08395baa57d8b33dcb59dfd07
https://github.com/llvm/llvm-project/commit/da283b54d964c4b08395baa57d8b33dcb59dfd07
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/test/Format/multiple-inputs-error.cpp
M clang/test/Format/ranges.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
Revert "[clang-format] Fix an off-by-1 bug with -length option (#143302)"
This reverts commit 1fae5918b3d6fbed8ce6d8a2edf31bdf304ca8db because it may
break VSCode.
Closes #146036
Commit: 977cfea786401eab2b167307221a15fa6747e28e
https://github.com/llvm/llvm-project/commit/977cfea786401eab2b167307221a15fa6747e28e
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/AnalysisBasedWarnings.cpp
A clang/test/SemaCXX/noreturn-vars.cpp
Log Message:
-----------
[Analysis] Avoid some warnings about exit from noreturn function (#144408)
Compiler sometimes issues warnings on exit from 'noreturn' functions, in
the code like:
[[noreturn]] extern void nonreturnable();
void (*func_ptr)();
[[noreturn]] void foo() {
func_ptr = nonreturnable;
(*func_ptr)();
}
where exit cannot take place because the function pointer is actually a
pointer to noreturn function.
This change introduces small data analysis that can remove some of the
warnings in the cases when compiler can prove that the set of reaching
definitions consists of noreturn functions only.
Commit: 0be51cff91293eb0f4ee11088d4d9edade590b48
https://github.com/llvm/llvm-project/commit/0be51cff91293eb0f4ee11088d4d9edade590b48
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/CodeGen/RISCV/xqcicli.ll
Log Message:
-----------
[RISCV] Add ISel patterns for Qualcomm uC Xqcicli extension (#148121)
Add CodeGen patterns for conditional load immediate instructions
Commit: 3d50e1f3e83eaa77a09ab8336fac45a52ee9c1e5
https://github.com/llvm/llvm-project/commit/3d50e1f3e83eaa77a09ab8336fac45a52ee9c1e5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A llvm/test/CodeGen/ARM/stack-protector-target.ll
A llvm/test/CodeGen/LoongArch/stack-protector-target.ll
A llvm/test/CodeGen/PowerPC/stack-protector-target.ll
M llvm/test/CodeGen/RISCV/stack-protector-target.ll
A llvm/test/CodeGen/SPARC/stack-protector-target.ll
A llvm/test/CodeGen/X86/stack-protector-target-openbsd.ll
Log Message:
-----------
RuntimeLibcalls: Add some tests for OpenBSD stack protectors (#147888)
7dce16f69dc3e26cb74d5ad38b0648a6f47f9640 removed a libcall for
STACKPROTECTOR_CHECK_FAIL from OpenBSD but added no tests.
Add a basic test copied from RISCV into all the backends on
the OpenBSD page of supported architectures before I potentially
break in in RuntimeLibcalls refactoring.
Commit: 0b674f4c52237fed91c142ca3766b58f335fe120
https://github.com/llvm/llvm-project/commit/0b674f4c52237fed91c142ca3766b58f335fe120
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
Log Message:
-----------
MCFixup: Replace getTargetKind with getKind
MCFixupKind is now a type alias (fixup kinds are inherently
target-specific). getTargetKind is no longer necessary.
Commit: dae72bc659d79f59e3b26a948158e3f37b33471b
https://github.com/llvm/llvm-project/commit/dae72bc659d79f59e3b26a948158e3f37b33471b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/test/CodeGen/X86/freeze-unary.ll
Log Message:
-----------
[X86] freeze-unary.ll - show tests failing to remove freeze from ISD::ABS node
Unlike the abs intrinsic, the ISD::ABS node defines ABS(INT_MIN) -> INT_MIN, not poison is generated
Commit: acf07dc77cba07d67c85e120c2eb8094438572e9
https://github.com/llvm/llvm-project/commit/acf07dc77cba07d67c85e120c2eb8094438572e9
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
Log Message:
-----------
[Clang] Do not treat Foo -> const Foo conversion sequences as perfect (#148613)
For implicit object arguments.
This fixes a regression introduced by the "perfect match" overload
resolution mechanism introduced in 8c5a307.
Note that GCC allows the ambiguity between a const and non-const
candidate to be resolved. But this patch focuses on restoring the Clang
20 behavior, and to fix the cases which we did resolve incorrectly.
Fixes #147374
Commit: 0991435fc3e638caad036085f73d8e7a62bfb60f
https://github.com/llvm/llvm-project/commit/0991435fc3e638caad036085f73d8e7a62bfb60f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Mostly move x86 configuration into tablegen (#148575)
This is getting pretty ugly, but seems to be the worst of the
cases. Opting out of the base set of calls for the various windows
cases is really ugly. We need to apply that to the arm cases as well.
It also may make sense to go back to transposing the architecture
and operating system (i.e. make isOSWindows the SystemLibrary
and then modify based on architecture).
Commit: 5ba458c559b04efca307dc86f8265cf6dffaf666
https://github.com/llvm/llvm-project/commit/5ba458c559b04efca307dc86f8265cf6dffaf666
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
Log Message:
-----------
MCFixup: Replace getTargetKind with getKind
Commit: 16798ee7bf86d8c9c68e7b668a52039f2dce35f9
https://github.com/llvm/llvm-project/commit/16798ee7bf86d8c9c68e7b668a52039f2dce35f9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/MC/MCContext.cpp
M llvm/test/CodeGen/AArch64/unsupported-object-format-err.ll
Log Message:
-----------
MC: Use reportFatalUsageError for COFF with non-windows (#147911)
Commit: 13d818806dbe24d58d92d9f533c61afab0e429a1
https://github.com/llvm/llvm-project/commit/13d818806dbe24d58d92d9f533c61afab0e429a1
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCFixup.h
Log Message:
-----------
MCFixup: Remove getTargetKind
MCFixupKind is now a type alias (fixup kinds are inherently
target-specific). getTargetKind is no longer necessary.
Commit: b0769aa290fd11d1154f7d2779e59bfcc4314e8f
https://github.com/llvm/llvm-project/commit/b0769aa290fd11d1154f7d2779e59bfcc4314e8f
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/IR/Instructions.cpp
Log Message:
-----------
[IR] Make intrinsic checks more efficient (NFC) (#148682)
Directly cast the callee operand instead of going through
getCalledFunction(). We can do this because for intrinsics the function
type between the call and the function is guaranteed to match.
This is a minor compile-time improvement as is, but has a much bigger
impact with a future change that makes getCalledFunction() more
expensive.
There is some code duplication between these four uses, but they are
each just different enough that representing one in terms of another
would be less efficient.
Commit: c8d0e247453af3c5c031ed210736f650e6be2289
https://github.com/llvm/llvm-project/commit/c8d0e247453af3c5c031ed210736f650e6be2289
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
Log Message:
-----------
[VPlan] Preserve trunc nuw/nsw in VPRecipeWithIRFlags (#144700)
This preserves the nuw/nsw flags on widened truncs by checking for
TruncInst in the VPIRFlags constructor
The motivation for this is to be able to fold away some redundant truncs
feeding into uitofps (or potentially narrow the inductions feeding them)
Commit: ee9b84f5bed7027b4a81f68bf853f35d6e749eef
https://github.com/llvm/llvm-project/commit/ee9b84f5bed7027b4a81f68bf853f35d6e749eef
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A llvm/include/llvm/BinaryFormat/SFrame.h
M llvm/unittests/BinaryFormat/CMakeLists.txt
A llvm/unittests/BinaryFormat/SFrameTest.cpp
Log Message:
-----------
[BinaryFormat] Add "SFrame" structures and constants (#147264)
This patch defines the structures and constants used by the SFrame
unwind info format supported by GNU binutils. For more information about
the format, see https://sourceware.org/binutils/wiki/sframe and
https://discourse.llvm.org/t/rfc-adding-sframe-support-to-llvm/86900
The patch uses the GNU names for all relevant entities, but I've converted
them to the llvm naming convention, and I've replaced macros with enums.
Commit: 9ef293ea249d19b795ff217bad6e7f6d0a723d29
https://github.com/llvm/llvm-project/commit/9ef293ea249d19b795ff217bad6e7f6d0a723d29
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lld/docs/ReleaseNotes.rst
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[LoongArch] Add supplemental release notes for LLVM 21 (#148771)
Commit: 5e303e80e685a4d0b7035ef73058f42218bc2daa
https://github.com/llvm/llvm-project/commit/5e303e80e685a4d0b7035ef73058f42218bc2daa
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/test/Analysis/stream.c
Log Message:
-----------
[clang][analyzer] Add C standard streams to the internal memory space (#147766)
Variables `stdin`, `stdout`, `stderr` are now added to internal memory space
instead of system memory space. The system memory space is invalidated
at calls to system-defined functions which is not the correct behavior for
the standard stream variables.
Commit: b80b02536b20d2170820e56ef776f43640ee2495
https://github.com/llvm/llvm-project/commit/b80b02536b20d2170820e56ef776f43640ee2495
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
A llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
A llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32_err.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
Log Message:
-----------
AMDGPU: Implement MC layer support for gfx1250 wmma instructions. (#148570)
Regular wmma/swmmac plus matrix reuse only.
---------
Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Co-authored-by: Shilei Tian <Shilei.Tian at amd.com>
Commit: de551c640349e6fe898c87db2b527d87f42c138e
https://github.com/llvm/llvm-project/commit/de551c640349e6fe898c87db2b527d87f42c138e
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/test/CodeGen/AMDGPU/opencl-printf.ll
Log Message:
-----------
[AMDGPU] Support 'F' and 'A' conversion specifiers with ocl printf (#148784)
Runtime support in progress downstream..
Commit: 5fc844acd8163373e74d16042df9e17ae9e18ad4
https://github.com/llvm/llvm-project/commit/5fc844acd8163373e74d16042df9e17ae9e18ad4
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__type_traits/is_core_convertible.h
M libcxx/include/optional
M libcxx/test/std/utilities/optional/optional.comp_with_t/equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/greater.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/greater_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/less_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/less_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/not_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/greater_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/greater_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/less_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/less_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/not_equal.pass.cpp
Log Message:
-----------
[libc++] P2944R3: Constrained comparisons - `optional` (#144249)
Partially implements [P2944R3](https://wg21.link/P2944R3) which adds
constrained comparisons to std::optional.
Closes #136767
# References
[optional.relops](https://wg21.link/optional.relops)
[optional.comp.with.t](https://wg21.link/optional.comp.with.t)
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: cbdc18542c485282d1834c347156d77a97bf2615
https://github.com/llvm/llvm-project/commit/cbdc18542c485282d1834c347156d77a97bf2615
Author: Matthias Springer <me at m-sp.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Fix bug in `arith.bitcast` canonicalizer (#148795)
`bitcast(bitcast(x))` was incorrectly folded to `x`.
Commit: 8ee32c7b367336f7281aa78c823f7bae4d5287c2
https://github.com/llvm/llvm-project/commit/8ee32c7b367336f7281aa78c823f7bae4d5287c2
Author: Matthias Springer <me at m-sp.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Dialect Conversion: Store materialization metadata separately (#148415)
Store metadata about unresolved materializations in a separate data
structure. This is in preparation of the One-Shot Dialect Conversion
refactoring, which no longer maintains a stack of `IRRewrite` objects.
Therefore, metadata about unresolved materializations can no longer be
retrieved from `UnresolvedMaterializationRewrite` objects.
This commit also removes a pointer indirection and may slightly improve
the performance of the existing driver.
Commit: e74520fae690392f43936bb3c4c02b0ba088ccfa
https://github.com/llvm/llvm-project/commit/e74520fae690392f43936bb3c4c02b0ba088ccfa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/freeze-unary.ll
Log Message:
-----------
[DAG] canCreateUndefOrPoison - add handling for ISD::ABS nodes (#148791)
Unlike the abs intrinsic, the ISD::ABS node defines ABS(INT_MIN) -> INT_MIN, so no undef/poison is created by the node itself
Commit: a789b3f381bfb98009d72115c1f47b7516dd6af3
https://github.com/llvm/llvm-project/commit/a789b3f381bfb98009d72115c1f47b7516dd6af3
Author: Trevor Gross <tmgross at umich.edu>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/test/CodeGen/ARM/llvm.frexp.ll
M llvm/test/CodeGen/Mips/ldexp.ll
Log Message:
-----------
[test] Add missing tests for Arm frexpf128 and Mips ldexpf128 (#148793)
These platforms have tests for the rest of the float sizes but not
`f128`. Add them here.
Commit: 7c30897b4cff758321d864adf1d58533eedbdb98
https://github.com/llvm/llvm-project/commit/7c30897b4cff758321d864adf1d58533eedbdb98
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/test/Transforms/InferFunctionAttrs/no-proto.ll
Log Message:
-----------
[TLI] Handle cabs without parameters gracefully
Check that the function has at least one parameter before trying
to access its type.
Fixes https://github.com/llvm/llvm-project/issues/148770.
Commit: 29436737baf8675ec98c8f738e291acb44eacd85
https://github.com/llvm/llvm-project/commit/29436737baf8675ec98c8f738e291acb44eacd85
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
Log Message:
-----------
[NFC][-Wunsafe-buffer-usage] Refactor safe pattern check for pointer-size pairs (#145626)
Refactor the safe pattern analysis of pointer and size expression pairs
so that the check can be re-used in more places. For example, it can be
used to check whether the following cases are safe:
- `std::span<T>{ptr, size} // span construction`
- `snprintf(ptr, size, "%s", ...) // unsafe libc call`
- `printf("%.*s", size, ptr) // unsafe libc call`
Commit: 69ea174bf07533b7f63139f78b0ec3d3766aedc4
https://github.com/llvm/llvm-project/commit/69ea174bf07533b7f63139f78b0ec3d3766aedc4
Author: Keno Fischer <keno at juliahub.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
llvm-shlib: Fix mingw dll exports (#148772)
In c87d198cd964f37343083848f8fdd58bb0b00156, the `__jit_debug_*` symbols
gained explicit dllexport annotations. Unfortunately, mingw's linkers
have a quirk where the presence of any dllexport symbols at all will
switch off the `-export-all-symbols` flag, so without a full conversion
to dllexport annotations (#109483), the mingw LLVM dll build is broken
in LLVM 20+ when building with GCC (when building with clang,
LLVM_ALWAYS_EXPORT expands to the default visibility attribute,
see extended discussion in #148772).
Fix this by adding the flag explicitly as was done for
clang-shlib earlier in https://reviews.llvm.org/D151620.
Commit: c363a3f9c858b38afa34f3a8ebcc3fa7a4062315
https://github.com/llvm/llvm-project/commit/c363a3f9c858b38afa34f3a8ebcc3fa7a4062315
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
Log Message:
-----------
[LV] Ensure getScaledReductions only matches extends inside the loop (#148264)
In getScaledReductions for the case where we try to match a partial
reduction of the form:
%phi = phi i32 ...
...
%add = add i32 %phi, %zext
where
%zext = i8 %some_val to i32
we should ensure that %zext is actually inside the loop.
Fixes https://github.com/llvm/llvm-project/issues/148260
Commit: 8aeab8faeebfa737a388041e5b37717ab15d387e
https://github.com/llvm/llvm-project/commit/8aeab8faeebfa737a388041e5b37717ab15d387e
Author: WhatAmISupposedToPutHere <fnkl.kernel at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/test/Driver/mingw.cpp
Log Message:
-----------
[Driver][MinGW] Allow using clang driver to link ARM64X PEs. (#148064)
Similar to how clang-cl driver does it, make it possible to build arm64x
binaries with a mingw-style invocation.
Signed-off-by: Sasha Finkelstein <fnkl.kernel at gmail.com>
Commit: aa0629dabeed0088674d23340c9c3c9932681d0f
https://github.com/llvm/llvm-project/commit/aa0629dabeed0088674d23340c9c3c9932681d0f
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[CodeGen][NPM] Read TargetMachine's EnableIPRA option (#148108)
same as https://github.com/llvm/llvm-project/pull/138670,
Co-authored-by : Oke, Akshat
<[Akshat.Oke at amd.com](mailto:Akshat.Oke at amd.com)>
Commit: 7345508c6febc57eaac985ef2fb14beabdc4d461
https://github.com/llvm/llvm-project/commit/7345508c6febc57eaac985ef2fb14beabdc4d461
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
A libcxx/cmake/caches/Generic-hardening-mode-extensive-observe-semantic.cmake
M libcxx/docs/Hardening.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__config
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_integral.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_right.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_left.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.non_unique.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.non_unique.pass.cpp
M libcxx/test/libcxx/thread/thread.barrier/assert.arrive.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.arrive_and_wait.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.ctor.pass.cpp
M libcxx/test/libcxx/thread/thread.semaphore/assert.ctor.pass.cpp
M libcxx/test/support/check_assertion.h
M libcxx/test/support/test.support/test_check_assertion.pass.cpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/libcxx/test/params.py
M libcxx/vendor/llvm/default_assertion_handler.in
M libcxxabi/src/demangle/DemangleConfig.h
Log Message:
-----------
[libc++][hardening] Introduce assertion semantics (#148268)
Assertion semantics closely mimic C++26 Contracts evaluation semantics.
This brings our implementation closer in line with C++26 Library
Hardening (one particular benefit is that using the `observe` semantic
makes adopting hardening easier for projects).
Commit: 58d79aaba6765606f78fc6ec6b9ae1db3b44d834
https://github.com/llvm/llvm-project/commit/58d79aaba6765606f78fc6ec6b9ae1db3b44d834
Author: David Green <david.green at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
Log Message:
-----------
[AArch64] Guard against non-simple types in udiv sve costs. (#148580)
The code here probably needs to change to handle types more uniformly,
but this patch prevents it from trying to use a simple type where it does
not exist.
Fixes #148438.
Commit: a1c61ac7563220f3b0180d4367937d910dc85849
https://github.com/llvm/llvm-project/commit/a1c61ac7563220f3b0180d4367937d910dc85849
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-composite-simd-if.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-reduction.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[mlir][OpenMP] Allow composite SIMD REDUCTION and IF (#147568)
Reduction support: https://github.com/llvm/llvm-project/pull/146671
If Support is fixed in this PR
The problem for the IF clause in composite constructs was that wsloop
and simd both operate on the same CanonicalLoopInfo structure: with the
SIMD processed first, followed by the wsloop. Previously the IF clause
generated code like
```
if (cond) {
while (...) {
simd_loop_body;
}
} else {
while (...) {
nonsimd_loop_body;
}
}
```
The problem with this is that this invalidates the CanonicalLoopInfo
structure to be processed by the wsloop later. To avoid this, in this
patch I preserve the original loop, moving the IF clause inside of the
loop:
```
while (...) {
if (cond) {
simd_loop_body;
} else {
non_simd_loop_body;
}
}
```
On simple examples I tried LLVM was able to hoist the if condition
outside of the loop at -O3.
The disadvantage of this is that we cannot add the
llvm.loop.vectorize.enable attribute on either the SIMD or non-SIMD
loops because they both share a loop back edge. There's no way of
solving this without keeping the old design of having two different
loops: which cannot be represented using only one CanonicalLoopInfo
structure. I don't think the presence or absence of this attribute makes
much difference. In my testing it is the llvm.loop.parallel_access
metadata which makes the difference to vectorization. LLVM will
vectorize if legal whether or not this attribute is there in the TRUE
branch. In the FALSE branch this means the loop might be vectorized even
when the condition is false: but I think this is still standards
compliant: OpenMP 6.0 says that when the if clause is false that should
be treated like the SIMDLEN clause is one. The SIMDLEN clause is defined
as a "hint". For the same reason, SIMDLEN and SAFELEN clauses are
silently ignored when SIMD IF is used.
I think it is better to implement SIMD IF and ignore SIMDLEN and SAFELEN
and some vectorization encouragement metadata when combined with IF than
to ignore IF because IF could have correctness consequences whereas the
rest are optimiztion hints. For example, the user might use the IF
clause to disable SIMD programatically when it is known not safe to
vectorize the loop. In this case it is not at all safe to add the
parallel access or SAFELEN metadata.
Commit: 259a11db5e8f558072a2253c02c775e39e23f05d
https://github.com/llvm/llvm-project/commit/259a11db5e8f558072a2253c02c775e39e23f05d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
A llvm/test/CodeGen/NVPTX/no-stack-protector-libcall-error.ll
Log Message:
-----------
StackProtector: Use RuntimeLibcalls to query libcall names (#147913)
The compiler should not introduce calls to arbitrary strings
that aren't defined in RuntimeLibcalls. Previously OpenBSD was
disabling the default __stack_chk_fail, but there was no record
of the alternative __stack_smash_handler function it emits instead.
This also avoids a random triple check in the pass.
Commit: e68ef116b3f0701d9a2bfc5fb96597cff4ac8e4a
https://github.com/llvm/llvm-project/commit/e68ef116b3f0701d9a2bfc5fb96597cff4ac8e4a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
RuntimeLibcalls: Add entries for some exception related functions (#147914)
SjLjEHPrepare and WasmEHPrepare directly emit calls to these by
name, and these are not tracked in RuntimeLibcalls. It will be easier
to fix this when RuntimeLibcalls is turned into an analysis, so just
add the entries for now.
Commit: d7dc5367eda08e9c688d0055df44156c9508487b
https://github.com/llvm/llvm-project/commit/d7dc5367eda08e9c688d0055df44156c9508487b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SafeStack.cpp
A llvm/test/Transforms/SafeStack/NVPTX/lit.local.cfg
A llvm/test/Transforms/SafeStack/NVPTX/safestack-libcall-error.ll
Log Message:
-----------
SafeStack: Emit call to __stack_chk_fail through RuntimeLibcalls (#147915)
Avoid hardcoding the function name, and query if it's really
supported or not.
Commit: 0c3a2faa8505bb4a6d56682b7e63368a246e7ba1
https://github.com/llvm/llvm-project/commit/0c3a2faa8505bb4a6d56682b7e63368a246e7ba1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libcxx/include/__new/allocate.h
Log Message:
-----------
[libc++] Simplify the implementation of __libcpp_{,de}allocate (#147989)
GCC 15 also supports `__buitin_operator_{new,delete}` now, so the
`#else` cases are dead code. This patch inlines the calls to the wrapper
functions and simplifies some surrounding code.
Commit: 148708493a80f9d75513f2e3721d043dd5b969a7
https://github.com/llvm/llvm-project/commit/148708493a80f9d75513f2e3721d043dd5b969a7
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/TargetLoweringObjectFile.cpp
Log Message:
-----------
[NFC] Hoist pseudo probe desc emission code for reuse (#148756)
This PR is part of #123870.
The pseudo probe desc emission code can be reused by other target.
Commit: b2eb7b070115cd6c17b9d1d164d52ac5e0d16b14
https://github.com/llvm/llvm-project/commit/b2eb7b070115cd6c17b9d1d164d52ac5e0d16b14
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
SPIRV: Define runtime libcalls to be (almost) empty (#148631)
This is a behavior change; previously SPIRV inherited
a default set of calls which seems like a mistake. This
defines a library set with no calls. Add memcpy and memset
as a hack; this avoids PreISelIntrinsicLowering performing
the default expansion. SPIRVPrepareFunctions also calls
the utilities to expand these but the resulting output
is slightly different. The backend specific version
can probably be removed, it for some reason has a larger
output than the default one.
Commit: a64bfd8a5186bc5b967878689509db81b9d1922c
https://github.com/llvm/llvm-project/commit/a64bfd8a5186bc5b967878689509db81b9d1922c
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
Log Message:
-----------
[lldb] Fix Disasembler build error on 32-bit systems
After changes in https://github.com/llvm/llvm-project/pull/145793.
/home/david.spickett/llvm-project/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp:1360:49: error: non-const lvalue reference to type 'uint64_t' (aka 'unsigned long long') cannot bind to a value of unrelated type 'size_t' (aka 'unsigned int')
1360 | status = m_disasm_up->getInstruction(mc_inst, size, data, pc, llvm::nulls());
| ^~~~
/home/david.spickett/llvm-project/llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h:135:64: note: passing argument to parameter 'Size' here
135 | virtual DecodeStatus getInstruction(MCInst &Instr, uint64_t &Size,
| ^
1 error generated.
The type used in the LLVM method we call is uin64_t so use that instead.
It's overkill for what it is, but that's a separate issue if anyone cares.
Also removed the unused form of GetMCInst.
Commit: 92501396b42411d404729608d0456c9c29b06386
https://github.com/llvm/llvm-project/commit/92501396b42411d404729608d0456c9c29b06386
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/CodeGen/SafeStack.cpp
A llvm/test/Transforms/SafeStack/NVPTX/safestack-pointer-address-libcall-error.ll
Log Message:
-----------
SafeStack: Emit __safestack_pointer_address call through RuntimeLibcalls (#147916)
Stop using hardcoded function named and check availability. This only fixes
the forced usage via command line in the pass itself; the implementations
inside of TargetLoweringBase hide additional call emission.
Commit: bd4e7f5f5d90644b4899836776b30826f89bc154
https://github.com/llvm/llvm-project/commit/bd4e7f5f5d90644b4899836776b30826f89bc154
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/load-combine.ll
Log Message:
-----------
[LLVM][DAGCombiner] Fix size calculations in calculateByteProvider. (#148425)
calculateByteProvider only cares about scalars or a single element
within a vector. For the later there is the VectorIndex parameter to
identify the element. All other properties, and specificially Index, are
related to the underyling scalar type and thus when taking the size of a
type it's the scalar size that matters.
Fixes https://github.com/llvm/llvm-project/issues/148387
Commit: a40dc05898b58a0e9534d8fda3bc1b28c398347b
https://github.com/llvm/llvm-project/commit/a40dc05898b58a0e9534d8fda3bc1b28c398347b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Mark canonical IV and reduction phis as not writing memory (NFC).
Both recipes do not write to memory. Should be NFC at the moment, as
they cannot be removed currently due to being in a cycle.
Commit: fda3fbee6f4ae241f46f1328efdc1aae1e49ea92
https://github.com/llvm/llvm-project/commit/fda3fbee6f4ae241f46f1328efdc1aae1e49ea92
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__configuration/availability.h
R libcxx/include/__log_hardening_failure
M libcxx/include/module.modulemap.in
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/CMakeLists.txt
R libcxx/src/log_hardening_failure.cpp
R libcxx/test/libcxx/assertions/log_hardening_failure.pass.cpp
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
Revert "[libc++][hardening] Introduce a dylib function to log hardening errors." (#148787)
Reverts llvm/llvm-project#148266
I'm reverting this temporarily, since the release branch is today and
this is ABI sensitive. Let's wait until after the branch so that we have
plenty time to discuss the patch.
Commit: c6ac07b95a544c4ea3603792622d99c5cecb7a41
https://github.com/llvm/llvm-project/commit/c6ac07b95a544c4ea3603792622d99c5cecb7a41
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/tools/TestToolBase.py
Log Message:
-----------
[Dexter] Add option to Dexter to name results based on directory (#148611)
As a legacy of Dexter's role as a test runner, it selects a name for
result files based on the relative path from the test root to each
individual test. Since Dexter no longer takes a test directory as an
argument, only the basename for each test is ever used. This patch adds
an optional --test-root-dir argument, allowing for relative paths to be
used for result files again.
Commit: af99f18d91a440504f2e375ee78a2a744e39ab65
https://github.com/llvm/llvm-project/commit/af99f18d91a440504f2e375ee78a2a744e39ab65
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Lowering/CIRPasses.cpp
Log Message:
-----------
[CIR] Upstream the basic structure of LoweringPrepare pass (#148545)
Upstream, the basic structure of the LoweringPrepare pass as a
prerequisite for other ComplexType PR's
https://github.com/llvm/llvm-project/issues/141365
Commit: 97d44e316676833c11be72111c944844862ae12a
https://github.com/llvm/llvm-project/commit/97d44e316676833c11be72111c944844862ae12a
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/test/Shell/Commands/command-disassemble-riscv32-bytes.s
Log Message:
-----------
[lldb][test] Disable riscv32 disassembly filter test on Windows
Added by https://github.com/llvm/llvm-project/pull/145793
Failing on our Windows on Arm bot:
https://github.com/llvm/llvm-project/pull/145793
Shebang lines don't work on Windows and we can't pass "python script_name"
to the "fdis set" commadn because of the way arguments are parsed currently.
I can fix that but that needs review, disable the test for now.
Commit: adb6efeac92ba13d65ecacc12f8f84e83a2286d0
https://github.com/llvm/llvm-project/commit/adb6efeac92ba13d65ecacc12f8f84e83a2286d0
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/segmented-loads.ll
Log Message:
-----------
[SLP] Fix cost estimation of external uses with wrong VF (#148185)
It assumed that the VF remains constant throughout the tree. That's not
always true. This meant that we could query the extraction cost for a
lane that is out of bounds.
While experimenting with re-vectorisation for AArch64, we ran into this
issue. We cannot add a proper AArch64 test as more changes would need to
be brought in.
This commit is only fixing the computation of VF and adding an assert.
Some tests were failing after adding the assert:
- foo() in llvm/test/Transforms/SLPVectorizer/X86/horizontal.ll
- test() in
llvm/test/Transforms/SLPVectorizer/X86/reduction-with-removed-extracts.ll
- test_with_extract() in
llvm/test/Transforms/SLPVectorizer/RISCV/segmented-loads.ll
Commit: 339a1f2e8f5c8f6a55e3f801e55c659bd526956c
https://github.com/llvm/llvm-project/commit/339a1f2e8f5c8f6a55e3f801e55c659bd526956c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
R libcxx/cmake/caches/Generic-hardening-mode-extensive-observe-semantic.cmake
M libcxx/docs/Hardening.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__config
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_integral.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_right.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_left.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.non_unique.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.non_unique.pass.cpp
M libcxx/test/libcxx/thread/thread.barrier/assert.arrive.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.arrive_and_wait.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.ctor.pass.cpp
M libcxx/test/libcxx/thread/thread.semaphore/assert.ctor.pass.cpp
M libcxx/test/support/check_assertion.h
M libcxx/test/support/test.support/test_check_assertion.pass.cpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/libcxx/test/params.py
M libcxx/vendor/llvm/default_assertion_handler.in
M libcxxabi/src/demangle/DemangleConfig.h
Log Message:
-----------
Revert "[libc++][hardening] Introduce assertion semantics" (#148822)
Reverts llvm/llvm-project#148268
It looks like this was based on #148266, which I reverted in #148787.
Commit: 0425a5df4d435461f772b5719de96ba2dce582cf
https://github.com/llvm/llvm-project/commit/0425a5df4d435461f772b5719de96ba2dce582cf
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc] Add hooks for extra options in running hermetic tests (#147931)
Part of #145349. These hooks are required downstream in order to run
hermetic tests. See https://github.com/arm/arm-toolchain/pull/420 for
more context on how this PR will be used.
Commit: ec149d5ef8930986bc3dc404cdb8f7e925333f6e
https://github.com/llvm/llvm-project/commit/ec149d5ef8930986bc3dc404cdb8f7e925333f6e
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M .github/workflows/libclang-python-tests.yml
M clang/CMakeLists.txt
R clang/bindings/python/tests/CMakeLists.txt
R clang/bindings/python/tests/__init__.py
R clang/bindings/python/tests/cindex/INPUTS/a.inc
R clang/bindings/python/tests/cindex/INPUTS/b.inc
R clang/bindings/python/tests/cindex/INPUTS/compile_commands.json
R clang/bindings/python/tests/cindex/INPUTS/header1.h
R clang/bindings/python/tests/cindex/INPUTS/header2.h
R clang/bindings/python/tests/cindex/INPUTS/header3.h
R clang/bindings/python/tests/cindex/INPUTS/hello.cpp
R clang/bindings/python/tests/cindex/INPUTS/include.cpp
R clang/bindings/python/tests/cindex/INPUTS/parse_arguments.c
R clang/bindings/python/tests/cindex/INPUTS/testfile.c
R clang/bindings/python/tests/cindex/__init__.py
R clang/bindings/python/tests/cindex/test_access_specifiers.py
R clang/bindings/python/tests/cindex/test_cdb.py
R clang/bindings/python/tests/cindex/test_code_completion.py
R clang/bindings/python/tests/cindex/test_comment.py
R clang/bindings/python/tests/cindex/test_cursor.py
R clang/bindings/python/tests/cindex/test_cursor_kind.py
R clang/bindings/python/tests/cindex/test_diagnostics.py
R clang/bindings/python/tests/cindex/test_enums.py
R clang/bindings/python/tests/cindex/test_exception_specification_kind.py
R clang/bindings/python/tests/cindex/test_file.py
R clang/bindings/python/tests/cindex/test_index.py
R clang/bindings/python/tests/cindex/test_lib.py
R clang/bindings/python/tests/cindex/test_linkage.py
R clang/bindings/python/tests/cindex/test_location.py
R clang/bindings/python/tests/cindex/test_rewrite.py
R clang/bindings/python/tests/cindex/test_source_range.py
R clang/bindings/python/tests/cindex/test_tls_kind.py
R clang/bindings/python/tests/cindex/test_token_kind.py
R clang/bindings/python/tests/cindex/test_tokens.py
R clang/bindings/python/tests/cindex/test_translation_unit.py
R clang/bindings/python/tests/cindex/test_type.py
R clang/bindings/python/tests/cindex/util.py
M clang/test/CMakeLists.txt
A clang/test/bindings/python/bindings.sh
A clang/test/bindings/python/lit.local.cfg
A clang/test/bindings/python/tests/__init__.py
A clang/test/bindings/python/tests/cindex/INPUTS/a.inc
A clang/test/bindings/python/tests/cindex/INPUTS/b.inc
A clang/test/bindings/python/tests/cindex/INPUTS/compile_commands.json
A clang/test/bindings/python/tests/cindex/INPUTS/header1.h
A clang/test/bindings/python/tests/cindex/INPUTS/header2.h
A clang/test/bindings/python/tests/cindex/INPUTS/header3.h
A clang/test/bindings/python/tests/cindex/INPUTS/hello.cpp
A clang/test/bindings/python/tests/cindex/INPUTS/include.cpp
A clang/test/bindings/python/tests/cindex/INPUTS/parse_arguments.c
A clang/test/bindings/python/tests/cindex/INPUTS/testfile.c
A clang/test/bindings/python/tests/cindex/__init__.py
A clang/test/bindings/python/tests/cindex/test_access_specifiers.py
A clang/test/bindings/python/tests/cindex/test_cdb.py
A clang/test/bindings/python/tests/cindex/test_code_completion.py
A clang/test/bindings/python/tests/cindex/test_comment.py
A clang/test/bindings/python/tests/cindex/test_cursor.py
A clang/test/bindings/python/tests/cindex/test_cursor_kind.py
A clang/test/bindings/python/tests/cindex/test_diagnostics.py
A clang/test/bindings/python/tests/cindex/test_enums.py
A clang/test/bindings/python/tests/cindex/test_exception_specification_kind.py
A clang/test/bindings/python/tests/cindex/test_file.py
A clang/test/bindings/python/tests/cindex/test_index.py
A clang/test/bindings/python/tests/cindex/test_lib.py
A clang/test/bindings/python/tests/cindex/test_linkage.py
A clang/test/bindings/python/tests/cindex/test_location.py
A clang/test/bindings/python/tests/cindex/test_rewrite.py
A clang/test/bindings/python/tests/cindex/test_source_range.py
A clang/test/bindings/python/tests/cindex/test_tls_kind.py
A clang/test/bindings/python/tests/cindex/test_token_kind.py
A clang/test/bindings/python/tests/cindex/test_tokens.py
A clang/test/bindings/python/tests/cindex/test_translation_unit.py
A clang/test/bindings/python/tests/cindex/test_type.py
A clang/test/bindings/python/tests/cindex/util.py
Log Message:
-----------
[clang][python][test] Move python binding tests to lit framework (#148802)
As discussed in PR #142353, the current testsuite of the `clang` Python
bindings has several issues:
- It `libclang.so` cannot be loaded into `python` to run the testsuite,
the whole `ninja check-all` aborts.
- The result of running the testsuite isn't report like the `lit`-based
tests, rendering them almost invisible.
- The testsuite is disabled in a non-obvious way (`RUN_PYTHON_TESTS`) in
`tests/CMakeLists.txt`, which again doesn't show up in the test results.
All these issues can be avoided by integrating the Python bindings tests
with `lit`, which is what this patch does:
- The actual test lives in `clang/test/bindings/python/bindings.sh` and
is run by `lit`.
- The current `clang/bindings/python/tests` directory (minus the
now-subperfluous `CMakeLists.txt`) is moved into the same directory.
- The check if `libclang` is loadable (originally from PR #142353) is
now handled via a new `lit` feature, `libclang-loadable`.
- The various ways to disable the tests have been turned into `XFAIL`s
as appropriate. This isn't complete and not completely tested yet.
Tested on `sparc-sun-solaris2.11`, `sparcv9-sun-solaris2.11`,
`i386-pc-solaris2.11`, `amd64-pc-solaris2.11`, `i686-pc-linux-gnu`, and
`x86_64-pc-linux-gnu`.
Co-authored-by: Rainer Orth <ro at gcc.gnu.org>
Commit: b3240b4889bb4b700e655d21e908ae07cfda5a55
https://github.com/llvm/llvm-project/commit/b3240b4889bb4b700e655d21e908ae07cfda5a55
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Passes.td
Log Message:
-----------
[CIR][NFC] Fix LoweringPrepare pass multi lines summary (#148826)
Fix the Lowering Prepare a multi-line summary
Commit: 8a7a64873b13e6fd931b748fbf50b3da26fe7fca
https://github.com/llvm/llvm-project/commit/8a7a64873b13e6fd931b748fbf50b3da26fe7fca
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libclc/CMakeLists.txt
A libclc/utils/CMakeLists.txt
Log Message:
-----------
[libclc] Move CMake for prepare_builtins to a subdirectory (#148815)
This simply makes things better self-contained.
Commit: 2f70e074f21ab00a3377a3a6dec32ab3684e33da
https://github.com/llvm/llvm-project/commit/2f70e074f21ab00a3377a3a6dec32ab3684e33da
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A llvm/test/CodeGen/XCore/llvm.frexp.ll
Log Message:
-----------
XCore: Add frexp intrinsic test (#148676)
Commit: 8cbcaee7fe3629554fa21e7a82efaf1be300af42
https://github.com/llvm/llvm-project/commit/8cbcaee7fe3629554fa21e7a82efaf1be300af42
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[CodeGen][NPM] Register Function Passes (#148109)
same as https://github.com/llvm/llvm-project/pull/138828,
Co-authored-by : Oke, Akshat
<[Akshat.Oke at amd.com](mailto:Akshat.Oke at amd.com)>
Commit: 57d81c23f4c8d3ad88210aab29f0809974e7d1ce
https://github.com/llvm/llvm-project/commit/57d81c23f4c8d3ad88210aab29f0809974e7d1ce
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang] Remove explicit object from non member function. (#148807)
To avoid crashing later (as we assume only member functions can have
explicit object parameters)
Fixes #113185
Commit: 2a9afdb7937710a4af5ebe5ab3a4fdd235fbf08e
https://github.com/llvm/llvm-project/commit/2a9afdb7937710a4af5ebe5ab3a4fdd235fbf08e
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Sema/ParsedAttr.h
Log Message:
-----------
[clang] Reduce the size of ParsedAttributesView and AttributePool (#148726)
These objects are used as local stack variables during parsing, and they
are not small. This patch reduces their sizes:
* `ParsedAttributesView`: 72 → 40 bytes
* `AttributePool`: 72 → 40 bytes
No negative performance impact has been
[observed](https://llvm-compile-time-tracker.com/compare.php?from=a709621cd545b061782b03136286227867b452a6&to=f50500b3c178e97c0c861301e853e6d5b859040b&stat=instructions:u).
**Context:**
We have some verilator-generated code with extremely deep nesting of
parenthesized expressions, e.g.:
```cpp
bool s =
(...(bool)(i[0])
|(bool)(i[1]))
|(bool)(i[2]))
| ...
|(bool)(i[n]));
```
Before this patch, on my local machine, Clang begins emitting
`-Wstack-exhausted` when `n` is 715. After the patch, that threshold
increases to `950`.
Commit: a2b31109458a10197e038959c1ccbcf9a84284a8
https://github.com/llvm/llvm-project/commit/a2b31109458a10197e038959c1ccbcf9a84284a8
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Sema/DeclSpec.h
Log Message:
-----------
[clang] Reduce the small vector size for DeclTypeInfo. (#148788)
The `Declarator` class is large (4584 bytes) and used as a stack-local
variable during parsing.
This patch reduces the default size of its `DeclTypeInfo` member,
reducing the overall size down to 3880 bytes. This allows clang handle
more deeply nested expressions without exhausting the stack.
Combined with #148726, the nesting threshold for such expressions
increases to `~1100`.
No performance impact being
[observed](https://llvm-compile-time-tracker.com/compare.php?from=d4f5ed6a23464cbe831820cb695aa1d39b11e4aa&to=66ba54b8a295cc2759387ef2a4a162de2ad4946e&stat=instructions:u).
Commit: a9cfe84d8891cf40366354002cae85cac2332634
https://github.com/llvm/llvm-project/commit/a9cfe84d8891cf40366354002cae85cac2332634
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[llvm][docs] Correct formatting in lldb release note
When you use <> in markdown it thinks it's an HTML tag
and does not show anything.
Commit: cfdd5ca2edb1d427ae1879dcd38b71b73e928be3
https://github.com/llvm/llvm-project/commit/cfdd5ca2edb1d427ae1879dcd38b71b73e928be3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/fmin-without-fast-math-flags.ll
A llvm/test/Transforms/LoopVectorize/fmin-without-fast-math-flags.ll
Log Message:
-----------
[LV] Add tests for fmin reductions without fast-math flags.
Some of those reductions can be vectorized with extra checks.
Extra tests for https://github.com/llvm/llvm-project/pull/148239 and
follow-ups.
Commit: 17d9f2aee9bcc52ac73ee8f1003fe36646912fda
https://github.com/llvm/llvm-project/commit/17d9f2aee9bcc52ac73ee8f1003fe36646912fda
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang][docs] Fix formatting in breaking changes note
Need to use double backticks to get plain text in RST.
Commit: acffe8324b6213db3bf39e8ef72545ffc0ef9ceb
https://github.com/llvm/llvm-project/commit/acffe8324b6213db3bf39e8ef72545ffc0ef9ceb
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/docs/HowToUpdateDebugInfo.rst
A llvm/docs/KeyInstructionsDebugInfo.md
M llvm/docs/UserGuides.rst
Log Message:
-----------
[KeyInstr] Add docs (#137991)
This document explains the core ideas and some implementation details
of the Key Instructions project. The LLVM document also outlines the two
main limitations of our approach.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: 0b784269f16f0555d33e259f0b194ad4ad1a8e94
https://github.com/llvm/llvm-project/commit/0b784269f16f0555d33e259f0b194ad4ad1a8e94
Author: Hugo Melder <service at hugomelder.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGObjCGNU.cpp
A clang/test/CodeGenObjC/gnustep2-class-exts.m
Log Message:
-----------
[CodeGen][ObjC] Include all referenced protocols in protocol list (#148827)
When constructing the protocol list in the class metadata generation
(`GenerateClass`), only the protocols from the base class are added but
not protocols declared in class extensions.
This is fixed by using `all_referenced_protocol_{begin, end}` instead of
`protocol_{begin, end}`, matching the behaviour on Apple platforms.
A unit test is included to check if all protocol metadata was emitted
and that no duplication occurs in the protocol list.
Fixes https://github.com/gnustep/libobjc2/issues/339
CC: @davidchisnall
Commit: 9eb0fc8e57679c5539173bdd13057b523209a596
https://github.com/llvm/llvm-project/commit/9eb0fc8e57679c5539173bdd13057b523209a596
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/docs/HowToUpdateDebugInfo.rst
Log Message:
-----------
Fix link in docs after #137991
Commit: b3c293c5b977dd8ea824c66e932719ee8245b6ca
https://github.com/llvm/llvm-project/commit/b3c293c5b977dd8ea824c66e932719ee8245b6ca
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll
A llvm/test/Transforms/LoopInterchange/reductions-with-nowraps.ll
Log Message:
-----------
[LoopInterchange] Drop nuw/nsw flags from reduction ops when interchanging (#148612)
Before this patch, when a reduction exists in the loop, the legality
check of LoopInterchange only verified if there exists a
non-reassociative floating-point instruction in the reduction
calculation. However, it is insufficient, because reordering integer
reductions can also lead to incorrect transformations. Consider the
following example:
```c
int A[2][2] = {
{ INT_MAX, INT_MAX },
{ INT_MIN, INT_MIN },
};
int sum = 0;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++)
sum += A[j][i];
```
To make this exchange legal, we must drop nuw/nsw flags from the
instructions involved in the reduction operations.
This patch extends the legality check to correctly handle such cases. In
particular, for integer addition and multiplication, it verifies that
the nsw and nuw flags are set on involved instructions, and drop them
when the transformation actually performed. This patch also introduces
explicit checks for the kind of reduction and permits only those that
are known to be safe for interchange. Consequently, some "unknown"
reductions (at the moment, `FindFirst*` and `FindLast*`) are rejected.
Fix #148228
Commit: 8226fbee4b6254bc3cd4806de623937262028883
https://github.com/llvm/llvm-project/commit/8226fbee4b6254bc3cd4806de623937262028883
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/TargetLoweringObjectFile.cpp
Log Message:
-----------
[NFC] Extract pseudo probe using mdconst::extract (#148821)
mdconst::extract is more rigorous than mdconst::dyn_exract in this
context.
Commit: 5977766bf6753c525ccc12856ce159c5e45a8b06
https://github.com/llvm/llvm-project/commit/5977766bf6753c525ccc12856ce159c5e45a8b06
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A clang/test/DebugInfo/KeyInstructions/array-cookie.cpp
Log Message:
-----------
[KeyInstr][Clang][NFC] Add test for array cookie store (#146517)
It doesn't need to be a Key Instruction.
Commit: 612afab512eddfd82f51cce76668a14b928748c6
https://github.com/llvm/llvm-project/commit/612afab512eddfd82f51cce76668a14b928748c6
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/RISCV/RISCVVectorMaskDAGMutation.cpp
Log Message:
-----------
[RISCV] Use MachineInstr::isFullCopy in a few places. NFC
Instead of checking that there's no subregisters.
Commit: 94b15a1ece37963c9804fc7f0c498d140ea5fd9d
https://github.com/llvm/llvm-project/commit/94b15a1ece37963c9804fc7f0c498d140ea5fd9d
Author: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.h
M mlir/test/Dialect/SPIRV/IR/availability.mlir
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
M mlir/test/Target/SPIRV/constant.mlir
M mlir/test/Target/SPIRV/spec-constant.mlir
Log Message:
-----------
[mlir][spirv] Add basic support for SPV_EXT_replicated_composites (#147067)
This patch introduces two new ops to the SPIR-V dialect:
- `spirv.EXT.ConstantCompositeReplicate`
- `spirv.EXT.SpecConstantCompositeReplicate`
These ops represent composite constants and specialization constants,
respectively, constructed by replicating a single splat constant across
all elements. They correspond to `SPV_EXT_replicated_composites`
extension instructions:
- `OpConstantCompositeReplicatedEXT`
- `OpSpecConstantCompositeReplicatedEXT`
No transformation to these new ops has been introduced in this patch.
This approach is chosen as per the discussions on RFC
https://discourse.llvm.org/t/rfc-basic-support-for-spv-ext-replicated-composites-in-mlir-spir-v-compile-time-constant-lowering-only/86987
---------
Signed-off-by: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Commit: bda56023c90168ef4eb34442c5e37e3c36d9c825
https://github.com/llvm/llvm-project/commit/bda56023c90168ef4eb34442c5e37e3c36d9c825
Author: Martin Erhart <martin.erhart at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/include/mlir/Analysis/SliceAnalysis.h
M mlir/lib/Analysis/SliceAnalysis.cpp
M mlir/test/Dialect/Affine/slicing-utils.mlir
Log Message:
-----------
[mlir][SliceAnalysis] Fix stack overflow in graph regions (#139694)
This analysis currently just crashes when applied to a graph region that
has a use-def cycle. This PR fixes that by keeping track of the
operations the DFS has already visited when following use-def edges and
stopping once we visit an operation again.
Commit: 50e345ef95596f9d416700cf9bc8bc6d3ef25591
https://github.com/llvm/llvm-project/commit/50e345ef95596f9d416700cf9bc8bc6d3ef25591
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/spillfill-sve.mir
Log Message:
-----------
[AArch64] Use correct regclass for spills of ZPR2/ZPR4 (#148806)
Commit a6293228fdd5aba8c04c63f02f3d017443feb3f2 forced the register
class of ZPR[24]StridedOrContiguous for spills/fills of ZPR2 and ZPR4,
but this may result in issues when the regclass for the fill is a
ZPR2/ZPR4 which would allow the register allocator to pick `z1_z2`,
which is not a supported register for ZPR2StridedOrContiguous that only
supports tuples of the form (strided) `z0_z8`, `z1_z9` or (contiguous,
start at multiple of 2) `z0_z1`, `z2_z3`. For spills we could add a new
register class that supports any of the tuple forms, but I've decided
to use two pseudos similar to the fills for consistency.
Fixes https://github.com/llvm/llvm-project/issues/148655
Commit: 1fbe87b1d0edac9d9af29eb51b27747cb8c630c6
https://github.com/llvm/llvm-project/commit/1fbe87b1d0edac9d9af29eb51b27747cb8c630c6
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/test/CodeGen/AArch64/sve-pseudos-expand-undef.mir
Log Message:
-----------
[AArch64] Ensure bundle expansion of MOVPRFX gets correct implicit ops (#148824)
By finalizing the bundle _after_ copying over the implicit-ops, it also
adds any implicit-defs to the BUNDLE.
Fixes https://github.com/llvm/llvm-project/issues/148645
Commit: d26106dbf002d71915f2c8a78629111f6b540db3
https://github.com/llvm/llvm-project/commit/d26106dbf002d71915f2c8a78629111f6b540db3
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
Log Message:
-----------
[AArch64] Set the cache line size to 64 for the V2 and V3. (#148213)
This sets the cache line size to 64 for the Neoverse V2 and V3. I've
tested this with loop-interchange: it doesn't result in extra
compile-times, but it does enable a lot more interchange.
Commit: face93e724f42f46ec619c788db3cec03beb396c
https://github.com/llvm/llvm-project/commit/face93e724f42f46ec619c788db3cec03beb396c
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.h
Log Message:
-----------
[Frontend][OpenMP] Move isPrivatizingClause to OMP.h, NFC (#148644)
Commit: 01f36b39bd2475a271bbeb95fb9db8ed65e2d065
https://github.com/llvm/llvm-project/commit/01f36b39bd2475a271bbeb95fb9db8ed65e2d065
Author: Tobias Hieta <tobias at hieta.se>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M cmake/Modules/LLVMVersion.cmake
M libcxx/include/__config
M llvm/utils/gn/secondary/llvm/version.gni
M llvm/utils/lit/lit/__init__.py
M llvm/utils/mlgo-utils/mlgo/__init__.py
Log Message:
-----------
Bump version to 22.0.0-git
Commit: 51b6f64b892bf57879389e7031051a3922aa5061
https://github.com/llvm/llvm-project/commit/51b6f64b892bf57879389e7031051a3922aa5061
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/type-parsers.h
M flang/test/Parser/OpenMP/fail-construct1.f90
Log Message:
-----------
[flang][OpenMP] Avoid unnecessary parsing of OpenMP constructs (#148629)
When parsing a specification part, the parser will look ahead to see if
the next construct is an executable construct. In doing so it will
invoke OpenMPConstruct parser, whereas the only necessary thing to check
would be the directive alone.
Commit: 5004c59803fdeb3389d30439a6cc8b1ff874df0c
https://github.com/llvm/llvm-project/commit/5004c59803fdeb3389d30439a6cc8b1ff874df0c
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/docs/ThinLTO.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A clang/test/Driver/DTLTO/dtlto.c
M cross-project-tests/dtlto/ld-dtlto.c
Log Message:
-----------
[DTLTO][Clang] Add support for Integrated Distributed ThinLTO (#147265)
This patch introduces support for Integrated Distributed ThinLTO (DTLTO)
in Clang.
DTLTO enables the distribution of ThinLTO backend compilations via
external distribution systems, such as Incredibuild, during the
traditional link step: https://llvm.org/docs/DTLTO.html.
Testing:
- `lit` test coverage has been added to Clang's Driver tests.
- The DTLTO cross-project tests will use this Clang support.
For the design discussion of the DTLTO feature, see:
https://github.com/llvm/llvm-project/pull/126654
Commit: 20b47bfdb5aee6e66d06342c275d56477371dc4e
https://github.com/llvm/llvm-project/commit/20b47bfdb5aee6e66d06342c275d56477371dc4e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
DXIL: Do not define any available runtime libcalls (#148628)
Previously this was reporting a default set of calls
as available.
Commit: 67aee6bcb8c3f12b66631c5e4480717053c51157
https://github.com/llvm/llvm-project/commit/67aee6bcb8c3f12b66631c5e4480717053c51157
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
Log Message:
-----------
[CIR] Refactor include guards to use a consistent naming (NFC) (#148849)
Commit: 9f7937401b62d95f2ebe86072d6f277eb9745cd0
https://github.com/llvm/llvm-project/commit/9f7937401b62d95f2ebe86072d6f277eb9745cd0
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
A clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
Log Message:
-----------
[CIR] Separate CIR EnumAttr definitions to be includable without the rest of attributes (#148850)
This change allows enum definition classes to be included in type definitions without creating cyclic dependencies between CIRTypes.td and CIRAttrs.td, since attributes already include CIRTypes.td. In the pull request mentioned below, this is used to define the AddressSpace enum alongside PointerType.
Additionally, this introduces `DefaultValuedEnumParameter`.
This mirrors some parts of incubator change from https://github.com/llvm/clangir/pull/1733
Commit: 02d3738be92eac38cebfb7b670673abb9538ca76
https://github.com/llvm/llvm-project/commit/02d3738be92eac38cebfb7b670673abb9538ca76
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/test/Analysis/CostModel/AArch64/reduce-and.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-or.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-xor.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/ext-trunc.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/external-use-icmp.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/extract-subvector-long-input.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr2.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/memory-runtime-checks.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/multiple_reduction.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/phi-node-bitwidt-op-not.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-loads.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/unreachable-blocks-with-phis.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vector-getelementptr.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
A llvm/test/Transforms/SLPVectorizer/X86/extract-subvector-long-input.ll
A llvm/test/Transforms/SLPVectorizer/X86/icmp-altopcode-after-reordering.ll
A llvm/test/Transforms/SLPVectorizer/X86/phi-node-bitwidt-op-not.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
R llvm/test/Transforms/SLPVectorizer/extract-subvector-long-input.ll
R llvm/test/Transforms/SLPVectorizer/icmp-altopcode-after-reordering.ll
R llvm/test/Transforms/SLPVectorizer/phi-node-bitwidt-op-not.ll
M llvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll
Log Message:
-----------
[AArch64,TTI] Remove RealUse check for vector insert/extract costs. (#146526)
getVectorInstrCostHelper would return costs of zero for vector
inserts/extracts that move data between GPR and vector registers, if
there was no 'real' use, i.e. there was no corresponding existing
instruction.
This meant that passes like LoopVectorize and SLPVectorizer, which
likely are the main users of the interface, would understimate the cost
of insert/extracts that move data between GPR and vector registers,
which has non-trivial costs.
The patch removes the special case and only returns costs of zero for
lane 0 if it there is no need to transfer between integer and vector
registers.
This impacts a number of SLP test, and most of them look like general
improvements.I think the change should make things more accurate for any
AArch64 target, but if not it could also just be Apple CPU specific.
I am seeing +2% end-to-end improvements on SLP-heavy workloads.
PR: https://github.com/llvm/llvm-project/pull/146526
Commit: af56fd0c1abb6fc9d06b555d5b30ef5ad963a5c1
https://github.com/llvm/llvm-project/commit/af56fd0c1abb6fc9d06b555d5b30ef5ad963a5c1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/TableGen/StringToOffsetTable.h
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/TableGen/StringToOffsetTable.cpp
M llvm/test/TableGen/RuntimeLibcallEmitter.td
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
Log Message:
-----------
TableGen: Use StringOffsetTable for RuntimeLibcall names (#148839)
Commit: f4a394fc0c83765187741cb8a6aafc27ba333f47
https://github.com/llvm/llvm-project/commit/f4a394fc0c83765187741cb8a6aafc27ba333f47
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/test/Transforms/SafeStack/NVPTX/safestack-pointer-address-libcall-error.ll
Log Message:
-----------
SafeStack: Check if __safestack_pointer_address is available (#147917)
Start using RuntimeLibcalls in the base implementation of
getSafeStackPointerLocation instead of hardcoding the function
names.
Commit: 8db92a7d99f2b1a64d34c2fe3c295e555caa35f2
https://github.com/llvm/llvm-project/commit/8db92a7d99f2b1a64d34c2fe3c295e555caa35f2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/TableGen/StringToOffsetTable.cpp
Log Message:
-----------
TableGen: Avoid emitting trailing whitespace in StringToOffsetTable (#148840)
Commit: 57a5f9c47e063701ac7d13a5efd993e839e148eb
https://github.com/llvm/llvm-project/commit/57a5f9c47e063701ac7d13a5efd993e839e148eb
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGBlocks.cpp
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/ValueProfilePlugins.inc
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/FuzzMutate/RandomIRBuilderTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Suppress getNextNonDebugInfoInstruction (#144383)
There are no longer debug-info instructions, thus we don't need this
skipping. Horray!
Commit: 88ee17c24ef32b96a62f493d1c34d6380e4fdff8
https://github.com/llvm/llvm-project/commit/88ee17c24ef32b96a62f493d1c34d6380e4fdff8
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[RISCV][IA] Prefer getElementCount over getNumElements [nfc]
Small cleanup, with the eventual goal of making code easier to merge
between the various routines.
Commit: 6291b63a9a104fe93f8e4e279ef2237dc081304f
https://github.com/llvm/llvm-project/commit/6291b63a9a104fe93f8e4e279ef2237dc081304f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libcxx/include/fstream
A libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/overflow.writefail.pass.cpp
Log Message:
-----------
[libc++] Ensure that we restore invariants in basic_filebuf::overflow (#147389)
In rare circumstances, the invariants could fail to be restored.
Commit: 2463309c4d0d95d6947faa54733788fb1f1162ae
https://github.com/llvm/llvm-project/commit/2463309c4d0d95d6947faa54733788fb1f1162ae
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/PostRAMachineSink.h
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/lib/CodeGen/MachineSink.cpp
Log Message:
-----------
[CodeGen] Use setNoVRegs. NFC. (#148831)
Commit: d145f716aefce8633aed24ea5d009a76453572bf
https://github.com/llvm/llvm-project/commit/d145f716aefce8633aed24ea5d009a76453572bf
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libcxx/docs/index.rst
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__configuration/compiler.h
M libcxx/test/libcxx/algorithms/vectorization.compile.pass.cpp
M libcxx/test/libcxx/memory/shared_ptr_array.pass.cpp
M libcxx/test/libcxx/vendor/apple/disable-availability.sh.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_unary.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/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.pass.cpp
M libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_constructs_from_temporary.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_converts_from_temporary.pass.cpp
Log Message:
-----------
[libc++] Bump Xcode support (#148651)
Libc++'s policy is to support only the latest released Xcode, which is
Xcode 16.x. We did update our CI jobs to Xcode 16.x, but we forgot to
update the documentation, which still mentioned Xcode 15. This patch
updates the documentation and cleans up outdated mentions of
apple-clang-15 in the test suite.
Commit: a606f4441aad63208722a4504e1e6a66044d6eda
https://github.com/llvm/llvm-project/commit/a606f4441aad63208722a4504e1e6a66044d6eda
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
Log Message:
-----------
[RISCV][VLOPT] Add support for vector integer add-with-carry/subtract-with-borrow instructions (#148247)
This PR adds support for the vmadc.vim, vmadc.vvm, vmadc.vxm, vmsbc.vvm,
vmsbc.vxm, vsbc.vvm, vsbc.vxm instructions in the RISC-V VLOptimizer.
Commit: 2435ea6975b9bfb7a81efb8a168b4a5b92dbefa1
https://github.com/llvm/llvm-project/commit/2435ea6975b9bfb7a81efb8a168b4a5b92dbefa1
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
Log Message:
-----------
[RISCV][VLOPT] Add support for vfclass.v (#148246)
This PR adds support for the vfclass.v instruction in the RISC-V
VLOptimizer.
Commit: 6350bb3ed362ef5063ebd07d444d7dd4f5342541
https://github.com/llvm/llvm-project/commit/6350bb3ed362ef5063ebd07d444d7dd4f5342541
Author: Nicholas Junge <nicholas.junge at web.de>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/test/python/dialects/python_test.py
M mlir/test/python/lib/PythonTestModuleNanobind.cpp
Log Message:
-----------
[mlir][py] Mark all type caster `from_{cpp,python}` methods as noexcept (#143866)
This is mentioned as a "must" in
https://nanobind.readthedocs.io/en/latest/porting.html#type-casters when
implementing type casters.
While most of the existing `from_cpp` methods were already marked
noexcept, many of the `from_python` methods were not. This commit adds
the missing noexcept declarations to all type casters found in
`NanobindAdaptors.h`.
---------
Co-authored-by: Maksim Levental <maksim.levental at gmail.com>
Commit: 2b952753f8392a789debb9d8e2544f37b4d76f65
https://github.com/llvm/llvm-project/commit/2b952753f8392a789debb9d8e2544f37b4d76f65
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonPatterns.td
A llvm/test/CodeGen/Hexagon/thread-pointer.ll
Log Message:
-----------
[hexagon] Add support for llvm.thread.pointer (#148752)
UGP contains the pointer for thread data:
> The TLS area is accessed at the processor level through the special
register UGP This register is set to the address one location above the
TLS area, which grows downwards from UGP.
>From the Hexagon ABI spec -
https://docs.qualcomm.com/bundle/publicresource/80-N2040-23_REV_K_Qualcomm_Hexagon_Application_Binary_Interface_User_Guide.pdf
Also: disable clang-format for `NodeType` enum in
`llvm/lib/Target/Hexagon/HexagonISelLowering.h` to avoid disruptive
formatting.
Commit: 1c6422c4bdd39b91fee90ce3adeb8404ee92c341
https://github.com/llvm/llvm-project/commit/1c6422c4bdd39b91fee90ce3adeb8404ee92c341
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
Log Message:
-----------
[Scalar] Fix a warning
This patch fixes:
llvm/lib/Transforms/Scalar/LoopInterchange.cpp:863:20: error: unused
variable 'OpCode' [-Werror,-Wunused-variable]
Commit: ff5f355d9bac7f10d971284b97d83db68e25ed27
https://github.com/llvm/llvm-project/commit/ff5f355d9bac7f10d971284b97d83db68e25ed27
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Log Message:
-----------
[AMDGPU] Use a range-based for loop (NFC) (#148767)
Commit: e282cdb0a2f80a2eb3b6bab40b16b538f202ac3a
https://github.com/llvm/llvm-project/commit/e282cdb0a2f80a2eb3b6bab40b16b538f202ac3a
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[RISCV][IA] Avoid use of redundant variables which differ solely by type [nfc]
Instead of using dyn_cast, just use isa combined with accessors on the base
VectotType class. Working towards being able to merge code from some of
these routines.
Commit: 1db9eb23209826d9e799e68a9a4090f0328bf70c
https://github.com/llvm/llvm-project/commit/1db9eb23209826d9e799e68a9a4090f0328bf70c
Author: Raphael Moreira Zinsly <rzinsly at ventanamicro.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.h
A llvm/test/CodeGen/RISCV/stack-probing-frame-setup.mir
Log Message:
-----------
[RISCV] Pass the MachineInstr flag as argument to allocateStack (#147531)
When not in the prologue we do not want to set the FrameSetup flag, by
passing the flag as argument we can use allocateStack correctly on those
cases.
This fixes the allocation and probe in eliminateCallFramePseudoInstr.
Commit: e2eade42b660795a656798331782931983d07443
https://github.com/llvm/llvm-project/commit/e2eade42b660795a656798331782931983d07443
Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR] [OpenMP] Initial support for OMP ALLOCATE directive op. (#147900)
This patch includes adding support for OMP ALLOCATE directive along with
ALIGN clause and ALLOCATOR clause which are used within OMP ALLOCATE
directive
Commit: 3248a6d76abccbbe78e853c76bc022b70d594347
https://github.com/llvm/llvm-project/commit/3248a6d76abccbbe78e853c76bc022b70d594347
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[CI][Github] Switch windows to server 2022 (#148743)
This patch switches the windows testing over to server 2022 by switching
to the recently introduced runner set.
Commit: 3d688233bd746ec024fd625590272833d8bccd2c
https://github.com/llvm/llvm-project/commit/3d688233bd746ec024fd625590272833d8bccd2c
Author: A. Jiang <de34 at live.cn>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++][docs] Add missing entry for status pages, fix bad formatting, and deduplicate (#148186)
In a previously PR, the entry for P3491R3 define_static_{string,object,array} was missing.
This patch adds it back.
The number of LWG2687, LWG2709, LWG3315, LWG3395, LWG3987, and LWG4113
were duplicated in the title. It seems better to avoid such duplicates.
Also fixes some formatting to properly use italic and code styles, and
remove one improper leading space from the title of P3682R0 (which
caused incorrect alignment in the generated page).
Commit: f5c676d6d95dc63b8dcb43dd2e4dfc913a9c5a50
https://github.com/llvm/llvm-project/commit/f5c676d6d95dc63b8dcb43dd2e4dfc913a9c5a50
Author: cmtice <cmtice at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/source/Target/TargetProperties.td
M lldb/source/ValueObject/DILEval.cpp
M lldb/test/API/commands/frame/var-dil/basics/QualifiedId/TestFrameVarDILQualifiedId.py
M lldb/test/API/commands/frame/var-dil/basics/QualifiedId/main.cpp
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/Shell/SymbolFile/DWARF/TestDedupWarnings.test
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[LLDB] Switch to using DIL as default implementation for 'frame var'. (#147887)
Commit: c2e41be50f2cc3d1e99c30b1996b8873b05c4b0e
https://github.com/llvm/llvm-project/commit/c2e41be50f2cc3d1e99c30b1996b8873b05c4b0e
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Preprocessing/omp-sentinel-fixed-form.F
Log Message:
-----------
[flang][Parser] Add whitespace token after the sentinel in fixed form (#148825)
Fixes #148386
The first time the line was classified (using
`Prescanner::ClassifyLine(const char *)`) the line was correctly
classified as a compiler directive. But then later on the token form is
invoked (`Prescanner::ClassifyLine(TokenSequence, Provenance)`). This
one incorrectly classified the line as a comment because there was no
whitespace token right after the sentinel. This fixes the issue by
ensuring this whitespace is added.
Commit: be4d754fe6c79a9cc994703157979cbad01a743a
https://github.com/llvm/llvm-project/commit/be4d754fe6c79a9cc994703157979cbad01a743a
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
Log Message:
-----------
[CIR] Reformat Ops to use common `CIR_` prefix and definition traits style (#148865)
- This adds common CIR_ prefix to all operation disambiguating them when used with other dialects.
- Unifies traits style in operation definitions.
This mirrors incubator changes from https://github.com/llvm/clangir/pull/1741
Commit: 55f1b91d50a0f3706ad62d497d3c8a5ec572d59e
https://github.com/llvm/llvm-project/commit/55f1b91d50a0f3706ad62d497d3c8a5ec572d59e
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Parse/ParseDeclCXX.cpp
A clang/test/Parser/gh114815.cpp
Log Message:
-----------
[Clang] Fix a crash when parsing an invalid `decltype` (#148798)
We would try to exact an annotated token before checking if it was
valid, leading to a crash when `decltype` was the only token that was
parsed (which can happen in the absense of opening paren)
Fixes #114815
Commit: d969ec942224cb85f8e7dc8553aa9ea3952c37e6
https://github.com/llvm/llvm-project/commit/d969ec942224cb85f8e7dc8553aa9ea3952c37e6
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/exp.h
M libc/src/__support/FPUtil/multiply_add.h
M libc/src/__support/FPUtil/nearest_integer.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp.h
A libc/src/__support/math/exp_constants.h
A libc/src/__support/math/exp_utils.h
M libc/src/__support/math/expf16_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/explogxf.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor exp implementation to header-only in src/__support/math folder. (#148761)
- **[libc][math] Refactor exp implementation to header-only in
src/__support/math folder.**
- **Reapply "[libc][math] Refactor exp implementation to header-only in
src/__support/math folder." (#148668)**
Commit: e6fcd59a18f18fc1c2e3075e372504fd5ca3d8c4
https://github.com/llvm/llvm-project/commit/e6fcd59a18f18fc1c2e3075e372504fd5ca3d8c4
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github][CIR] Add xlauko and andykaylor as CIR reviewers (#148852)
Commit: eec98bef84b8a68533d9176468c1d2010f26717f
https://github.com/llvm/llvm-project/commit/eec98bef84b8a68533d9176468c1d2010f26717f
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
A lldb/source/Plugins/Language/CPlusPlus/MsvcStlTuple.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/tuple/TestDataFormatterStdTuple.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/tuple/main.cpp
Log Message:
-----------
[LLDB] Add formatters for MSVC STL std::tuple (#148548)
Adds synthetic children for MSVC STL's
[`std::tuple`](https://github.com/microsoft/STL/blob/313964b78a8fd5a52e7965e13781f735bcce13c5/stl/inc/tuple).
A `tuple` is a chain of base classes:
```cpp
template <>
class tuple<> {};
template <class _This, class... _Rest>
class tuple<_This, _Rest...> : private tuple<_Rest...> {
_Tuple_val<_This> _Myfirst;
};
```
So the provider walks the base classes to the desired one.
The implementation makes it hard to detect if the empty tuple is from
this STL. Fortunately, libstdc++'s synthetic children provider works for
empty MSVC STL tuples as well.
Towards #24834.
Commit: a35b290c3c3150248979e0ea52322b339d937cc7
https://github.com/llvm/llvm-project/commit/a35b290c3c3150248979e0ea52322b339d937cc7
Author: Bogdan Vetrenko <b.vetrenko at yandex.ru>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
Log Message:
-----------
[CIR][NFC] Fix typo in assertion message (Must) (#148704)
Commit: 8612926c306c5191a5fb385dd11467728c59e982
https://github.com/llvm/llvm-project/commit/8612926c306c5191a5fb385dd11467728c59e982
Author: athierry-oct <adrien.thierry at octasic.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/include/lldb/Utility/Listener.h
M lldb/source/Utility/Broadcaster.cpp
M lldb/source/Utility/Listener.cpp
M lldb/unittests/Utility/ListenerTest.cpp
Log Message:
-----------
[lldb] Fix race condition in Process::WaitForProcessToStop() (#144919)
This PR addresses a race condition encountered when using LLDB through
the Python scripting interface.
I'm relatively new to LLDB, so feedback is very welcome, especially if
there's a more appropriate way to address this issue.
### Bug Description
When running a script that repeatedly calls
`debugger.GetListener().WaitForEvent()` in a loop, and at some point
invokes `process.Kill()` from within that loop to terminate the session,
a race condition can occur if `process.Kill()` is called around the same
time a breakpoint is hit.
### Race Condition Details
The issue arises when the following sequence of events happens:
1. The process's **private state** transitions to `stopped` when the
breakpoint is hit.
2. `process.Kill()` calls `Process::Destroy()`, which invokes
`Process::WaitForProcessToStop()`. At this point:
- `private_state = stopped`
- `public_state = running` (the public state has not yet been updated)
3. The **public stop event** is broadcast **before** the hijack listener
is installed.
4. As a result, the stop event is delivered to the **non-hijack
listener**.
5. The interrupt request sent by `Process::StopForDestroyOrDetach()` is
ignored because the process is already stopped (`private_state =
stopped`).
6. No public stop event reaches the hijack listener.
7. `Process::WaitForProcessToStop()` hangs waiting for a public stop
event, but the event is never received.
8. `process.Kill()` times out after 20 seconds
### Fix Summary
This patch modifies `Process::WaitForProcessToStop()` to ensure that any
pending events in the non-hijack listener queue are processed before
checking the hijack listener. This guarantees that any missed public
state change events are handled, preventing the hang.
### Additional Context
A discussion of this issue, including a script to reproduce the bug, can
be found here:
[LLDB hangs when killing process at the same time a breakpoint is
hit](https://discourse.llvm.org/t/lldb-hangs-when-killing-process-at-the-same-time-a-breakpoint-is-hit)
Commit: 31e6fe78b2e2d83cdbb1a4b0f6b712c537f8de9c
https://github.com/llvm/llvm-project/commit/31e6fe78b2e2d83cdbb1a4b0f6b712c537f8de9c
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libcxx/test/libcxx/time/time.zone/time.zone.exception/time.zone.exception.ambig/assert.ctor.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.exception/time.zone.exception.nonexist/assert.ctor.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/assert.to_local.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/assert.to_sys.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/assert.to_sys_choose.pass.cpp
Log Message:
-----------
[libc++] Add missing unsupported attributes to hardening timezone tests. (#148406)
Before this patch, these tests fail under `extensive` and `debug`
hardening modes.
Commit: a4dab509d360a06d189352a4e4d23e5a6bbb34a3
https://github.com/llvm/llvm-project/commit/a4dab509d360a06d189352a4e4d23e5a6bbb34a3
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
Log Message:
-----------
[DirectX] Replace `getNextNonDebugInstruction` with `getNextNode` (#148890)
Fixes the DirectX backend build failure due to #144383
Commit: 20c8e3c2a4744524396cc473a370cfb7855850b6
https://github.com/llvm/llvm-project/commit/20c8e3c2a4744524396cc473a370cfb7855850b6
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-cxx14.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
Log Message:
-----------
[clang] Fix pointer comparisons between pointers to constexpr-unknown (#147663)
A constexpr-unknown reference can be equal to an arbitrary value, except
values allocated during constant evaluation. Fix the handling.
The standard is unclear exactly which pointer comparisons count as
"unknown" in this context; for example, in some cases we could use
alignment to prove two constexpr-unknown references are not equal. I
decided to ignore all the cases involving variables not allocated during
constant evaluation.
While looking at this, I also spotted that there might be issues with
lifetimes, but I didn't try to address it.
Commit: 6260d8ff8277d35ff783ba7c6febb1489eb94b24
https://github.com/llvm/llvm-project/commit/6260d8ff8277d35ff783ba7c6febb1489eb94b24
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
A clang/test/SemaTemplate/gh138371.cpp
Log Message:
-----------
[C++] Fix a failed assertion with nullability checking (#148881)
This fixes a failed assertion with an operator call expression which
comes from a macro expansion when performing analysis for nullability
attributes.
Fixes #138371
Commit: 0967957d7a94e1b5c749c6e963bdca25f3c6d749
https://github.com/llvm/llvm-project/commit/0967957d7a94e1b5c749c6e963bdca25f3c6d749
Author: David Green <david.green at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/AArch64/arith-overflow.ll
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/fcmp.ll
M llvm/test/Analysis/CostModel/AArch64/fshl.ll
M llvm/test/Analysis/CostModel/AArch64/fshr.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cmpsel.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fcmp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/Analysis/CostModel/AMDGPU/reduce-and.ll
M llvm/test/Analysis/CostModel/AMDGPU/reduce-or.ll
M llvm/test/Analysis/CostModel/ARM/arith-overflow.ll
M llvm/test/Analysis/CostModel/ARM/arith-ssat.ll
M llvm/test/Analysis/CostModel/ARM/arith-usat.ll
M llvm/test/Analysis/CostModel/ARM/cmps.ll
M llvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/ARM/mve-abs.ll
M llvm/test/Analysis/CostModel/ARM/mve-minmax.ll
M llvm/test/Analysis/CostModel/ARM/select.ll
M llvm/test/CodeGen/Thumb2/mve-pred-vselect.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-unsigned.ll
M llvm/test/CodeGen/X86/test-shrink-bug.ll
M llvm/test/Transforms/SimplifyCFG/ARM/phi-eliminate.ll
Log Message:
-----------
[CostModel] Handle all cost kinds in getCmpSelInstrCost (#148233)
Currently we always produce a cost of 1 for all CostKinds that are not
RecipThroughput, which can underestimate the cost if the type has a
higher legalization cost (like larger vectors). This relaxes it to cover
all cost kinds.
Commit: 0d2e11f3e834e0c1803a6e00da35525b0d476eb2
https://github.com/llvm/llvm-project/commit/0d2e11f3e834e0c1803a6e00da35525b0d476eb2
Author: Brad Smith <brad at comstyle.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/OSTargets.h
R clang/lib/Basic/Targets/PNaCl.cpp
R clang/lib/Basic/Targets/PNaCl.h
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/TargetInfo.h
R clang/lib/CodeGen/Targets/PNaCl.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
R clang/lib/Driver/ToolChains/NaCl.cpp
R clang/lib/Driver/ToolChains/NaCl.h
M clang/lib/Lex/InitHeaderSearch.cpp
R clang/test/CodeGen/X86/x86_64-arguments-nacl.c
M clang/test/CodeGen/X86/x86_64-longdouble.c
M clang/test/CodeGen/arm-aapcs-vfp.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/long_double_fp128.cpp
R clang/test/CodeGen/malign-double-x86-nacl.c
M clang/test/CodeGen/target-data.c
R clang/test/CodeGenCXX/x86_64-arguments-nacl-x32.cpp
M clang/test/Driver/arm-alignment.c
R clang/test/Driver/nacl-direct.c
M clang/test/Driver/unsupported-target-arch.c
R clang/test/Driver/x86_64-nacl-defines.cpp
R clang/test/Frontend/x86_64-nacl-types.cpp
M clang/test/Preprocessor/predefined-macros-no-warnings.c
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/MinidumpConstants.def
M llvm/include/llvm/CodeGen/AtomicExpandUtils.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMFeatures.td
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMPredicates.td
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
M llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
R llvm/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
R llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.h
M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
M llvm/lib/Target/Mips/MipsCallingConv.td
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/lib/Target/Mips/MipsInstrFPU.td
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/CodeGen/ARM/fast-isel-align.ll
M llvm/test/CodeGen/ARM/struct_byval.ll
M llvm/test/CodeGen/ARM/trap.ll
R llvm/test/CodeGen/ARM/varargs-spill-stack-align-nacl.ll
M llvm/test/CodeGen/Mips/fastcc.ll
M llvm/test/CodeGen/Mips/fp-indexed-ls.ll
M llvm/test/CodeGen/Mips/indirect-jump-hazard/long-branch.ll
M llvm/test/CodeGen/Mips/longbranch.ll
R llvm/test/CodeGen/Mips/nacl-align.ll
R llvm/test/CodeGen/Mips/nacl-branch-delay.ll
R llvm/test/CodeGen/Mips/nacl-reserved-regs.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-1.ll
M llvm/test/CodeGen/X86/constructor.ll
M llvm/test/CodeGen/X86/fast-isel-x32.ll
M llvm/test/CodeGen/X86/frameaddr.ll
M llvm/test/CodeGen/X86/lea-2.ll
M llvm/test/CodeGen/X86/lea-3.ll
M llvm/test/CodeGen/X86/lea-4.ll
M llvm/test/CodeGen/X86/lea-5.ll
M llvm/test/CodeGen/X86/lea.ll
M llvm/test/CodeGen/X86/stack-align2.ll
M llvm/test/CodeGen/X86/x86-64-baseptr.ll
M llvm/test/CodeGen/X86/x86-64-stack-and-frame-ptr.ll
M llvm/test/MC/ARM/arm_instructions.s
R llvm/test/MC/Mips/nacl-mask.s
M llvm/test/MC/X86/AlignedBundling/labeloffset.s
R llvm/test/MC/X86/AlignedBundling/rodata-section.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
Remove Native Client support (#133661)
Remove the Native Client support now that it has finally reached end of life.
Commit: 66850d0c06eef6d46b330af57bb675330b15b2cc
https://github.com/llvm/llvm-project/commit/66850d0c06eef6d46b330af57bb675330b15b2cc
Author: Thurston Dang <thurston at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.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/X86/avx512bw-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vl-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/x86-vpermi2.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
Log Message:
-----------
[msan] Fix 'Simplify 'maskedCheckAVXIndexShadow' #147839' (#148785)
https://github.com/llvm/llvm-project/pull/147839/ incorrectly checked
the (lower bits of the) concrete value rather than the shadow.
Commit: 09f7cab9a34ed0837375f1677a4322d40b37ed5f
https://github.com/llvm/llvm-project/commit/09f7cab9a34ed0837375f1677a4322d40b37ed5f
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/test/CodeGen/DirectX/legalize-i8.ll
A llvm/test/CodeGen/DirectX/legalize-load-store-array-alloca.ll
Log Message:
-----------
[DirectX] Add a GEP to loads and stores on array allocas (#148059)
Fixes #147114 by inserting a GEP between any direct loads and stores on
an alloca.
Commit: d9e21a92a7b1b68bc61771c4a9320f879850ea90
https://github.com/llvm/llvm-project/commit/d9e21a92a7b1b68bc61771c4a9320f879850ea90
Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
M clang/test/CodeGen/PowerPC/builtins-ppc-dmf.c
A clang/test/CodeGen/PowerPC/ppc-dmf-future-builtin-err.c
A clang/test/CodeGen/PowerPC/ppc-dmf-mma-builtin-err.c
R clang/test/CodeGen/PowerPC/ppc-future-mma-builtin-err.c
Log Message:
-----------
[PowerPC] Add DMF basic builtins (#145372)
Add support for PPC Dense Math basic builtins dmsetdmrz, dmmr, dmxor.
Commit: 63d099af146a19bc8fd5a791d6184125e6cc42e7
https://github.com/llvm/llvm-project/commit/63d099af146a19bc8fd5a791d6184125e6cc42e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Remove incorrect and untested FrameIndex support from SelectAddrRegImm9. (#148779)
To fold a FrameIndex, we need to teach eliminateFrameIndex to respect
the uimm9 range.
Commit: c3dde3cf843656a08fced1702e09d8b80d2f6829
https://github.com/llvm/llvm-project/commit/c3dde3cf843656a08fced1702e09d8b80d2f6829
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[bazel] Add tanpif rules after #147192 (#148909)
Commit: fad0fbc9371c6a3289e6dc8a5018cc00733be14f
https://github.com/llvm/llvm-project/commit/fad0fbc9371c6a3289e6dc8a5018cc00733be14f
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Analysis/IR2Vec.cpp
Log Message:
-----------
[NFC][IR2Vec] Fix warnings on MSVC compilation (#148911)
Commit: bcd0a7ae2a3ae81545190a0b2796eb63656b5d42
https://github.com/llvm/llvm-project/commit/bcd0a7ae2a3ae81545190a0b2796eb63656b5d42
Author: jimingham <jingham at apple.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/include/lldb/Utility/Listener.h
M lldb/source/Utility/Broadcaster.cpp
M lldb/source/Utility/Listener.cpp
M lldb/unittests/Utility/ListenerTest.cpp
Log Message:
-----------
Revert "[lldb] Fix race condition in Process::WaitForProcessToStop() … (#148915)
…(#144919)"
This was causing a couple of failures on the Ubuntu bots. Reverting
while we wait on a fix for those issues.
This reverts commit 8612926c306c5191a5fb385dd11467728c59e982.
Commit: bc2004c2e42f633ee4099ea5652df41dba29c79c
https://github.com/llvm/llvm-project/commit/bc2004c2e42f633ee4099ea5652df41dba29c79c
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
Log Message:
-----------
[RISCV] Handle LHS == 0 in isVLKnownLE (#148860)
If a VL is zero then it's known to be less than or equal to every other
VL.
This looks weird on its own since a VL of zero isn't that common. The
test diffs come from a type being split resulting in a VP intrinsic's
EVL being zero.
The motivation for this is to split off part of an upcoming patch I plan
on submitting for RISCVVLOptimizer, which generalizes it to handle
recurrences, and needs to reason about an initial state of demanded VLs
set to zero.
Commit: c9f03b8c6ece968a6a413f5ea3a33e23f0aed5ef
https://github.com/llvm/llvm-project/commit/c9f03b8c6ece968a6a413f5ea3a33e23f0aed5ef
Author: Nico Weber <thakis at chromium.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn] port 5951c44573
Commit: 183f1ac412c1a0c69c7dc6aef85c28c0749609cb
https://github.com/llvm/llvm-project/commit/183f1ac412c1a0c69c7dc6aef85c28c0749609cb
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/ADT/StringTable.h
M llvm/lib/IR/Intrinsics.cpp
M llvm/unittests/IR/IntrinsicsTest.cpp
Log Message:
-----------
[LLVM] Fix an ASAN error in `lookupLLVMIntrinsicByName` (#147444)
Fix unnecessary conversion of C-String to StringRef in the `Cmp` lambda
inside `lookupLLVMIntrinsicByName`. This both fixes an ASAN error in the
code that happens when the `Name` StringRef passed in is not a Null
terminated StringRef, and additionally can potentially speed up the code
as well by eliminating the unnecessary computation of string length
every time a C String is converted to StringRef in this code (It seems
practically this computation is eliminated in optimized builds, but this
will avoid it in O0 builds as well).
Added a unit test that demonstrates this issue by building LLVM with
these options:
```
CMAKE_BUILD_TYPE=Debug
LLVM_USE_SANITIZER=Address
LLVM_OPTIMIZE_SANITIZED_BUILDS=OFF
```
The error reported is as follows:
```
==462665==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x5030000391a2 at pc 0x56525cc30bbf bp 0x7fff9e4ccc60 sp 0x7fff9e4cc428
READ of size 19 at 0x5030000391a2 thread T0
#0 0x56525cc30bbe in strlen (upstream-llvm-second/llvm-project/build/unittests/IR/IRTests+0x713bbe) (BuildId: 0651acf1e582a4d2)
#1 0x7f8ff22ad334 in std::char_traits<char>::length(char const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h:399:9
#2 0x7f8ff22a34a0 in llvm::StringRef::StringRef(char const*) /home/rjoshi/upstream-llvm-second/llvm-project/llvm/include/llvm/ADT/StringRef.h:96:33
#3 0x7f8ff28ca184 in _ZZL25lookupLLVMIntrinsicByNameN4llvm8ArrayRefIjEENS_9StringRefES2_ENK3$_0clIjPKcEEDaT_T0_ upstream-llvm-second/llvm-project/llvm/lib/IR/Intrinsics.cpp:673:18
```
Commit: 041a8a9e5a00358491fb98e4f6156f0882bf5bea
https://github.com/llvm/llvm-project/commit/041a8a9e5a00358491fb98e4f6156f0882bf5bea
Author: Remy Farley <one-d-wide at protonmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-query/trailing-comma.c
M clang/lib/ASTMatchers/Dynamic/Parser.cpp
Log Message:
-----------
[clang-query] Allow for trailing comma in matchers (#148018)
Allow AST matches in clang-query to have a trailing comma at the end of
matcher arguments. Makes it nicer to work with queries that span
multiple lines.
So, for example, the following is possible:
```clang-query
match namedDecl(
isExpansionInMainFile(),
anyOf(
varDecl().bind("var"),
functionDecl().bind("func"),
# enumDecl().bind("enum"),
),
)
```
Commit: edfec9c5829f4778bd38f3ca4019105eb481df49
https://github.com/llvm/llvm-project/commit/edfec9c5829f4778bd38f3ca4019105eb481df49
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/test/Driver/DTLTO/dtlto.c
Log Message:
-----------
[DTLTO][TEST] Fix Clang driver test failing on some build bots (#148908)
Not all builds name the compiler executable `clang`. For example, the
Fuchsia build bots use `llvm` as their single toolchain executable name,
as they combine everything together in a busybot-style binary.
Update the Clang driver test to simply check that a non-empty path is
provided for the `--thinlto-remote-compiler` argument, rather than
hardcoding the executable name. The cross-project test will verify that
the path is valid later.
Should fix #147265.
Commit: 339711fbd07bb2deb092800a5af20daa85e589af
https://github.com/llvm/llvm-project/commit/339711fbd07bb2deb092800a5af20daa85e589af
Author: Thurston Dang <thurston at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/docs/HowToSubmitABug.rst
Log Message:
-----------
[docs] Linkify llvm-reduce and mention it is multi-threaded (#148904)
Commit: a9021e5373f814a7bce561147828dcb7ec2abb24
https://github.com/llvm/llvm-project/commit/a9021e5373f814a7bce561147828dcb7ec2abb24
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/test/CodeGen/DirectX/legalize-memcpy.ll
M llvm/test/CodeGen/DirectX/legalize-memset.ll
Log Message:
-----------
Emit array GEPs in memcpy/memset legalization (#148886)
Fixes #148089
Commit: 95fa67603c4ab5d75a2f8df328d7da5580466d50
https://github.com/llvm/llvm-project/commit/95fa67603c4ab5d75a2f8df328d7da5580466d50
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp
Log Message:
-----------
[LLDB] Compile API tests with exceptions enabled on Windows (#148691)
>From #148554 - compile tests with exceptions on Windows
(`-fno-exceptions` was added 11 years ago in
c7826524acda6a9c8816261d5c48b94dc92935ed). The variant test uses `try {}
catch {}` to create variants that are valueless by exception. On other
platforms, exceptions are enabled as well.
I have no clue why compiling with exceptions will optimize out
`a_long_guy` in the changed test (even with `-O0`). Taking the address
of that value will ensure it's kept.
Commit: efa94cf703a510083f411444650f3a8d21dfcfee
https://github.com/llvm/llvm-project/commit/efa94cf703a510083f411444650f3a8d21dfcfee
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Support/rpmalloc/rpmalloc.c
Log Message:
-----------
[Support/rpmalloc] Updated fake atomics with Interlocked functions (#148303)
Most atomic functions used Interlocked functions in case of MSVC (since MSVC does not do C11 yet).
But few load/store functions are dummy.
Use Interlocked functions for these atomics to ensure they are thread-safe.
This PR fixes #146205.
LLVM is on VS 2019 version 16.7 currently and eventually we require VS 2022 if we wanted to use stdatomics in rpmalloc, etc. In the meanwhile, we use the Interlocked intrinsics when building with MSVC.
Commit: 28463928a9c355d6b5f8cd0e551235dda76acb14
https://github.com/llvm/llvm-project/commit/28463928a9c355d6b5f8cd0e551235dda76acb14
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port 0d2e11f3e834
Commit: d64a236445d48ff55efb2278216e429bca746054
https://github.com/llvm/llvm-project/commit/d64a236445d48ff55efb2278216e429bca746054
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/BinaryFormat/BUILD.gn
Log Message:
-----------
[gn build] Port ee9b84f5bed7
Commit: 8917f84d293c2fa6b77536d7053b5c41f4e785b8
https://github.com/llvm/llvm-project/commit/8917f84d293c2fa6b77536d7053b5c41f4e785b8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
Log Message:
-----------
[gn build] Port eec98bef84b8
Commit: d67d91a9906366585162cebf292f923a3f28c8a6
https://github.com/llvm/llvm-project/commit/d67d91a9906366585162cebf292f923a3f28c8a6
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/CodeGen/RISCV/xqcibm-cto-clo-brev.ll
M llvm/test/CodeGen/RISCV/xqcibm-insert.ll
Log Message:
-----------
[RISCV] Fix issues in ORI to QC.INSBI transformation (#148809)
The transformation done in #147349 was incorrect since we were not
passing the input node of the `OR` instruction to the `QC.INSBI`
instruction leading to the generated instruction doing the wrong thing.
In order to do this we first needed to add the output register to
`QC.INSBI` as being both an input and output.
The code produced after the above fix will need a copy (mv) to preserve
the register input to the OR instruction if it has more than one use
making the transformation net neutral ( `6-byte QC.E.ORI/ORAI` vs
`2-byte C.MV + 4-byte QC.INSB`I). Avoid doing the transformation if
there is more than one use of the input register to the OR instruction.
Commit: fccae859bc949ba390184614e07234267a734b86
https://github.com/llvm/llvm-project/commit/fccae859bc949ba390184614e07234267a734b86
Author: David Peixotto <peix at meta.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Interpreter/CommandCompletions.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/Commands/CommandCompletions.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/test/API/commands/plugin/TestPlugin.py
Log Message:
-----------
[lldb] Add completions for plugin list/enable/disable (#147775)
This commit adds completion support for the plugin commands. It will try
to complete partial namespaces to the full namespace string. If the
completion input is already a full namespace string then it will add all
the matching plugins in that namespace as completions.
This lets the user complete to the namespace first and then tab-complete
to the next level if desired.
```
(lldb) plugin list a<tab>
Available completions:
abi
architecture
(lldb) plugin list ab<tab>
(lldb) plugin list abi<tab>
(lldb) plugin list abi.<tab>
Available completions:
abi.SysV-arm64
abi.ABIMacOSX_arm64
abi.SysV-arm
...
```
Commit: c592b61fc82c79366216ae12b25b0130359b0a26
https://github.com/llvm/llvm-project/commit/c592b61fc82c79366216ae12b25b0130359b0a26
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/test/PCH/no-validate-pch.cl
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
A llvm/clang/test/Modules/implicit-opt-level.c
Log Message:
-----------
[clang][modules] Serialize `CodeGenOptions` (#146422)
Some `LangOptions` duplicate their `CodeGenOptions` counterparts. My
understanding is that this was done solely because some infrastructure
(like preprocessor initialization, serialization, module compatibility
checks, etc.) were only possible/convenient for `LangOptions`. This PR
implements the missing support for `CodeGenOptions`, which makes it
possible to remove some duplicate `LangOptions` fields and simplify the
logic. Motivated by https://github.com/llvm/llvm-project/pull/146342.
Commit: 52432b02a9bdc234d1038ed2e72afe28779ca031
https://github.com/llvm/llvm-project/commit/52432b02a9bdc234d1038ed2e72afe28779ca031
Author: David Pagan <dave.pagan at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Basic/OpenMPKinds.cpp
Log Message:
-----------
[clang][NFC] Updated incorrect llvm-unreachable message in getOpenMPSimpleClauseType() (#148056)
Commit: 70e1a3ceada92c200e575e4fdcc1f27022b3c8f2
https://github.com/llvm/llvm-project/commit/70e1a3ceada92c200e575e4fdcc1f27022b3c8f2
Author: Paul Trojahn <paul.trojahn at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/fold-commute-sgpr.mir
Log Message:
-----------
[AMDGPU] Check legality of both operands before swap (#148843)
When trying to fold an SGPR into the second operand to a DPP add,
si-fold-operands correctly determines that this is not possible and
attempts to swap the second and third operand. This succeeds even if the
third operand is an SGPR, creating an illegal dpp add with two SGPR
operands. We need to check both operands if they are legal in their new
position.
This causes a crash at compile time for a test in triton on gfx12:
https://github.com/triton-lang/triton/blob/345c633787e90a7f94864de3035346eb5de1781f/python/test/unit/language/test_core.py#L2718
Co-authored-by: Paul Trojahn <paul.trojahn at amd.com>
Commit: ad1cbc020493b39266f7b259737bf5c7ad0a3d56
https://github.com/llvm/llvm-project/commit/ad1cbc020493b39266f7b259737bf5c7ad0a3d56
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
Log Message:
-----------
[clang] Attempt to fix build after c592b61f
Commit: e5bc7e7df3adf1777194ccd4ffa4e69f39b811f0
https://github.com/llvm/llvm-project/commit/e5bc7e7df3adf1777194ccd4ffa4e69f39b811f0
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/test/Transforms/InterleavedAccess/RISCV/addrspace.ll
M llvm/test/Transforms/InterleavedAccess/RISCV/interleaved-accesses.ll
Log Message:
-----------
[RISCV][IA] Always generate masked versions of segment LD/ST [nfc-ish] (#148905)
Goal is to be able to eventually merge some of these code path. Having
the mask operand should get dropped cleanly via pattern match.
Commit: ba95df17ece2f6a137ccf88dd95841889e285953
https://github.com/llvm/llvm-project/commit/ba95df17ece2f6a137ccf88dd95841889e285953
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libc/fuzzing/math/CMakeLists.txt
R libc/fuzzing/math/atan_fuzz.cpp
A libc/fuzzing/math/log10_fuzz.cpp
A libc/fuzzing/math/log1p_fuzz.cpp
A libc/fuzzing/math/log2_fuzz.cpp
A libc/fuzzing/math/log_fuzz.cpp
M libc/fuzzing/math/sincos_fuzz.cpp
A libc/fuzzing/math/sqrt_fuzz.cpp
Log Message:
-----------
[libc] sqrt and log functions fuzz tests (#148006)
added fuzz tests for sqrt and log functions
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 859dcfc17f0098ac52196af584b343f1416c19b0
https://github.com/llvm/llvm-project/commit/859dcfc17f0098ac52196af584b343f1416c19b0
Author: higher-performance <higher.performance.github at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Decl.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/lib/AST/Decl.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
Check if clang::FieldDecl has constant-integer bit width before getting the width (#148692)
This avoids crashing due to template-dependent bit widths
Commit: dabc8e2ec1e15a46b7d8aaa9d216d002a2ce8b99
https://github.com/llvm/llvm-project/commit/dabc8e2ec1e15a46b7d8aaa9d216d002a2ce8b99
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rcp.bf16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_rcp_bf16` on gfx1250 (#148916)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: 23ac7b938d08db633ae6b99dfbce84ec76c0e702
https://github.com/llvm/llvm-project/commit/23ac7b938d08db633ae6b99dfbce84ec76c0e702
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sqrt.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.sqrt.bf16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_sqrt_bf16` on gfx1250 (#148921)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: 1fe366d884728e37aca216891c77b16dc21ed03a
https://github.com/llvm/llvm-project/commit/1fe366d884728e37aca216891c77b16dc21ed03a
Author: cmtice <cmtice at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/test/API/commands/frame/var-dil/basics/QualifiedId/TestFrameVarDILQualifiedId.py
Log Message:
-----------
[LLDB] Disable DIL QualifiedId test on Windows. (#148940)
The lldb-x86_64-win buildbot is failing on this one DIL test. Disable
the test on Windows until we can debug it on Windows.
Commit: 8d61073128f8becdfaf7fb931c40a86d23fdd8e8
https://github.com/llvm/llvm-project/commit/8d61073128f8becdfaf7fb931c40a86d23fdd8e8
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[NFC][SemaHLSL] Fix typo causing float to double conversion (#148941)
- it was noted,
[here](https://github.com/llvm/llvm-project/pull/145795#discussion_r2208118547),
that by accidently not specifying this explicitly as a float it will
cause a build warning on MSVC
- this commit resolves this by explicitly specifying it as a float
Commit: 1a940bfff9176fb38a71b0045d7ae25df9a4ca7d
https://github.com/llvm/llvm-project/commit/1a940bfff9176fb38a71b0045d7ae25df9a4ca7d
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
Log Message:
-----------
[mlir][py] Fix nanobind uninitialized values (#148944)
After #143866, we no longer always write to `value`, causing it to be
uninitialized. This can lead to mysterious crashes, e.g. in
`python_test.py` / `testCustomAttribute` when we attempt to evaluate
`TestAttr(42)`, it does not set `value`, but
`mlirAttributeIsNull(value)` happens to return false for garbage memory,
and we end up trying to interpret it as a function instead of skipping
it.
Fix this by only reading `value` if it has been assigned. If it hasn't,
`return false` seems the right choice for all these methods, i.e.
indicate that `from_python` failed.
Commit: 42d2ae1034b287eb60563c370dbf52c59b66db20
https://github.com/llvm/llvm-project/commit/42d2ae1034b287eb60563c370dbf52c59b66db20
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
A llvm/test/Transforms/InstCombine/ptrauth-call.ll
Log Message:
-----------
[InstCombine] Combine ptrauth constant callee into bundle. (#94706)
Try to optimize a call to a ptrauth constant, into its ptrauth bundle:
call(ptrauth(f)), ["ptrauth"()] -> call f
as long as the key/discriminator are the same in constant and bundle.
Commit: b4e2272271ee85273ca871abac2f6e9342da143d
https://github.com/llvm/llvm-project/commit/b4e2272271ee85273ca871abac2f6e9342da143d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/CUDA/cuda-set-allocator.cuf
Log Message:
-----------
[flang][cuda] Move cuf.set_allocator_idx after derived-type init (#148936)
Derived type initialization overwrite the component descriptor. Place
the `cuf.set_allocator_idx` after the initialization is performed.
Commit: 7f2bcd97cf4afc94e4badb2f6acd229003ef5912
https://github.com/llvm/llvm-project/commit/7f2bcd97cf4afc94e4badb2f6acd229003ef5912
Author: Artem Belevich <tra at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/cuda_wrappers/__utility/declval.h
Log Message:
-----------
[CUDA] add wrapper header for libc++'s __utlility/declval.h (#148918)
Since #116709 more libc++ code relies on std::declval() and it broke
some CUDA compilations.
The new wrapper adds GPU-side overloads for the declval() helper
functions which allows it to continue working when used from CUDA
sources.
Commit: bc187b82705f31b5cd04fe986170f594ab2a51d4
https://github.com/llvm/llvm-project/commit/bc187b82705f31b5cd04fe986170f594ab2a51d4
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[RISCV] Use early-return in lowerInterleaveIntrinsicToStore [nfc]
Commit: c0785ea8bd76c36125bc9e5fad7bf787433635a5
https://github.com/llvm/llvm-project/commit/c0785ea8bd76c36125bc9e5fad7bf787433635a5
Author: David Peixotto <peix at meta.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/test/API/commands/plugin/TestPlugin.py
Log Message:
-----------
[lldb] Fix plugin test to not rely on enabled targets (#148956)
The plugins completion test was checking completions for the abi
plugins. But the available abi plugins will depend on which
[targets](https://github.com/llvm/llvm-project/blob/42d2ae1034b287eb60563c370dbf52c59b66db20/lldb/source/Plugins/ABI/CMakeLists.txt#L7)
are enabled in the cmake build configuration.
This PR updates the test to check for the json object file instead which
should be enabled on all builds.
Commit: 91d82bf4ab6c57a56d5797b40140b7c72b3de705
https://github.com/llvm/llvm-project/commit/91d82bf4ab6c57a56d5797b40140b7c72b3de705
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[mlir] Fix u_int64_t in OpenMPDialect.cpp (#148963)
Commit: 4aa78c79da557b3fe1d19d2ad008f9e8e1353f1b
https://github.com/llvm/llvm-project/commit/4aa78c79da557b3fe1d19d2ad008f9e8e1353f1b
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
Log Message:
-----------
Fix OpenMPDialect.cpp build error (#148952)
Commit: fd543b3c46844f02404cd3cc91738da8a18e3765
https://github.com/llvm/llvm-project/commit/fd543b3c46844f02404cd3cc91738da8a18e3765
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 7f2bcd97cf4a
Commit: e685e4a7715ec51575fa37bc9d6bd6cf420cf655
https://github.com/llvm/llvm-project/commit/e685e4a7715ec51575fa37bc9d6bd6cf420cf655
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/TableGen/StringToOffsetTable.cpp
M llvm/test/TableGen/RuntimeLibcallEmitter.td
Log Message:
-----------
TableGen: Fixed the string table definitions visibility. (#148946)
This fixes the buildbots issues reported in #148839.
Commit: 77bcab835aca155b67548c4a3cb1ae583abb1a14
https://github.com/llvm/llvm-project/commit/77bcab835aca155b67548c4a3cb1ae583abb1a14
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
A llvm/test/Transforms/InstCombine/ptrauth-intrinsics-call.ll
Log Message:
-----------
[InstCombine] Combine ptrauth intrin. callee into same-key bundle. (#94707)
Try to optimize a call to the result of a ptrauth intrinsic, potentially
into the ptrauth call bundle:
call(ptrauth.resign(p)), ["ptrauth"()] -> call p, ["ptrauth"()]
call(ptrauth.sign(p)), ["ptrauth"()] -> call p
as long as the key/discriminator are the same in sign and auth-bundle,
and we don't change the key in the bundle (to a potentially-invalid
key.)
Generating a plain call to a raw unauthenticated pointer is generally
undesirable, but if we ended up seeing a naked ptrauth.sign in the first
place, we already have suspicious code. Unauthenticated calls are also
easier to spot than naked signs, so let the indirect call shine.
Note that there is an arguably unsafe extension to this, where we don't
bother checking that the key in bundle and intrinsic are the same (and
also allow folding away an auth into a bundle.)
This can end up generating calls with a bundle that has an invalid key
(which an informed frontend wouldn't have otherwise done), which can be
problematic. The C that generates that is straightforward but arguably
unreasonable. That wouldn't be an issue if we were to bite the bullet
and make these fully AArch64-specific, allowing key knowledge to be
embedded here.
Commit: bec508ad1719dfc8f0d85c5343ce44c3d1f326e1
https://github.com/llvm/llvm-project/commit/bec508ad1719dfc8f0d85c5343ce44c3d1f326e1
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
Log Message:
-----------
[mlir][nvvm] Fix control reaches end of non-void function warning (#148965)
Commit: b64d7baf9c0d37893ebabbe2539e725eb70b46e9
https://github.com/llvm/llvm-project/commit/b64d7baf9c0d37893ebabbe2539e725eb70b46e9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
Log Message:
-----------
[RISCV] Change the InstFormat for Zicbop prefetch instructions to InstFormatOther. (#148934)
The lower 5-bits of the immediate are not part of the address unlike
other InstFormatS instructions.
We use InstFormatS in RISCVRegisterInfo::needsFrameBaseReg and
RISCVRegisterInfo::getFrameIndexInstrOffset which is not aware of this
special encoding. Force the format to InstFormatOther so those functions
will ignore it.
InstFormatS is also used by relocation emission, but I don't believe we
ever emit these instructions with a relocation because of the encoding.
Commit: c36156de45a0f5e24e7a4ee2259c3302ea814785
https://github.com/llvm/llvm-project/commit/c36156de45a0f5e24e7a4ee2259c3302ea814785
Author: Yuxuan Chen <ych at fb.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/test/CodeGenCoroutines/coro-gro.cpp
Log Message:
-----------
[Clang] Fix FE crash during CGCoroutine GRO Alloca Emission (#148962)
Fixes: https://github.com/llvm/llvm-project/issues/148953
Currently when coroutine return object type is const qualified, we don't
do direct emission. The regular emission logic assumed that the auto var
emission will always result in an `AllocaInst`. However, based on my
findings, NRVO var emissions don't result in `AllocaInst`s. Therefore,
this
[assertion](https://github.com/llvm/llvm-project/blob/1a940bfff9176fb38a71b0045d7ae25df9a4ca7d/clang/lib/CodeGen/CGCoroutine.cpp#L712)
will fail.
Since the NRVOed returned object don't live on the coroutine frame, we
won't have the problem of it outliving the coroutine frame, therefore,
we can safely omit this metadata.
Commit: ae3bba4d15a10646ea91c6c0795633b82939857b
https://github.com/llvm/llvm-project/commit/ae3bba4d15a10646ea91c6c0795633b82939857b
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
Log Message:
-----------
WebKit checkers: recgonize @YES / @NO as safe constants (#148721)
Commit: 868793fa8e2f5aedb76fae09df6ca2128a165861
https://github.com/llvm/llvm-project/commit/868793fa8e2f5aedb76fae09df6ca2128a165861
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SISchedule.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1250.w32.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1250.w32.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.index.gfx1250.w32.ll
Log Message:
-----------
AMDGPU: Support intrinsic selection for gfx1250 wmma instructions (#148957)
Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Co-authored-by: Shilei Tian <Shilei.Tian at amd.com>
Commit: 5c4877ee0d2b5afcf23038b5cb0e82a03297657d
https://github.com/llvm/llvm-project/commit/5c4877ee0d2b5afcf23038b5cb0e82a03297657d
Author: Thurston Dang <thurston at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/or.ll
Log Message:
-----------
[msan] Re-fix disjoint OR instrumentation from #145990 (#148760)
When disjoint OR was specified and a bit position contained a 1 in both
operands, #145990 would set the corresponding shadow bit to
uninitialized. However, the output of the operation is (LLVM) 'poison'
for the entire result, hence the entire shadow ought to be
uninitialized. This patch corrects the issue.
Commit: 116110e1a93531a64d82f049b6e36403bc14f278
https://github.com/llvm/llvm-project/commit/116110e1a93531a64d82f049b6e36403bc14f278
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/tools/libclang/libclang.map
Log Message:
-----------
[libclang] Fix version for symbol clang_visitCXXMethods (#148958)
Happened to spot this while looking at libclang.map for other reasons.
clang_visitCXXMethods was added in LLVM 21, not LLVM 20.
Commit: 3b41e4d4b5e57e4dc1a48a55f3bb683227863d81
https://github.com/llvm/llvm-project/commit/3b41e4d4b5e57e4dc1a48a55f3bb683227863d81
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/barrier
M libcxx/src/barrier.cpp
Log Message:
-----------
[libc++] Annotate barrier functions that are defined in the dylib (#148542)
This can improve code gen slightly.
Commit: 66e707ec68d6dc8d8f70083b68daf52559a862c1
https://github.com/llvm/llvm-project/commit/66e707ec68d6dc8d8f70083b68daf52559a862c1
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaRISCV.cpp
Log Message:
-----------
[NFC] Remove getDefaultCallingConvention IsBuiltin (#145904)
ASTContext::getDefaultCallingConvention() was documented as returning
"the default calling convention for the current target", but did not do
this, and was never intended to do this, it has always been controlled
by command-line options to deviate from the target default.
This commit changes ASTContext::getDefaultCallingConvention() to reflect
the fact that it returns the context's default calling convention, not
the target's default calling convention. The IsBuiltin parameter, which
was used to return the target's default calling convention rather than
the context's, is removed in favor of
getTargetInfo().getDefaultCallingConv() which is more explicit of the
intent.
Commit: 91ee01fda8b8801805708a51bba90796da376ae7
https://github.com/llvm/llvm-project/commit/91ee01fda8b8801805708a51bba90796da376ae7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaM68k.cpp
M clang/lib/Sema/SemaMSP430.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[Sema] Remove unnecessary casts (NFC) (#148871)
getArgAsExpr already returns Expr *.
Commit: 4bd0e9e7f354e8824af506f4ee6816fb0351ed78
https://github.com/llvm/llvm-project/commit/4bd0e9e7f354e8824af506f4ee6816fb0351ed78
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Add early out to reduce indentation in SelectAddrRegRegScale. NFC
Commit: 0f1b16dd5f83fd931ecb111bb925ac9e1d56f589
https://github.com/llvm/llvm-project/commit/0f1b16dd5f83fd931ecb111bb925ac9e1d56f589
Author: Akshay Deodhar <adeodhar at nvidia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXUtilities.h
M llvm/test/CodeGen/NVPTX/atomicrmw-expand.ll
M llvm/test/CodeGen/NVPTX/atomics-sm70.ll
M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm60.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm70.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm90.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.py
M llvm/test/CodeGen/NVPTX/distributed-shared-cluster.ll
Log Message:
-----------
[NVPTX] Add syncscope support for cmpxchg (#140812)
This MR adds support for cmpxchg instructions with syncscope.
- Adds a new definition for atomic 3-operand instructions, with constant
operands for sem, scope and addsp.
- Lowers cmpxchg SDNodes populating sem, scope and addsp using
SDNodeXForms.
- Handle syncscope correctly for emulation loops in AtomicExpand, in
bracketInstructionWithFences.
- Modifies emitLeadingFence, emitTrailingFence to accept SyncScope as a
parameter. Modifies implementation of these in other backends, with the
parameter being ignored.
- Tests for a _slice_ of all possible combinations of the cmpxchg
instruction (with modifications to cmpxchg.py)
---------
Co-authored-by: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
Commit: c7d1eae4fc442a99085bae16be53a8087b9e5f25
https://github.com/llvm/llvm-project/commit/c7d1eae4fc442a99085bae16be53a8087b9e5f25
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use masked segment LD/ST intrinsics in (de)interleaveN lowering [nfc] (#148966)
Follow up on the work from e5bc7e7d, and extend it to the lowering used
for interleave and deinterleave when we can't combine with a nearby
memory operation.
Commit: 2d6534b7daa0483f11f84d218fa1dc65eee44a93
https://github.com/llvm/llvm-project/commit/2d6534b7daa0483f11f84d218fa1dc65eee44a93
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/global-address.ll
M llvm/test/CodeGen/MIR/AMDGPU/target-flags.mir
A llvm/test/MC/AMDGPU/fixup64.s
Log Message:
-----------
[AMDGPU] gfx1250 64-bit relocations and fixups (#148951)
Commit: 82d7405b3bb911c86d0b07c8a6bec5044acbdf66
https://github.com/llvm/llvm-project/commit/82d7405b3bb911c86d0b07c8a6bec5044acbdf66
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
A llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx1250.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_sop1.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_sop1.txt
Log Message:
-----------
[AMDGPU] Use S_ADD_PC_I64 for long branches in gfx1250 (#148961)
Commit: 5458151817c5f46c05a6b7c472085e51aa55c892
https://github.com/llvm/llvm-project/commit/5458151817c5f46c05a6b7c472085e51aa55c892
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/X86/invalid-operand-bundle-call.ll
M llvm/test/CodeGen/X86/invalid-operand-bundle-callbr.ll
Log Message:
-----------
[SelectionDAG] improve error messages for invalid operator bundle (#148945)
Commit: b1a93cfc32fbe912bb9b97796145501ea453d1bd
https://github.com/llvm/llvm-project/commit/b1a93cfc32fbe912bb9b97796145501ea453d1bd
Author: Ross Kirsling <ross.kirsling at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
A llvm/test/Transforms/InstCombine/fold-icmp-without-constant-into-phi.ll
Log Message:
-----------
[InstCombine] foldOpIntoPhi should apply to icmp with non-constant operand (#147676)
Alive2: https://alive2.llvm.org/ce/z/4MeCzA
Fixes #146263.
Commit: 386f73d4fb67649d5518d9a0cd5a49498bf608ca
https://github.com/llvm/llvm-project/commit/386f73d4fb67649d5518d9a0cd5a49498bf608ca
Author: Ross Kirsling <ross.kirsling at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/test/tools/llvm-objcopy/ELF/strip-preserve-atime.test
Log Message:
-----------
[llvm-objcopy] Explain that strip-preserve-atime.test fails with Crowdstrike (#145783)
Related to #82372.
Not a fix per se, but an acknowledgment and a workaround.
Commit: 4b81dc75f4a5b8651d6a4c4ac8840049dc9ae289
https://github.com/llvm/llvm-project/commit/4b81dc75f4a5b8651d6a4c4ac8840049dc9ae289
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[IA] Use a single callback for lowerDeinterleaveIntrinsic [nfc] (#148978)
This essentially merges the handling for VPLoad - currently in
lowerInterleavedVPLoad which is shared between shuffle and intrinsic
based interleaves - into the existing dedicated routine.
My plan is that if we like this factoring is that I'll do the same for
the intrinsic store paths, and then remove the excess generality from
the shuffle paths since we don't need to support both modes in the
shared VPLoad/Store callbacks. We can probably even fold the VP versions
into the non-VP shuffle variants in the analogous way.
Commit: 01dd892734614cad30d7b50e5acc1c533a3fd39c
https://github.com/llvm/llvm-project/commit/01dd892734614cad30d7b50e5acc1c533a3fd39c
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
Log Message:
-----------
AMDGPU: Remove a non-existent wmma instruction from gfx1250 (#148989)
Commit: c962f2b29d55138d0b3849a7b8b557108188bb4f
https://github.com/llvm/llvm-project/commit/c962f2b29d55138d0b3849a7b8b557108188bb4f
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
Log Message:
-----------
AMDGPU: Implement builtins for gfx1250 wmma instructions (#148991)
Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Co-authored-by: Shilei Tian <Shilei.Tian at amd.com>
Commit: 36e4174989f866c9f97acb35c0d3b80ef61e9459
https://github.com/llvm/llvm-project/commit/36e4174989f866c9f97acb35c0d3b80ef61e9459
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/pr148949.ll
Log Message:
-----------
[DAGCombiner][AArch64] Prevent SimplifyVCastOp from creating illegal scalar types after type legalization. (#148970)
Fixes #148949
Commit: a87b8398f9e94ea363c170625e015074fecfd318
https://github.com/llvm/llvm-project/commit/a87b8398f9e94ea363c170625e015074fecfd318
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Simplify conversion from ISD::Constant to ISD::TargetConstant in SelectAddrRegRegScale. NFC
Directly copy the underlying ConstantInt instead of reconstructing it.
Commit: 5ff99f2757a62c52079397602dbd0c2e9d9f0ae7
https://github.com/llvm/llvm-project/commit/5ff99f2757a62c52079397602dbd0c2e9d9f0ae7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Remove duplicate check in an if statement. NFC
Commit: 513a6465ba09d63ca179aa8122845e3abd5bd62b
https://github.com/llvm/llvm-project/commit/513a6465ba09d63ca179aa8122845e3abd5bd62b
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/test/CXX/module/module.interface/p1.cpp
Log Message:
-----------
[NFC][clang] Refactor CXX/module/module.interface/p1.cpp with split-file (#148861)
Refine CXX/module/module.interface/p1.cpp with split-file.
This MR is a part of https://github.com/llvm/llvm-project/pull/107168.
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 0f6a2db2594f5ffaf9bcd03f8233a850aa7d32af
https://github.com/llvm/llvm-project/commit/0f6a2db2594f5ffaf9bcd03f8233a850aa7d32af
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx10.mir
A llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx11.mir
A llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx9.mir
R llvm/test/CodeGen/AMDGPU/merge-tbuffer.mir
Log Message:
-----------
[NFC][AMDGPU] Split merge-tbuffer.mir into separate tests for gfx9, gfx10, and gfx11 (#148786)
For https://github.com/llvm/llvm-project/pull/145078
Commit: 28e1473e8e523150914e8c7ea50b44fb0d2a8d65
https://github.com/llvm/llvm-project/commit/28e1473e8e523150914e8c7ea50b44fb0d2a8d65
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
R llvm/test/MC/ARM/AlignedBundling/group-bundle-arm.s
R llvm/test/MC/ARM/AlignedBundling/illegal-subtarget-change.s
R llvm/test/MC/ARM/AlignedBundling/lit.local.cfg
R llvm/test/MC/ARM/AlignedBundling/pad-align-to-bundle-end.s
R llvm/test/MC/ARM/AlignedBundling/subtarget-change.s
M llvm/test/MC/AsmParser/AArch64/directive-parse-err.s
R llvm/test/MC/X86/AlignedBundling/align-mode-argument-error.s
R llvm/test/MC/X86/AlignedBundling/asm-printing-bundle-directives.s
R llvm/test/MC/X86/AlignedBundling/autogen-inst-offset-align-to-end.s
R llvm/test/MC/X86/AlignedBundling/autogen-inst-offset-padding.s
R llvm/test/MC/X86/AlignedBundling/bundle-group-too-large-error.s
R llvm/test/MC/X86/AlignedBundling/bundle-lock-option-error.s
R llvm/test/MC/X86/AlignedBundling/bundle-subtarget-change-error.s
R llvm/test/MC/X86/AlignedBundling/different-sections.s
R llvm/test/MC/X86/AlignedBundling/labeloffset.s
R llvm/test/MC/X86/AlignedBundling/lit.local.cfg
R llvm/test/MC/X86/AlignedBundling/lock-without-bundle-mode-error.s
R llvm/test/MC/X86/AlignedBundling/long-nop-pad.s
R llvm/test/MC/X86/AlignedBundling/misaligned-bundle-group.s
R llvm/test/MC/X86/AlignedBundling/misaligned-bundle.s
R llvm/test/MC/X86/AlignedBundling/nesting.s
R llvm/test/MC/X86/AlignedBundling/pad-align-to-bundle-end.s
R llvm/test/MC/X86/AlignedBundling/pad-bundle-groups.s
R llvm/test/MC/X86/AlignedBundling/relax-at-bundle-end.s
R llvm/test/MC/X86/AlignedBundling/relax-in-bundle-group.s
R llvm/test/MC/X86/AlignedBundling/section-alignment.s
R llvm/test/MC/X86/AlignedBundling/single-inst-bundling.s
R llvm/test/MC/X86/AlignedBundling/switch-section-locked-error.s
R llvm/test/MC/X86/AlignedBundling/unlock-without-lock-error.s
R llvm/test/MC/X86/align-branch-bundle.s
Log Message:
-----------
MC: Remove bundle alignment mode
The being-removed PNaCl has a Software Fault Isolation mechanism, which
requires that certain instructions and groups of instructions do not
cross a bundle boundary. When `.bundle_align_mode` is in effect, each
instruction is placed in its own fragment, allowing flexible NOP
padding.
This feature has significantly complicated our refactoring of MCStreamer
and MCFragment, leading to considerable effort spent untangling
it (including flushPendingLabels (75006466296ed4b0f845cbbec4bf77c21de43b40),
MCAssembler iteration improvement, and recent MCFragment refactoring).
* Make MCObjectStreamer::emitInstToData non-virtual and delete
MCELFStreamer::emitInstTodata
* Delete MCELFStreamer::emitValueImpl and emitValueToAlignment
Minor instructions:u decrease for both -O0 -g and -O3 builds
https://llvm-compile-time-tracker.com/compare.php?from=c06d3a7b728293cbc53ff91239d6cd87c0982ffb&to=9b078c7f228bc5b6cdbfe839f751c9407f8aec3e&stat=instructions:u
Pull Request: https://github.com/llvm/llvm-project/pull/148781
Commit: 968d38d1d7d9de2d5717457876bba2663b36f620
https://github.com/llvm/llvm-project/commit/968d38d1d7d9de2d5717457876bba2663b36f620
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M compiler-rt/test/lit.common.cfg.py
Log Message:
-----------
compiler-rt: test: Use the host instead of the target to select %expect_crash.
When running tests in a cross-compiled build, %expect_crash is
run on the host, not the target, so we need to check the host
OS. config.host_os surprisingly refers to the target OS because it
is derived from CMAKE_SYSTEM_NAME which specifies the target. See:
https://cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_NAME.html
Another speculative fix for:
https://lab.llvm.org/buildbot/#/builders/193/builds/9070
Commit: fa88c188de33b00e133973129338efd48a2c7d0b
https://github.com/llvm/llvm-project/commit/fa88c188de33b00e133973129338efd48a2c7d0b
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Analysis/AffineAnalysis.h
M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
Log Message:
-----------
[MLIR][Affine] Add default null init for mlir::affine::MemRefAccess (#147922)
Add default null init for `mlir::affine::MemRefAccess`. This is
consistent with various other MLIR structures and had been missing for
`mlir::affine::MemRefAccess`.
Commit: 8ec03f49dc417897a9ecffb3c5bc63c8e3e43ab7
https://github.com/llvm/llvm-project/commit/8ec03f49dc417897a9ecffb3c5bc63c8e3e43ab7
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
Clarify semantics for overflowing constrained lrint etc. (#148979)
This fixes llvm.experimental.constrained.lrint and friends to use the
same semantics as llvm.lrint and friends, as defined in
ba5c26da7ce85dbdcee3d964282e5f0981792702.
Commit: 156e4cb10e5863daf94154892e1d859ab1a4b57a
https://github.com/llvm/llvm-project/commit/156e4cb10e5863daf94154892e1d859ab1a4b57a
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTX.h
Log Message:
-----------
NVPTX: Fix clang -Wcovered-switch-default
Commit: 9b3064aec821fafca868b472eec209db373353e6
https://github.com/llvm/llvm-project/commit/9b3064aec821fafca868b472eec209db373353e6
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
A llvm/test/tools/llvm-objdump/ELF/RISCV/rv32-plt.test
A llvm/test/tools/llvm-objdump/ELF/RISCV/rv64-plt.test
Log Message:
-----------
[llvm-objdump][RISCV] Display `@plt' symbols when disassembling .plt section (#147933)
This patch adds dummy symbols for PLT entries for RISC-V 32-bit and
64-bit targets so llvm-objdump can show the function symbol that
corresponds to each PLT entry.
Commit: 228c45f13dc92546661b6825b7b32c3808b0d2eb
https://github.com/llvm/llvm-project/commit/228c45f13dc92546661b6825b7b32c3808b0d2eb
Author: James Newling <james.newling at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/test/Dialect/NVGPU/transform-matmul-to-nvvm.mlir
Log Message:
-----------
Revert [mlir][vector] Use vector.broadcast in place of vector.splat (#148937)
This reverts PR/commit https://github.com/llvm/llvm-project/commit/99875733fce0c6c72c50244ceaffe0cc5e1fa277
This PR/commit should only be landed after
https://github.com/llvm/llvm-project/pull/148027, at which point we
don't need to assume that vector.broadcast has been lowered to another
form.
Commit: 7da8f7394f8f0847dd1a29a9fbab5043fe307bae
https://github.com/llvm/llvm-project/commit/7da8f7394f8f0847dd1a29a9fbab5043fe307bae
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
Log Message:
-----------
[AMDGPU] Remove an unnecessary cast (NFC) (#148868)
STI is already of const GCNSubtarget *.
Commit: 39dd6cdd57b2587c48cbea01838d77611055e72f
https://github.com/llvm/llvm-project/commit/39dd6cdd57b2587c48cbea01838d77611055e72f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
Log Message:
-----------
[ARM] Remove an unnecessary cast (NFC) (#148869)
TII is already of const ARMBaseInstrInfo *. This patch removes AII in
favor of TII.
Commit: b454062456ceb8a093e292f8035c0f2a0bb08d03
https://github.com/llvm/llvm-project/commit/b454062456ceb8a093e292f8035c0f2a0bb08d03
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
Log Message:
-----------
[Hexagon] Remove an unnecessary cast (NFC) (#148870)
SB is already of MachineBasicBlock *SB.
Commit: 606e7f90b1d59799829eb9485eccfca5101b775f
https://github.com/llvm/llvm-project/commit/606e7f90b1d59799829eb9485eccfca5101b775f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/lib/Debug/BreakpointManagers/FileLineColLocBreakpointManager.cpp
M mlir/lib/Debug/ExecutionContext.cpp
M mlir/lib/Debug/Observers/ActionProfiler.cpp
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
M mlir/lib/Interfaces/LoopLikeInterface.cpp
M mlir/lib/Interfaces/SideEffectInterfaces.cpp
M mlir/lib/Pass/Pass.cpp
M mlir/lib/Pass/PassCrashRecovery.cpp
M mlir/lib/Pass/PassTiming.cpp
M mlir/lib/Query/Matcher/ErrorBuilder.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/Reducer/ReductionNode.cpp
M mlir/lib/Reducer/ReductionTreePass.cpp
M mlir/lib/Rewrite/FrozenRewritePatternSet.cpp
M mlir/lib/Support/Timing.cpp
M mlir/lib/Tools/PDLL/CodeGen/CPPGen.cpp
M mlir/lib/Tools/PDLL/ODS/Context.cpp
M mlir/lib/Tools/PDLL/ODS/Dialect.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/lsp-server-support/Logging.cpp
M mlir/lib/Tools/lsp-server-support/Protocol.cpp
M mlir/lib/Tools/lsp-server-support/Transport.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/Protocol.cpp
M mlir/lib/Tools/mlir-reduce/MlirReduceMain.cpp
M mlir/lib/Tools/mlir-translate/Translation.cpp
M mlir/lib/Tools/tblgen-lsp-server/LSPServer.cpp
Log Message:
-----------
[mlir] Remove unused includes (NFC) (#148872)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: 7a9bef0166951a61bc7094514a20471ae45f6090
https://github.com/llvm/llvm-project/commit/7a9bef0166951a61bc7094514a20471ae45f6090
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M .github/workflows/libclang-python-tests.yml
M clang/CMakeLists.txt
A clang/bindings/python/tests/CMakeLists.txt
A clang/bindings/python/tests/__init__.py
A clang/bindings/python/tests/cindex/INPUTS/a.inc
A clang/bindings/python/tests/cindex/INPUTS/b.inc
A clang/bindings/python/tests/cindex/INPUTS/compile_commands.json
A clang/bindings/python/tests/cindex/INPUTS/header1.h
A clang/bindings/python/tests/cindex/INPUTS/header2.h
A clang/bindings/python/tests/cindex/INPUTS/header3.h
A clang/bindings/python/tests/cindex/INPUTS/hello.cpp
A clang/bindings/python/tests/cindex/INPUTS/include.cpp
A clang/bindings/python/tests/cindex/INPUTS/parse_arguments.c
A clang/bindings/python/tests/cindex/INPUTS/testfile.c
A clang/bindings/python/tests/cindex/__init__.py
A clang/bindings/python/tests/cindex/test_access_specifiers.py
A clang/bindings/python/tests/cindex/test_cdb.py
A clang/bindings/python/tests/cindex/test_code_completion.py
A clang/bindings/python/tests/cindex/test_comment.py
A clang/bindings/python/tests/cindex/test_cursor.py
A clang/bindings/python/tests/cindex/test_cursor_kind.py
A clang/bindings/python/tests/cindex/test_diagnostics.py
A clang/bindings/python/tests/cindex/test_enums.py
A clang/bindings/python/tests/cindex/test_exception_specification_kind.py
A clang/bindings/python/tests/cindex/test_file.py
A clang/bindings/python/tests/cindex/test_index.py
A clang/bindings/python/tests/cindex/test_lib.py
A clang/bindings/python/tests/cindex/test_linkage.py
A clang/bindings/python/tests/cindex/test_location.py
A clang/bindings/python/tests/cindex/test_rewrite.py
A clang/bindings/python/tests/cindex/test_source_range.py
A clang/bindings/python/tests/cindex/test_tls_kind.py
A clang/bindings/python/tests/cindex/test_token_kind.py
A clang/bindings/python/tests/cindex/test_tokens.py
A clang/bindings/python/tests/cindex/test_translation_unit.py
A clang/bindings/python/tests/cindex/test_type.py
A clang/bindings/python/tests/cindex/util.py
M clang/test/CMakeLists.txt
R clang/test/bindings/python/bindings.sh
R clang/test/bindings/python/lit.local.cfg
R clang/test/bindings/python/tests/__init__.py
R clang/test/bindings/python/tests/cindex/INPUTS/a.inc
R clang/test/bindings/python/tests/cindex/INPUTS/b.inc
R clang/test/bindings/python/tests/cindex/INPUTS/compile_commands.json
R clang/test/bindings/python/tests/cindex/INPUTS/header1.h
R clang/test/bindings/python/tests/cindex/INPUTS/header2.h
R clang/test/bindings/python/tests/cindex/INPUTS/header3.h
R clang/test/bindings/python/tests/cindex/INPUTS/hello.cpp
R clang/test/bindings/python/tests/cindex/INPUTS/include.cpp
R clang/test/bindings/python/tests/cindex/INPUTS/parse_arguments.c
R clang/test/bindings/python/tests/cindex/INPUTS/testfile.c
R clang/test/bindings/python/tests/cindex/__init__.py
R clang/test/bindings/python/tests/cindex/test_access_specifiers.py
R clang/test/bindings/python/tests/cindex/test_cdb.py
R clang/test/bindings/python/tests/cindex/test_code_completion.py
R clang/test/bindings/python/tests/cindex/test_comment.py
R clang/test/bindings/python/tests/cindex/test_cursor.py
R clang/test/bindings/python/tests/cindex/test_cursor_kind.py
R clang/test/bindings/python/tests/cindex/test_diagnostics.py
R clang/test/bindings/python/tests/cindex/test_enums.py
R clang/test/bindings/python/tests/cindex/test_exception_specification_kind.py
R clang/test/bindings/python/tests/cindex/test_file.py
R clang/test/bindings/python/tests/cindex/test_index.py
R clang/test/bindings/python/tests/cindex/test_lib.py
R clang/test/bindings/python/tests/cindex/test_linkage.py
R clang/test/bindings/python/tests/cindex/test_location.py
R clang/test/bindings/python/tests/cindex/test_rewrite.py
R clang/test/bindings/python/tests/cindex/test_source_range.py
R clang/test/bindings/python/tests/cindex/test_tls_kind.py
R clang/test/bindings/python/tests/cindex/test_token_kind.py
R clang/test/bindings/python/tests/cindex/test_tokens.py
R clang/test/bindings/python/tests/cindex/test_translation_unit.py
R clang/test/bindings/python/tests/cindex/test_type.py
R clang/test/bindings/python/tests/cindex/util.py
Log Message:
-----------
Revert "Move python binding tests to lit framework" (#149012)
This reverts commit f8707f994af2582f6dc58190106946efeb43bf05.
Commit: dc3a4c0fcf4953645bc81ae99db10e48acd4961f
https://github.com/llvm/llvm-project/commit/dc3a4c0fcf4953645bc81ae99db10e48acd4961f
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCCodeView.h
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCWasmStreamer.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCSymbol.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/test/MC/ELF/mc-dump.s
Log Message:
-----------
MC: Restructure MCFragment as a fixed part and a variable tail
Refactor the fragment representation of `push rax; jmp foo; nop; jmp foo`,
previously encoded as
`MCDataFragment(nop); MCRelaxableFragment(jmp foo); MCDataFragment(nop); MCRelaxableFragment(jmp foo)`,
to
```
MCFragment(fixed: push rax, variable: jmp foo)
MCFragment(fixed: nop, variable: jmp foo)
```
Changes:
* Eliminate MCEncodedFragment, moving content and fixup storage to MCFragment.
* The new MCFragment contains a fixed-size content (similar to previous
MCDataFragment) and an optional variable-size tail.
* The variable-size tail supports FT_Relaxable, FT_LEB, FT_Dwarf, and
FT_DwarfFrame, with plans to extend to other fragment types.
dyn_cast/isa should be avoided for the converted fragment subclasses.
* In `setVarFixups`, source fixup offsets are relative to the variable part's start.
Stored fixup (in `FixupStorage`) offsets are relative to the fixed part's start.
A lot of code does `getFragmentOffset(Frag) + Fixup.getOffset()`,
expecting the fixup offset to be relative to the fixed part's start.
* HexagonAsmBackend::fixupNeedsRelaxationAdvanced needs to know the
associated instruction for a fixup. We have to add a `const MCFragment &` parameter.
* In MCObjectStreamer, extend `absoluteSymbolDiff` to apply to
FT_Relaxable as otherwise there would be many more FT_DwarfFrame
fragments in -g compilations.
https://llvm-compile-time-tracker.com/compare.php?from=28e1473e8e523150914e8c7ea50b44fb0d2a8d65&to=778d68ad1d48e7f111ea853dd249912c601bee89&stat=instructions:u
```
stage2-O0-g instructins:u geomeon (-0.07%)
stage1-ReleaseLTO-g (link only) max-rss geomean (-0.39%)
```
```
% /t/clang-old -g -c sqlite3.i -w -mllvm -debug-only=mc-dump &| awk '/^[0-9]+/{s[$2]++;tot++} END{print "Total",tot; n=asorti(s, si); for(i=1;i<=n;i++) print si[i],s[si[i]]}'
Total 59675
Align 2215
Data 29700
Dwarf 12044
DwarfCallFrame 4216
Fill 92
LEB 12
Relaxable 11396
% /t/clang-new -g -c sqlite3.i -w -mllvm -debug-only=mc-dump &| awk '/^[0-9]+/{s[$2]++;tot++} END{print "Total",tot; n=asorti(s, si); for(i=1;i<=n;i++) print si[i],s[si[i]]}'
Total 32287
Align 2215
Data 2312
Dwarf 12044
DwarfCallFrame 4216
Fill 92
LEB 12
Relaxable 11396
```
Pull Request: https://github.com/llvm/llvm-project/pull/148544
Commit: 6d0f573535e27171e4ef927baeab3edc928beebb
https://github.com/llvm/llvm-project/commit/6d0f573535e27171e4ef927baeab3edc928beebb
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
MCFragment: Remove MCDataFragment/MCRelaxableFragment type aliases
Follow-up to #148544
Commit: dbb6ed76317a52ada7045611649e50c2afe51496
https://github.com/llvm/llvm-project/commit/dbb6ed76317a52ada7045611649e50c2afe51496
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Refactor SelectAddrRegRegScale. NFC
Rename UnwrapShl->SelectShl. Make it only responsible for matching
a SHL by constant.
Handle the fallback case of reg+reg with no scale outside of SelectShl.
Reorder the check so RHS is checked for shift first. The base pointer
is most likely on the LHS. It's very unlikely both operands are shifts.
This is preparation for adding better costing decisions to this code.
Commit: 5480fc6bb8ef6a6a895be7952d50d557116dcb38
https://github.com/llvm/llvm-project/commit/5480fc6bb8ef6a6a895be7952d50d557116dcb38
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[mlir][tosa] Interpret boolean values correctly in cast folder (#147078)
Previously the cast folder would sign extend boolean values, leading
"true" to be casted to a value of -1 instead of 1. This change ensures
i1 values are zero extended, since i1 is used as a boolean value in
TOSA. According to the TOSA spec, the result of a boolean cast with
value "true" to another integer type should give a result of 1.
Fixes https://github.com/llvm/llvm-project/issues/57951
Commit: 871038759afb491c16fb2cd14b78e51e410efbf3
https://github.com/llvm/llvm-project/commit/871038759afb491c16fb2cd14b78e51e410efbf3
Author: Marco Elver <elver at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
Thread Safety Analysis: Fix pointer handling of variables with deprecated attributes (#148974)
de10e44b6fe7 ("Thread Safety Analysis: Support warning on
passing/returning pointers to guarded variables") added checks for
passing pointer to guarded variables. While new features do not
necessarily need to support the deprecated attributes (`guarded_var`,
and `pt_guarded_var`), we need to ensure that such features do not cause
the compiler to crash.
As such, code such as this:
struct {
int v __attribute__((guarded_var));
} p;
int *g() {
return &p.v; // handleNoMutexHeld() with POK_ReturnPointer
}
Would crash in debug builds with the assertion in handleNoMutexHeld()
triggering. The assertion is meant to capture the fact that this helper
should only be used for warnings on variables (which the deprecated
attributes only applied to).
To fix, the function handleNoMutexHeld() should handle all POK cases
that apply to variables explicitly, and produce a best-effort warning.
We refrain from introducing new warnings to avoid unnecessary code bloat
for deprecated features.
Fixes: https://github.com/llvm/llvm-project/issues/140330
Commit: 17d3029331a65ea54ad1bdbf79add03d5a71dcd4
https://github.com/llvm/llvm-project/commit/17d3029331a65ea54ad1bdbf79add03d5a71dcd4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Make union activation more granular (#148835)
Only activate things if the syntactical structure suggests so. This adds
a bunch of new opcodes to control whether to activate in stores, etc.
Fixes #134789
Commit: d4a8a01cef1e417dd8c76fd2c5cde568122c27e3
https://github.com/llvm/llvm-project/commit/d4a8a01cef1e417dd8c76fd2c5cde568122c27e3
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/Object/ELF.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/test/tools/llvm-objdump/ELF/program-headers.test
M llvm/test/tools/llvm-readobj/ELF/section-types.test
M llvm/test/tools/yaml2obj/ELF/program-header.yaml
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[elf] Add support for {SHT,PT}_GNU_SFRAME constants (#148803)
Reference:
https://sourceware.org/git/?p=gnu-gabi.git;a=blob;f=program-loading-and-dynamic-linking.txt;h=3357d865720285df2d29c4e8f92de49ddf1beb40;hb=refs/heads/master
Commit: afe81507809fb845ee3368291adaa9671e6732c0
https://github.com/llvm/llvm-project/commit/afe81507809fb845ee3368291adaa9671e6732c0
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.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/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Simplify exituser handling by generating all extracts first(NFCI)
Simplify the handling of exit users by generating all extracts first
(safe option), and have FOR handling optimize the extracts, similar to
already done for reductions and inductions.
NFC modulo first-order recurrence extract order in middle block.
Commit: f223411e2e005ecd54523801db603b54d69f3159
https://github.com/llvm/llvm-project/commit/f223411e2e005ecd54523801db603b54d69f3159
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/ptr-replace-alloca.ll
Log Message:
-----------
[InstCombine]PtrReplacer: Correctly handle select with unavailable operands (#148829)
The testcase I added previously failed because a SelectInst with invalid
operands was created (one side `addrspace(4)`, the other
`addrspace(5)`).
PointerReplacer needs to dig deeper if the true and/or false
instructions of the select are not available.
Fixes SWDEV-542957
Commit: db2eb4d031028f9ad9b9ad6f6283f81598a404f0
https://github.com/llvm/llvm-project/commit/db2eb4d031028f9ad9b9ad6f6283f81598a404f0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__new/launder.h
M libcxx/test/std/language.support/support.dynamic/ptr.launder/launder.types.verify.cpp
Log Message:
-----------
[libc++] Simplify std::launder (#147985)
Both Clang and GCC diagnose invalid calls to `__builtin_launder`, which
causes duplicate diagnostics when using `std::launder` in an invalid
way. While the diagnostic message for the builtin isn't perferct, it's
definitely good enough to understand the problem and adding our own
diagnostic doesn't really make things any clearer. Because of that, this
patch simply removes the `static_assert`s and lets the compiler handle
diagnosing incorrect arguments instead. This not only simplifies our
implementation, but also improves compile times a bit, since we avoid
instantiating some type traits.
Commit: 5d367080a8475600bae9cf1c793f2dacfde76c90
https://github.com/llvm/llvm-project/commit/5d367080a8475600bae9cf1c793f2dacfde76c90
Author: Tomás Longeri <tlongeri at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[MLIR][Vector] Fix bug in ExtractStrideSlicesOp canonicalization (#147591)
The pattern would produce an invalid slice when some dimensions were
both sliced and broadcast.
Commit: 4aa85cc3136e1b6d389ed0a9a109a17b1199a242
https://github.com/llvm/llvm-project/commit/4aa85cc3136e1b6d389ed0a9a109a17b1199a242
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
A llvm/include/llvm/CodeGen/ProcessImplicitDefs.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/ProcessImplicitDefs.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/X86/unreachable-mbb-undef-phi.mir
Log Message:
-----------
[CodeGen][NPM] Port ProcessImplicitDefs to NPM (#148110)
same as https://github.com/llvm/llvm-project/pull/138829
Co-authored-by : Oke, Akshat
<[Akshat.Oke at amd.com](mailto:Akshat.Oke at amd.com)>
Commit: 7d52b72239caba92a48e2cacbe5758e18efaed1c
https://github.com/llvm/llvm-project/commit/7d52b72239caba92a48e2cacbe5758e18efaed1c
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/known-bits-sbfe.mir
Log Message:
-----------
[AMDGPU] Compute GISel KnownBits for S_BFE instructions (#141588)
Next patches in the stack will emit them in the RegBankCombiner. With this, S_BFE instructions will hopefully interfere less with optimizations.
Commit: cee679aa3f2b98b191873ecfeaa3d821a9156431
https://github.com/llvm/llvm-project/commit/cee679aa3f2b98b191873ecfeaa3d821a9156431
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__tree
A libcxx/test/extensions/libcxx/always_initialize_iterators.pass.cpp
Log Message:
-----------
[libc++] Always initialize __tree::{,const_}iterator (#147167)
This was probably added to support https://wg21.link/n3644 but there's
no reason not to initialize the pointer in all standard modes. This is
technically an extension since n3644 only required value-initialized
iterators to be comparable, but supporting this as an extension should
be uncontroversial since it avoids potential reads of uninitialized
memory in C++03/C++11 without doing any harm.
Commit: ffcb0a4559b850c5ba51003ae1877c7c2ae9836f
https://github.com/llvm/llvm-project/commit/ffcb0a4559b850c5ba51003ae1877c7c2ae9836f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__memory_resource/polymorphic_allocator.h
A libcxx/test/libcxx/mem/mem.res/ctor.nullptr.assert.pass.cpp
A libcxx/test/libcxx/mem/mem.res/nonnull.verify.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/resource.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/select_on_container_copy_construction.pass.cpp
Log Message:
-----------
[libc++] Update polymorphic_allocator to never contain a nullptr (#148423)
According to `[mem.poly.allocator.ctor]` the pointer contained in
`polymorphic_allocator` can never be null. The default constructor uses
`get_default_resource()`, which never returns null and the constructor
taking a pointer explicitly has a precondition that the pointer is
non-null.
This patch adds a warning and an assertion in case a user passes a null
pointer to `polymorphic_allocator` as well as marking `resource()` to
never return null.
This also fixes some tests which contained UB.
Fixes #148420
Commit: 7c69c3b0baa5a99680aa8c6972a6b3ea41393943
https://github.com/llvm/llvm-project/commit/7c69c3b0baa5a99680aa8c6972a6b3ea41393943
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libc/src/string/memory_utils/CMakeLists.txt
A libc/src/string/memory_utils/arm/common.h
M libc/src/string/memory_utils/arm/inline_memcpy.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][NFC] refactor Cortex `memcpy` code (#148204)
This patch is in preparation for the Cortex `memset` implementation.
It improves the codegen by generating a prefetch for large sizes.
Commit: d7f6660c34b84c0e04843ba29cfc60b4aacd870c
https://github.com/llvm/llvm-project/commit/d7f6660c34b84c0e04843ba29cfc60b4aacd870c
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
Log Message:
-----------
[mlir][tosa] Remove profile compliance of cond_if and while_loop (#148212)
The requirement for a boolean condition is already checked for both
operators elsewhere. `cond_if` requires a boolean condition at
construction. `while_loop` cond_graph is checked in the verifier for a
scalar boolean output type.
Commit: 3e4153c97b54d456cfaf6ae21391122582b0ab28
https://github.com/llvm/llvm-project/commit/3e4153c97b54d456cfaf6ae21391122582b0ab28
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsRISCV.td
A clang/include/clang/Basic/BuiltinsRISCVXAndes.td
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/riscv_nds.h
A clang/test/CodeGen/RISCV/riscv-xandesbfhcvt-c-api.c
A clang/test/CodeGen/RISCV/riscv-xandesbfhcvt.c
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
A llvm/test/CodeGen/RISCV/xandesbfhcvt.ll
Log Message:
-----------
[RISCV] Implement Builtins for XAndesBFHCvt extension. (#148804)
XAndesBFHCvt provides two builtins functions for converting between
float and bf16. Users can use them to convert bf16 values loaded from
memory to float, perform arithmetic operations, then convert them back
to bf16 and store them to memory.
The load/store and move operations for bf16 will be handled in a later
patch.
Commit: 29e14c3b447af604774a7f4f8ed961f204d6b5b4
https://github.com/llvm/llvm-project/commit/29e14c3b447af604774a7f4f8ed961f204d6b5b4
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
R llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-i16-to-i32.ll
Log Message:
-----------
[AMDGPU] Remove widen-16-bit-ops from CGP (#145483)
This was already off by default so there is no codegen change.
Commit: 1c223829b817be3174ec7c6056524058358b90b1
https://github.com/llvm/llvm-project/commit/1c223829b817be3174ec7c6056524058358b90b1
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Fix transpose_conv2d verifier when output channels are dynamic (#147062)
This commit fixes a transpose_conv2d verifier check which compares the
output channels size to the bias size. The check didn't make sure output
channels were static before performing the comparison. This lead to
failures such as:
```
'tosa.transpose_conv2d' op bias channels expected to be equal to output channels (-9223372036854775808) or 1, got 5
```
when the output channels size was dynamic.
Commit: 999a8fb812df766c5cdfda3cea8e71548e89fc8b
https://github.com/llvm/llvm-project/commit/999a8fb812df766c5cdfda3cea8e71548e89fc8b
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libc/src/string/memory_utils/CMakeLists.txt
R libc/src/string/memory_utils/arm/common.h
M libc/src/string/memory_utils/arm/inline_memcpy.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Revert "[libc][NFC] refactor Cortex `memcpy` code" (#149035)
Reverts llvm/llvm-project#148204
`libc-arm32-qemu-debian-dbg` is failing, reverting and investigating
Commit: 50096134f869f4ccb5e5f650edd0dd512c5a751d
https://github.com/llvm/llvm-project/commit/50096134f869f4ccb5e5f650edd0dd512c5a751d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++][NFC] Remove some __tree internal accessor functions (#147266)
Commit: c364e6234e727cbf54ca666fa706693711a31119
https://github.com/llvm/llvm-project/commit/c364e6234e727cbf54ca666fa706693711a31119
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 3e4153c97b54
Commit: de4b458aa5e52812aa9c392f62a616b6c6c1716f
https://github.com/llvm/llvm-project/commit/de4b458aa5e52812aa9c392f62a616b6c6c1716f
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/saturating-vec-smull.ll
Log Message:
-----------
[AArch64][Codegen]Transform saturating smull to sqdmulh (#143671)
This patch adds a pattern for recognizing saturating vector
smull. Prior to this patch these were performed using a
combination of smull+smull2+uzp+smin like the following
```
smull2 v5.2d, v1.4s, v2.4s
smull v1.2d, v1.2s, v2.2s
uzp2 v1.4s, v1.4s, v5.4s
smin v1.4s, v1.4s, v0.4s
```
which now optimizes to
```
sqdmulh v0.4s, v1.4s, v0.4s
```
This only operates on vectors containing int32 and int16 types
Commit: 828a867ee010cdd832c43f7d844959adb4884b2e
https://github.com/llvm/llvm-project/commit/828a867ee010cdd832c43f7d844959adb4884b2e
Author: David Green <david.green at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/reduce-and.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-or.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-xor.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
Log Message:
-----------
[AArch64] Reduce the costs of and/or/xor reductions (#148553)
Since the costs were added the codegen for i8/i16 and/or/xor reductions
has improved. This updates the cost model to produce the same costs in
terms of number of instructions.
Commit: 905bb5bddb690765cab5416d55ab017d7c832eb3
https://github.com/llvm/llvm-project/commit/905bb5bddb690765cab5416d55ab017d7c832eb3
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/fpenv-xlen.ll
Log Message:
-----------
[RISCV][FPEnv] Lowering of fpmode intrinsics (#148569)
The change implements custom lowering of `get_fpmode`, `set_fpmode` and
`reset_fpmode` for RISCV target. The implementation is aligned with the
functions `fegetmode` and `fesetmode` in GLIBC.
Commit: 5ae49393957c6b4d47ace7aaf5fc1e0388d3a695
https://github.com/llvm/llvm-project/commit/5ae49393957c6b4d47ace7aaf5fc1e0388d3a695
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
A lldb/source/Plugins/Language/CPlusPlus/MsvcStlVector.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/TestDataFormatterStdVBool.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vector/TestDataFormatterStdVector.py
Log Message:
-----------
[LLDB] Add formatters for MSVC STL std::vector (#147538)
This adds synthetic child providers for `std::vector<T>` and
`std::vector<bool>` for MSVC's STL.
The structure of a `std::vector<T>` is relatively similar to libc++'s
implementation that uses `__begin` and `__end`.
`std::vector<bool>` is different. It's a `std::vector<unsigned int>`
wrapper instead of `std::vector<uint8_t>`. This makes the calculation
slightly less simple. I put a comment in the `GetChildAtIndex` to make
this clear.
- [NatVis for
`std::vector<T>`](https://github.com/microsoft/STL/blob/313964b78a8fd5a52e7965e13781f735bcce13c5/stl/debugger/STL.natvis#L1193-L1205)
- [NatVis for
`std::vector<bool>`](https://github.com/microsoft/STL/blob/313964b78a8fd5a52e7965e13781f735bcce13c5/stl/debugger/STL.natvis#L1167-L1179)
Towards #24834.
Commit: f98cf07b7dc7af7716e1da9a1257b8c6416f9a46
https://github.com/llvm/llvm-project/commit/f98cf07b7dc7af7716e1da9a1257b8c6416f9a46
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/examples/synthetic/gnu_libstdcpp.py
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h
Log Message:
-----------
[LLDB] Convert libstdc++ std::variant summary to C++ (#148929)
This PR converts the `std::variant` summary from Python to C++.
Split from #148554. MSVC's STL and libstdc++ use the same type name for
`std::variant`, thus they need one "dispatcher" function that checks the
type and calls the appropriate summary. For summaries, both need to be
implemented in C++.
This is mostly a 1:1 translation. The main difference is that in C++,
the summary returns `false` if it can't inspect the object properly
(e.g. a member could not be found). In Python, this wasn't possible.
Commit: 3483ac50e396f395008cd9456ca575891fb2d24b
https://github.com/llvm/llvm-project/commit/3483ac50e396f395008cd9456ca575891fb2d24b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
Log Message:
-----------
[gn build] Port 5ae49393957c
Commit: 46b4bd2882447c46138f7272bc915ce6f74bf7bc
https://github.com/llvm/llvm-project/commit/46b4bd2882447c46138f7272bc915ce6f74bf7bc
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Implement _LIBCPP_SUPPRESS_DEPRECATED macros in terms of _LIBCPP_DIAGNOSTIC macros (#143857)
This makes the code a bit more consistent, since we use the
`_LIBCPP_DIAGNOSTIC` macros everywhere else.
Commit: bbfbe7d789f7b6ade715f3656db0bdd657eeef68
https://github.com/llvm/llvm-project/commit/bbfbe7d789f7b6ade715f3656db0bdd657eeef68
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode][NFC] Remove unused function prototypes (#149031)
Commit: 60579ec3059b2b6cc9dad90eaac1ed363fc395a7
https://github.com/llvm/llvm-project/commit/60579ec3059b2b6cc9dad90eaac1ed363fc395a7
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Support/BLAKE3/llvm_blake3_prefix.h
Log Message:
-----------
[Support][BLAKE3] Prefix more blake3 methods (#149007)
Added by #147948, blake3_xof_many and blake3_compress_subtree_wide cause
conflicts when linking llvm and blake3 statically into the same binary.
Similar to #148607.
Commit: 653872f782e1faaabc1da23769e6b35b10e74bde
https://github.com/llvm/llvm-project/commit/653872f782e1faaabc1da23769e6b35b10e74bde
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/DebugInfo/KeyInstructions/Generic/verify.ll
Log Message:
-----------
[KeyInstr] Fix verifier check (#149043)
The verifier check was in the wrong place, meaning it wasn't actually
checking many instructions.
Fixing that causes a test failure (coro-dwarf-key-instrs.cpp) because
coros turn off the feature but still annotate instructions with the
metadata (which is a supported situation, but the verifier doesn't like
it, and it's hard to teach the verifier to like it).
Fix that by avoiding emitting any key instruction metadata if the
DISubprogram has opted out of key instructions.
Commit: 38be53aa04de8c6d494de8074328ac8907f3f631
https://github.com/llvm/llvm-project/commit/38be53aa04de8c6d494de8074328ac8907f3f631
Author: Artemiy Bulavin <artemiyb at graphcore.ai>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/Pass/PassCrashRecovery.cpp
M mlir/unittests/IR/CMakeLists.txt
A mlir/unittests/IR/DistinctAttributeAllocatorTest.cpp
Log Message:
-----------
[MLIR] Fix use-after-frees when accessing DistinctAttr storage (#148666)
This PR fixes a use-after-free error that happens when `DistinctAttr`
instances are created within a `PassManager` running with crash recovery
enabled. The root cause is that `DistinctAttr` storage is allocated in a
thread_local allocator, which is destroyed when the crash recovery
thread joins, invalidating the storage.
Moreover, even without crash reproduction disabling multithreading on
the context will destroy the context's thread pool, and in turn delete
the threadlocal storage. This means a call to
`ctx->disableMulthithreading()` breaks the IR.
This PR replaces the thread local allocator with a synchronised
allocator that's shared between threads. This persists the lifetime of
allocated DistinctAttr storage instances to the lifetime of the context.
### Problem Details:
The `DistinctAttributeAllocator` uses a
`ThreadLocalCache<BumpPtrAllocator>` for lock-free allocation of
`DistinctAttr` storage in a multithreaded context. The issue occurs when
a `PassManager` is run with crash recovery (`runWithCrashRecovery`), the
pass pipeline is executed on a temporary thread spawned by
`llvm::CrashRecoveryContext`. Any `DistinctAttr`s created during this
execution have their storage allocated in the thread_local cache of this
temporary thread. When the thread joins, the thread_local storage is
destroyed, freeing the `DistinctAttr`s' memory. If this attribute is
accessed later, e.g. when printing, it results in a use-after-free.
As mentioned previously, this is also seen after creating some
`DistinctAttr`s and then calling `ctx->disableMulthithreading()`.
### Solution
`DistinctAttrStorageAllocator` uses a synchronised, shared allocator
instead of one wrapped in a `ThreadLocalCache`. The former is what
stores the allocator in transient thread_local storage.
### Testing:
A C++ unit test has been added to validate this fix. (I was previously
reproducing this failure with `mlir-opt` but I can no longer do so and I
am unsure why.)
-----
Note: This is a 2nd attempt at my previous PR
https://github.com/llvm/llvm-project/pull/128566 that was reverted in
https://github.com/llvm/llvm-project/pull/133000. I believe I've
addressed the TSAN and race condition concerns.
Commit: 5b8c15c6e7f3ac17383c12483f466a721b1040ba
https://github.com/llvm/llvm-project/commit/5b8c15c6e7f3ac17383c12483f466a721b1040ba
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[DebugInfo] Remove getPrevNonDebugInstruction (#148859)
With the advent of intrinsic-less debug-info, we no longer need to
scatter calls to getPrevNonDebugInstruction around the codebase. Remove
most of them -- there are one or two that have the "SkipPseudoOp" flag
turned on, however they don't seem to be in positions where skipping
anything would be reasonable.
Commit: e333d6019dafd84f9aef919894d8c82389cde001
https://github.com/llvm/llvm-project/commit/e333d6019dafd84f9aef919894d8c82389cde001
Author: Julian Nagele <j.nagele at apple.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
Log Message:
-----------
[AArch64] Replace expensive move from wzr by two moves via floating point immediate (#146538)
We've noticed that inserting 0 into a known vector lane is implemented
via a move from wzr, i.e., moving between register banks. We think it
will be cheaper (and have seen improvements on our benchmarks) to
materialize 0 into a floating point register and insert from there.
PR: https://github.com/llvm/llvm-project/pull/146538
Commit: b117ccf40df16bcd0b24e2a91d8f749ddb7933f3
https://github.com/llvm/llvm-project/commit/b117ccf40df16bcd0b24e2a91d8f749ddb7933f3
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
A llvm/test/tools/llc/new-pm/start-stop-inserted.ll
Log Message:
-----------
[CodeGen][NPM] Account inserted passes for -start/stop options (#148111)
same as https://github.com/llvm/llvm-project/pull/138830
This partly solves the issue
https://github.com/llvm/llvm-project/issues/138831 for -enable-new-pm.
https://github.com/llvm/llvm-project/pull/137290 will not have this
problem, but this needs to be added this till we migrate to the new pass
builder structure.
Even with this, there is no way to -start-after an inserted pass right
now.
Co-authored-by : Oke, Akshat
<[Akshat.Oke at amd.com](mailto:Akshat.Oke at amd.com)>
Commit: 73630d5e20c8f29aec426954f448079665caf3ab
https://github.com/llvm/llvm-project/commit/73630d5e20c8f29aec426954f448079665caf3ab
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Support/raw_socket_stream.cpp
Log Message:
-----------
[Support] Error if SocketPath is too long (#148903)
If the path is longer than sockaddr_un's buffer, it will be truncated,
at which point it may become indistinguishable from similar truncated
paths. This will cause `bind` to fail with an "Address already in use"
error. There is some existing code that checks `fs::exists` to catch
these errors, but since `fs::exists` compares the full un-truncated
paths, a too-long path will prevent those checks from working.
rdar://154397133
Commit: 3b8a18c27a1e70895feac15d48b3a6122e6b377f
https://github.com/llvm/llvm-project/commit/3b8a18c27a1e70895feac15d48b3a6122e6b377f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/SemaCXX/cxx2c-constexpr-placement-new.cpp
Log Message:
-----------
[clang][bytecode] Fix contains check using llvm::find (#149050)
We need to compare to the end() interator.
Commit: 402b989693a0d5d17be6bf996bce52cf3ca73886
https://github.com/llvm/llvm-project/commit/402b989693a0d5d17be6bf996bce52cf3ca73886
Author: macurtis-amd <macurtis at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/bug-multi-operands-to-update-after-fold.mir
Log Message:
-----------
AMDGPU: Fix assert when multi operands to update after folding imm (#148205)
In the original motivating test case,
[FoldList](https://github.com/llvm/llvm-project/blob/d8a2141ff98ee35cd1886f536ccc3548b012820b/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp#L1764)
had entries:
```
#0: UseMI: %224:sreg_32 = S_OR_B32 %219.sub0:sreg_64, %219.sub1:sreg_64, implicit-def dead $scc
UseOpNo: 1
#1: UseMI: %224:sreg_32 = S_OR_B32 %219.sub0:sreg_64, %219.sub1:sreg_64, implicit-def dead $scc
UseOpNo: 2
```
After calling
[updateOperand(#0)](https://github.com/llvm/llvm-project/blob/d8a2141ff98ee35cd1886f536ccc3548b012820b/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp#L1773),
[tryConstantFoldOp(#0.UseMI)](https://github.com/llvm/llvm-project/blob/d8a2141ff98ee35cd1886f536ccc3548b012820b/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp#L1786)
removed operand 1, and entry #1.UseOpNo was no longer valid,
resulting in an
[assert](https://github.com/llvm/llvm-project/blob/4a35214bddbb67f9597a500d48ab8c4fb25af150/llvm/include/llvm/ADT/ArrayRef.h#L452).
This change defers constant folding until all operands have been updated
so that UseOpNo values remain stable.
Commit: 62bd778fd46e647bf3c32540651413f848448f19
https://github.com/llvm/llvm-project/commit/62bd778fd46e647bf3c32540651413f848448f19
Author: enh-google <enh at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
R libcxx/include/__locale_dir/locale_base_api/android.h
M libcxx/include/module.modulemap.in
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
Remove workarounds for NDK versions before 2017's r16. (#148879)
Commit: 949103b45c2f7f1fc28106b5db435660e466b804
https://github.com/llvm/llvm-project/commit/949103b45c2f7f1fc28106b5db435660e466b804
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Use range-based `for` in `matchAssociativeReduction` (#149029)
Commit: 7674566c9666e69d274b145ea4744c6ac13c1adb
https://github.com/llvm/llvm-project/commit/7674566c9666e69d274b145ea4744c6ac13c1adb
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Simplify `count_if` to `count` (#149072)
Commit: ade2f1023d716bbf1473aaaf46d10faac73b014f
https://github.com/llvm/llvm-project/commit/ade2f1023d716bbf1473aaaf46d10faac73b014f
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFCI] Don't trim indexes, reuse a variable (#149074)
Commit: 5abdce4083ed37203e4893f8f7ef3890586b008a
https://github.com/llvm/llvm-project/commit/5abdce4083ed37203e4893f8f7ef3890586b008a
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/spill-fold.mir
Log Message:
-----------
[LLVM][AArch64InstrInfo] Prevent fill folding when DstReg is SP. (#148885)
We can remove subreg COPY instructions by filling directly into the
COPY's destination register. However, this is only valid when the copy
and fill have compatible register classes.
Fixes https://github.com/llvm/llvm-project/issues/148659
Commit: 9e5470e7d6ea1ad4fe25a9416706d769e41a03c1
https://github.com/llvm/llvm-project/commit/9e5470e7d6ea1ad4fe25a9416706d769e41a03c1
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/const-eval.c
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/expr/expr.const/p2-0x.cpp
M clang/test/Sema/const-eval.c
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx14.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
M clang/test/SemaCXX/constexpr-backtrace-limit.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/increment.pass.cpp
Log Message:
-----------
[Clang] Diagnose forming references to nullptr (#143667)
Per [decl.ref],
> Because a null pointer value or a pointer past the end of an object
does not point to an object, a reference in a well-defined program
cannot refer to such things.
Note this does not fixes the new bytecode interpreter.
Fixes #48665
Commit: 7392a546bb34c6fe569e30341138bb70115ca905
https://github.com/llvm/llvm-project/commit/7392a546bb34c6fe569e30341138bb70115ca905
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/freeze.ll
Log Message:
-----------
[InstCombine] Treat identical operands as one in pushFreezeToPreventPoisonFromPropagating (#145348)
To push a freeze through an instruction, only one operand may produce
poison. However, this currently fails for identical operands which are
treated as separate. This patch fixes this by treating them as a single
operand.
Commit: 4cc9af219fbeece77e0d874d9eb4b479b6e475d1
https://github.com/llvm/llvm-project/commit/4cc9af219fbeece77e0d874d9eb4b479b6e475d1
Author: Chaitanya Koparkar <ckoparkar at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
Log Message:
-----------
[mlir][bufferization] Fix a typo in to_tensor op's summary field (#149082)
Fixes #149081
Commit: c71b92d09f584d41ed8536791e6dac4fa079eedc
https://github.com/llvm/llvm-project/commit/c71b92d09f584d41ed8536791e6dac4fa079eedc
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV][FPE] Remove unused variable (#149054)
It was added by me in 905bb5bddb690765cab5416d55ab017d7c832eb3, which
committed PR https://github.com/llvm/llvm-project/pull/148569.
Commit: 1742966c0df03d1f00a177a8d8a2a2afaec6938d
https://github.com/llvm/llvm-project/commit/1742966c0df03d1f00a177a8d8a2a2afaec6938d
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/amdgcn-complex.f90
Log Message:
-----------
[Flang] Force lowering to Complex for AMDGPU (#144927)
Commit: fc114e4d931ae25f74a15e42371dbead1387ad51
https://github.com/llvm/llvm-project/commit/fc114e4d931ae25f74a15e42371dbead1387ad51
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A mlir/include/mlir/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/ComplexToROCDLLibraryCalls/CMakeLists.txt
A mlir/lib/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.cpp
A mlir/test/Conversion/ComplexToROCDLLibraryCalls/complex-to-rocdl-library-calls.mlir
Log Message:
-----------
[MLIR] Add ComplexTOROCDLLibraryCalls pass (#144926)
Commit: dbb12109b947995d5882ca521f7b7716d6ac9ae4
https://github.com/llvm/llvm-project/commit/dbb12109b947995d5882ca521f7b7716d6ac9ae4
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/Target.cpp
Log Message:
-----------
[OpenMP] Add TargetAMDGPU support for Complex argument and return types (#144924)
Commit: 88a498c3b110b73c10362df8c18ca13fe1873744
https://github.com/llvm/llvm-project/commit/88a498c3b110b73c10362df8c18ca13fe1873744
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
A lldb/source/Plugins/Language/CPlusPlus/GenericList.cpp
R lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/forward_list/TestDataFormatterGenericForwardList.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/TestDataFormatterGenericList.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/loop/TestDataFormatterGenericListLoop.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/loop/main.cpp
Log Message:
-----------
[LLDB] Add formatters for MSVC STL std::(forward_)list (#148285)
Adds synthetic providers for MSVC's `std::forward_list` and `std::list`.
It refactors `LibCxxList` to be generic over the STL type (currently
libc++ or MSVC STL). The libstdc++ synthetic providers use something
similar in Python
[here](https://github.com/llvm/llvm-project/blob/3092b765ba0b2d20bd716944dda86ea8e4ad12e3/lldb/examples/synthetic/gnu_libstdcpp.py#L134).
Eventually, this could be ported to C++ as well.
Towards #24834.
Commit: 9ea27b841cdf3c702b5e0bc696eb404492dbc79f
https://github.com/llvm/llvm-project/commit/9ea27b841cdf3c702b5e0bc696eb404492dbc79f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
Log Message:
-----------
[gn build] Port 88a498c3b110
Commit: 5328c732a47705363cd289cb281cbd0d3ccbb8fc
https://github.com/llvm/llvm-project/commit/5328c732a47705363cd289cb281cbd0d3ccbb8fc
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
Log Message:
-----------
[DebugInfo] Strip more debug-intrinsic code from local utils (#149037)
SROA and a few other facilities use generic-lambdas and some overloaded
functions to deal with both intrinsics and debug-records at the same time.
As part of stripping out intrinsic support, delete a swathe of this code
from things in the Utils directory.
This is a large diff, but is mostly about removing functions that were
duplicated during the migration to debug records. I've taken a few
opportunities to replace comments about "intrinsics" with "records",
and replace generic lambdas with plain lambdas (I believe this makes
it more readable).
All of this is chipping away at intrinsic-specific code until we get to
removing parts of findDbgUsers, which is the final boss -- we can't
remove that until almost everything else is gone.
Commit: 85349b49364d240a2e82981a7d7e0d01b13b1284
https://github.com/llvm/llvm-project/commit/85349b49364d240a2e82981a7d7e0d01b13b1284
Author: zGoldthorpe <zgoldtho at ualberta.ca>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-error.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Log Message:
-----------
[clang][amdgpu] Add builtin for struct buffer lds load (#148950)
This is essentially just a revision of #137678 which only exposes a
builtin for the intrinsic `llvm.amdgcn.struct.ptr.buffer.load.lds`,
which expects an `__amdgpu_buffer_rsrc_t` rather than a `v4i32` as its
first argument.
The reason for excluding the other intrinsics exposed by the cited PR is
because the intrinsics taking a `v4i32` are legacy and should be
deprecated.
Commit: 1600450f9098e5c9cb26840bd53f1be8a2559b7d
https://github.com/llvm/llvm-project/commit/1600450f9098e5c9cb26840bd53f1be8a2559b7d
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang-c/Index.h
M clang/tools/libclang/CMakeLists.txt
A clang/tools/libclang/Obsolete.cpp
M llvm/utils/gn/secondary/clang/tools/libclang/BUILD.gn
Log Message:
-----------
[Clang] Reintroduce obsolete libclang symbols to avoid an ABI break (#149079)
For more context, see
https://github.com/llvm/llvm-project/pull/119269#issuecomment-3075444493,
but briefly, when removing ARCMigrate, I also removed some symbols in
libclang, which constitutes an ABI break that we don’t want, so this pr
reintroduces the removed symbols; the declarations are marked as
deprecated for future removal, and the implementations print an error
and do nothing, which is what we used to do when ARCMigrate was
disabled.
Commit: 76058c09071491fd097e85a0f5434b564dfad60b
https://github.com/llvm/llvm-project/commit/76058c09071491fd097e85a0f5434b564dfad60b
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
Log Message:
-----------
[clang] Move `ExceptionHandling` from `LangOptions` to `CodeGenOptions` (#148982)
This PR removes the command line parsing workaround introduced in
https://github.com/llvm/llvm-project/pull/146342 by moving
`LangOptions::ExceptionHandling` to `CodeGenOptions` that get parsed
even for IR input. Additionally, this improves layering, where the
codegen library now checks `CodeGenOptions` instead of `LangOptions` for
exception handling. (This got enabled by
https://github.com/llvm/llvm-project/pull/146422.)
Commit: a944e861f99f2bea9f2f5015deb52c1d82ac4f8a
https://github.com/llvm/llvm-project/commit/a944e861f99f2bea9f2f5015deb52c1d82ac4f8a
Author: Augie Fackler <augie at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] update for 3e4153c97b54d456cfaf6ae21391122582b0ab28
Commit: 752e31c27c0d2888e23db9db63dedc316dbaa1a4
https://github.com/llvm/llvm-project/commit/752e31c27c0d2888e23db9db63dedc316dbaa1a4
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/test/Sema/warn-lifetime-safety-dataflow.cpp
Log Message:
-----------
[LifetimeSafety] Make the dataflow analysis generic (#148222)
Refactored the lifetime safety analysis to use a generic dataflow framework with a policy-based design.
### Changes
- Introduced a generic `DataflowAnalysis` template class that can be specialized for different analyses
- Renamed `LifetimeLattice` to `LoanPropagationLattice` to better reflect its purpose
- Created a `LoanPropagationAnalysis` class that inherits from the generic framework
- Moved transfer functions from the standalone `Transferer` class into the analysis class
- Restructured the code to separate the dataflow engine from the specific analysis logic
- Updated debug output and test expectations to use the new class names
### Motivation
In order to add more analyses, e.g. [loan expiry](https://github.com/llvm/llvm-project/pull/148712) and origin liveness, the previous implementation would have separate, nearly identical dataflow runners for each analysis. This change creates a single, reusable component, which will make it much simpler to add subsequent analyses without repeating boilerplate code.
This is quite close to the existing dataflow framework!
Commit: 53355ab9328f5dbdaf77c8529b9eb95cce2166d2
https://github.com/llvm/llvm-project/commit/53355ab9328f5dbdaf77c8529b9eb95cce2166d2
Author: Stephen Long <63318318+steplong at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/test/tools/llvm-exegesis/AArch64/setReg_init_check.s
Log Message:
-----------
[llvm-exegesis] fix test when building LLVM for WoA. NFC (#148968)
If building with LLVM_DEFAULT_TARGET_TRIPLE=arm-none-linux-gnueabi on
WoA (Windows on ARM), this test fails, so force it to use aarch64 with
-mtriple.
Commit: f7fc36dca7e40c1b38c2481b65280b396cd8daf8
https://github.com/llvm/llvm-project/commit/f7fc36dca7e40c1b38c2481b65280b396cd8daf8
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/Analysis/LifetimeSafety.cpp
Log Message:
-----------
[LifetimeSafety] Support bidirectional dataflow analysis (#148967)
Generalize the dataflow analysis to support both forward and backward analyses.
Some program analyses would be expressed as backward dataflow problems (like liveness analysis). This change enables the framework to support both forward analyses (like the loan propagation analysis) and backward analyses with the same infrastructure.
Commit: 01ab4238a874450a74a52c5c40a008de8a0e9a83
https://github.com/llvm/llvm-project/commit/01ab4238a874450a74a52c5c40a008de8a0e9a83
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp
Log Message:
-----------
[JITLink][AArch32] Add explicit visibility macros to functions needed by unittests (#116557)
Avoid missing symbol errors when building JITLinkTests for windows
shared library builds with explicit symbol visibility macros are
enabled.
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and LLVM
plugins on window.
Commit: 10d4652144fb5dd93b1996c6805ba805574e2cd7
https://github.com/llvm/llvm-project/commit/10d4652144fb5dd93b1996c6805ba805574e2cd7
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Analysis/HashRecognize.cpp
M llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll
Log Message:
-----------
[HashRecognize] Track visited in ValueEvolution (#147812)
Require that all Instructions in the Loop are visited by ValueEvolution,
as any stray instructions would complicate life for the optimization.
Commit: 8ef1a0ec1fd5663a1d85f9cc84bf6d86eb46980d
https://github.com/llvm/llvm-project/commit/8ef1a0ec1fd5663a1d85f9cc84bf6d86eb46980d
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
Log Message:
-----------
[HashRecognize] Track visited in ValueEvolution (#147812)
Require that all Instructions in the Loop are visited by ValueEvolution,
as any stray instructions would complicate life for the optimization.
Commit: 584158f9aeac7df66ca08649b8c082883c66b360
https://github.com/llvm/llvm-project/commit/584158f9aeac7df66ca08649b8c082883c66b360
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Hoist check for SCEV-uncomputable dist (NFC) (#148841)
Hoist the check for SCEVCouldNotCompute distance into
getDependenceDistanceAndSize.
Commit: f995bc802d06448a41846652d5e9a9f30f80a688
https://github.com/llvm/llvm-project/commit/f995bc802d06448a41846652d5e9a9f30f80a688
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/examples/python/filter_disasm.py
M lldb/test/Shell/Commands/command-disassemble-riscv32-bytes.s
Log Message:
-----------
[lldb] Improve setting of program for filtering disassembly (#148823)
This changes the example command added in
https://github.com/llvm/llvm-project/pull/145793 so that the fdis
program does not have to be a single program name.
Doing so also means we can run the test on Windows where the program
needs to be "python.exe script_name".
I've changed "fdis set" to treat the rest of the command as the program.
Then store that as a list to be passed to subprocess. If we just use a
string, Python will think that "python.exe foo" is the name of an actual
program instead of a program and an argument to it.
This will still break if the paths have spaces in, but I'm trying to do
just enough to fix the test here without rewriting all the option
handling.
Commit: 616e4c43dd196450b11376971966d71e501c26b8
https://github.com/llvm/llvm-project/commit/616e4c43dd196450b11376971966d71e501c26b8
Author: Martin Erhart <martin.erhart at sifive.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/include/mlir-c/Pass.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/CAPI/IR/Pass.cpp
Log Message:
-----------
[mlir] Add Python bindings to enable default passmanager timing (#149087)
Commit: 7eb65f470c5e5c6e4b3320c8bbe0eaf7705d8c4e
https://github.com/llvm/llvm-project/commit/7eb65f470c5e5c6e4b3320c8bbe0eaf7705d8c4e
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[DebugInfo] Delete a now-unused function after 5328c732a4770
Commit: 7d0a81c508f6268a85e4ad59e4fb78cde0d2e5ba
https://github.com/llvm/llvm-project/commit/7d0a81c508f6268a85e4ad59e4fb78cde0d2e5ba
Author: Augie Fackler <augie at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] update mlir BUILD files for fc114e4d931ae25f74a15e42371dbead1387ad51
Commit: d9190f8141661bd6120dea61d28ae8940fd775d0
https://github.com/llvm/llvm-project/commit/d9190f8141661bd6120dea61d28ae8940fd775d0
Author: Augie Fackler <augie at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] run buildifier on mlir/BUILD.bazel
This reorders a couple of deps lists, but seems worth doing.
Commit: a13712ed88cf6fc37d3789d4c3b54ffdd1a05a1d
https://github.com/llvm/llvm-project/commit/a13712ed88cf6fc37d3789d4c3b54ffdd1a05a1d
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/unittests/Host/NativeProcessProtocolTest.cpp
Log Message:
-----------
[lldb] Fix a crash in lldb-server during RemoveSoftwareBreakpoint() (#148738)
# Lldb-server crash
We have seen stacks like the following in lldb-server core dumps:
```
[
"__GI___pthread_kill at pthread_kill.c:46",
"__GI_raise at raise.c:26",
"__GI_abort at abort.c:100",
"__assert_fail_base at assert.c:92",
"__GI___assert_fail at assert.c:101",
"lldb_private::NativeProcessProtocol::RemoveSoftwareBreakpoint(unsigned long) at /redacted/lldb-server:0"
]
```
# Hypothesis of root cause
In `NativeProcessProtocol::RemoveSoftwareBreakpoint()`
([code](https://github.com/llvm/llvm-project/blob/19b2dd9d798c124406b0124a1b8debb711675281/lldb/source/Host/common/NativeProcessProtocol.cpp#L359-L423)),
a `ref_count` is asserted and reduced. If it becomes zero, the code
first go through a series of memory reads and writes to remove the
breakpoint trap opcode and to restore the original process code, then,
if everything goes fine, removes the entry from the map
`m_software_breakpoints` at the end of the function.
However, if any of the validations for the above reads and writes goes
wrong, the code returns an error early, skipping the removal of the
entry. This leaves the entry behind with a `ref_count` of zero.
The next call to `NativeProcessProtocol::RemoveSoftwareBreakpoint()` for
the same breakpoint[*] would violate the assertion about `ref_count > 0`
([here](https://github.com/llvm/llvm-project/blob/19b2dd9d798c124406b0124a1b8debb711675281/lldb/source/Host/common/NativeProcessProtocol.cpp#L365)),
which would cause a crash.
[*] We haven't found a *regular* way to repro such a next call in lldb
or lldb-dap. This is because both of them remove the breakpoint from
their internal list when they get any response from the lldb-server (OK
or error). Asking the client to delete the breakpoint a second time
doesn't trigger the client to send the `$z` gdb packet to lldb-server.
We are able to trigger the crash by sending the `$z` packet directly,
see "Manual test" below.
# Fix
Lift the removal of the map entry to be immediately after the decrement
of `ref_count`, before the early returns. This ensures that the asserted
case will never happen. The validation errors can still happen, and
whether they happen or not, the breakpoint has been removed from the
perspective of the lldb-server (same as that of lldb and lldb-dap).
# Manual test & unit test
See PR.
Commit: b8b99d83a6d891001d4070e3cac9f029cc57059e
https://github.com/llvm/llvm-project/commit/b8b99d83a6d891001d4070e3cac9f029cc57059e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__hash_table
M libcxx/include/unordered_map
R libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
Log Message:
-----------
[libc++] Simplify __hash_table further (#148375)
Commit: a89e6f66722713addd3a7a60377ddbb38add4702
https://github.com/llvm/llvm-project/commit/a89e6f66722713addd3a7a60377ddbb38add4702
Author: Steve O'Brien <steve at obrien.cc>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.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/bit.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.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/limits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/locale.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/scoped_allocator.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/set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stdatomic.h.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/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.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/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/typeinfo.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
Minor formatting fix in 'generate_feature_test_macro_components' (#148889)
Fixes a small annoyance where generated files have a format which does
not agree with the one checked during `code-formatter` in CI.
For example `libcxx-generate-files` updates (among possibly others) the
`*.version.compile.pass.cpp` files. Previously these files contained an
extra newline which would fail the code format check. If you update that
file manually to remove just that extra trailing newline, then
`check-generated-output` will fail due to the file's contents differing
from what's expected.
Contains a number of changes: one actual change to the py script, and
lots of resulting whitespace changes.
My process for this was:
* Update `generate_feature_test_macro_components`: just remove an extra
newline which causes the code-format step to fail
* Run `$NINJA libcxx-generate-files` to rebuild all these
`.version.pass.cpp`'s
* Watch this PR's CI run to ensure things pass (i.e. this didn't break
things worse)
Commit: cfc20ea15eea5704a79dd4e8d0eaeef4cf053268
https://github.com/llvm/llvm-project/commit/cfc20ea15eea5704a79dd4e8d0eaeef4cf053268
Author: Doug Wyatt <doug at sonosphere.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/Sema/attr-nonblocking-sema.cpp
Log Message:
-----------
[Clang] FunctionEffects: Make a separate diagnostic group for redeclarations/overrides where effects are implicit. (#148690)
The current function effect diagnostics include these behaviors:
When you declare a function `nonblocking` (typically in a header) and
then omit the attribute on the implementation (or any other
redeclaration), Clang warns: attribute 'nonblocking' on function does
not match previous declaration.
But if a `nonblocking` function is a C++ virtual method, then overrides
are implicitly nonblocking; the attribute doesn't need to be explicitly
stated.
These behaviors are arguably inconsistent -- and also, both, more
pedantic than the rest of the function effect diagnostics.
This PR accomplishes two things:
- Separates the diagnostic on a redeclaration into a new group,
`-Wfunction-effect-redeclarations`, so it can be disabled independently.
- Adds a second diagnostic to this new group, for the case of an
override method missing the attribute. (This helps in a situation where
I'm trying to add `nonblocking` via a macro that does other things and I
want to know that the macro is missing on an override declaration.)
---------
Co-authored-by: Doug Wyatt <dwyatt at apple.com>
Co-authored-by: Sirraide <aeternalmail at gmail.com>
Commit: 372e99938f53bada5788a063e539ccc477ec3af9
https://github.com/llvm/llvm-project/commit/372e99938f53bada5788a063e539ccc477ec3af9
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
Remove unused variable (#149115)
Commit: 33396d71e9aef624670380e11348a11b8ff74246
https://github.com/llvm/llvm-project/commit/33396d71e9aef624670380e11348a11b8ff74246
Author: cmtice <cmtice at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[LLDB] Update release note about DIL as requested. (#149117)
A post-commit review on PR #147887 requested a minor update to the
formatting of the LLDB DIL implementation release note.
Commit: 2206c7d4afc28d78c23db48de29d600ce1e8791b
https://github.com/llvm/llvm-project/commit/2206c7d4afc28d78c23db48de29d600ce1e8791b
Author: jjasmine <jjasmine at igalia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/atan-intrinsic.ll
M llvm/test/Transforms/InstSimplify/ConstProp/sinh-cosh-intrinsics.ll
M llvm/test/Transforms/InstSimplify/fold-intrinsics.ll
M llvm/test/Transforms/InstSimplify/sincos.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[InstSimplify] Fold trig functions call of poison to poison (#148969)
Fold trig functions call of poison to poison.
This includes sin, cos, asin, acos, atan, atan2, sinh, cosh, sincos,
sincospi.
Test cases are fixed and also added to
llvm/test/Transforms/InstSimplify/fold-intrinsics.ll just like in
https://github.com/llvm/llvm-project/pull/146750
Commit: 9f2039755fc8a872d0a768581b5a09340a4f30be
https://github.com/llvm/llvm-project/commit/9f2039755fc8a872d0a768581b5a09340a4f30be
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[flang] Add missing symbol names to the error message (#148888)
Fixes #140485
Commit: dd3d26bc8973ed18a527d61a1d8e5961060f138a
https://github.com/llvm/llvm-project/commit/dd3d26bc8973ed18a527d61a1d8e5961060f138a
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Support/raw_socket_stream.cpp
Log Message:
-----------
Revert "[Support] Error if SocketPath is too long" (#149096)
Reverts llvm/llvm-project#148903 due to bot failure
https://lab.llvm.org/buildbot/#/builders/187/builds/8162
Commit: 1754a7d5733d5305e4ec25ef0945b39d6882bb28
https://github.com/llvm/llvm-project/commit/1754a7d5733d5305e4ec25ef0945b39d6882bb28
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Support/BLAKE3/blake3_neon.c
Log Message:
-----------
[Support][BLAKE3] Restore static on blake3_hash4_neon (#149046)
This was dropped in #147948 and causes symbol conflicts if libblake3 is
also linked.
Commit: 82404e3c69168b9fdb779174d3499f5f87f818d2
https://github.com/llvm/llvm-project/commit/82404e3c69168b9fdb779174d3499f5f87f818d2
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
A llvm/test/CodeGen/AArch64/cgdata-no-merge-unnamed.ll
Log Message:
-----------
[CGData][GMF] Skip merging unnamed functions (#148995)
Skip merging unnamed functions to fix an assertion issue, since unnamed
functions would otherwise receive the same merged name --
https://github.com/llvm/llvm-project/blob/main/llvm/lib/CodeGen/GlobalMergeFunctions.cpp#L191
Commit: 64c273a6191bd0036deed7847d39440d36bbc604
https://github.com/llvm/llvm-project/commit/64c273a6191bd0036deed7847d39440d36bbc604
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
Log Message:
-----------
[clang-doc] fix ASan complaints from passing RepositoryURL as reference (#148923)
Passing RepositoryURL around as an optional reference triggered
stack-use-after-return complaints.
Commit: 78b9128250c9fe5c7f9e460a27cc28c6450fd8fd
https://github.com/llvm/llvm-project/commit/78b9128250c9fe5c7f9e460a27cc28c6450fd8fd
Author: Trevor Gross <tmgross at umich.edu>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Document the difference between `<abi>` and `<pref>` (#147929)
Document how LLVM expects to use `<abi>` and `<pref>`, as well as the
`pref >= abi` requirement.
Commit: 6e0b0ec66ac8de046cc95080166e2012819f7d93
https://github.com/llvm/llvm-project/commit/6e0b0ec66ac8de046cc95080166e2012819f7d93
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Semantics/tools.cpp
A flang/test/Semantics/bug148559.f90
Log Message:
-----------
[flang] Fix crash in Semantics (#148706)
Allow for renaming in USE association of Cray pointers.
Fixes https://github.com/llvm/llvm-project/issues/148559.
Commit: fc7f9d795d37cd119831e77e475e4690e4120bdb
https://github.com/llvm/llvm-project/commit/fc7f9d795d37cd119831e77e475e4690e4120bdb
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/bug148675.f90
Log Message:
-----------
[flang] Better error message for ambiguous ASSIGNMENT(=) (#148720)
When a type-bound generic ASSIGNMENT(=) procedure is ambiguous for a
particular reference, say so, rather than claiming that no specific
procedure matched the types and ranks of the LHS and RHS.
Fixes https://github.com/llvm/llvm-project/issues/148675.
Commit: 52a46dc57f29e87a5a298ce325562fa2e3d057c9
https://github.com/llvm/llvm-project/commit/52a46dc57f29e87a5a298ce325562fa2e3d057c9
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/non-tbp-dio.h
M flang-rt/include/flang-rt/runtime/type-info.h
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/non-tbp-dio.cpp
M flang-rt/lib/runtime/type-info.cpp
M flang/include/flang/Semantics/runtime-type-info.h
M flang/lib/Lower/IO.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/module/__fortran_type_info.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/namelist.f90
M flang/test/Lower/volatile-openmp.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo02.f90
M flang/test/Semantics/typeinfo09.f90
M flang/test/Semantics/typeinfo13.f90
Log Message:
-----------
[flang] Allow -fdefault-integer-8 with defined I/O (#148927)
Defined I/O subroutines have UNIT= and IOSTAT= dummy arguments that are
required to have type INTEGER with its default kind. When that default
kind is modified via -fdefault-integer-8, calls to defined I/O
subroutines from the runtime don't work.
Add a flag to the two data structures shared between the compiler and
the runtime support library to indicate that a defined I/O subroutine
was compiled under -fdefault-integer-8. This has been done in a
compatible manner, so that existing binaries are compatible with the new
library and new binaries are compatible with the old library, unless of
course -fdefault-integer-8 is used.
Fixes https://github.com/llvm/llvm-project/issues/148638.
Commit: bbcdad1f8eab303a9d56c76a0bced7b17c6d2656
https://github.com/llvm/llvm-project/commit/bbcdad1f8eab303a9d56c76a0bced7b17c6d2656
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Runtime/extensions.h
Log Message:
-----------
[flang][runtime] MCLOCK library routine (#148960)
Add MCLOCK as an interface to std::clock().
Commit: 3de11b70620d911613a48d493048cb48bb76ec19
https://github.com/llvm/llvm-project/commit/3de11b70620d911613a48d493048cb48bb76ec19
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
A flang/test/Semantics/bind-c18.f90
Log Message:
-----------
[flang] Catch bad members of BIND(C) COMMON block (#148971)
Variables that can't be BIND(C), like pointers, can't be in a BIND(C)
common block, either.
Fixes https://github.com/llvm/llvm-project/issues/148922.
Commit: 4f8597f071bab5113a945bd653bec84bd820d4a3
https://github.com/llvm/llvm-project/commit/4f8597f071bab5113a945bd653bec84bd820d4a3
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll
Log Message:
-----------
[LoopInterchange] Add test for floating point math flags (#149090)
Adding a test where both `ninf` and `reassoc` flags are present on the
instruction. We don't know yet if it is legal to interchange. Prima
facie, it does not look like it should be legal but more analysis is
needed.
Commit: e8dc96d9de14c4b2317b11b8bc6e9310113697b3
https://github.com/llvm/llvm-project/commit/e8dc96d9de14c4b2317b11b8bc6e9310113697b3
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/docs/use/mcp.md
Log Message:
-----------
[lldb] Document MCP tools & resources (#148708)
Add documentation for the tools and resources exposed by LLDB's MCP
server.
Commit: b470ac419d7e8eec6c8a27539096e38a1751ee12
https://github.com/llvm/llvm-project/commit/b470ac419d7e8eec6c8a27539096e38a1751ee12
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[DebugInfo] Delete debug-intrinsic verifier checks (#149066)
We no longer produce debug-intrinsics, and whenever they're spotted in
bitcode or textual IR they get autoupgraded. We could quite reasonably
reject them out of hand as a construct that shouldn't be present.
However, the DXIL folks are likely to be converting records back to
intrinsics for years to come, and there's no need to make that an error.
There's no value in verifying them IMO.
Commit: 6f660e269242d51a8d36a9a1f98a2244e8311a1a
https://github.com/llvm/llvm-project/commit/6f660e269242d51a8d36a9a1f98a2244e8311a1a
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M third-party/benchmark/src/sysinfo.cc
Log Message:
-----------
Fix MSVC warning in benchmark (#147357)
Building LLVM with MSVC is raising the following warning:
```
llvm\third-party\benchmark\src\sysinfo.cc(375): warning C4062: enumerator 'CacheUnknown' in switch of enum '_PROCESSOR_CACHE_TYPE' is not handled
```
This change resolves the warning by moving the `Unknown` type into a
case block for `CacheUnknown`.
Not sure how this code flows back into the original source.
Commit: 8519143a9fd368e7cfcf61582683c4e48e7d67d0
https://github.com/llvm/llvm-project/commit/8519143a9fd368e7cfcf61582683c4e48e7d67d0
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/builtin_bit.cpp
Log Message:
-----------
[CIR] Add rotate operation (#148426)
This patch adds `cir.rotate` operation for the `__builtin_rotateleft`
and `__builtin_rotateright` families of builtin calls.
Commit: 97922a7d401a4bbbc74013d92f98119e5bdfaebd
https://github.com/llvm/llvm-project/commit/97922a7d401a4bbbc74013d92f98119e5bdfaebd
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/docs/resources/build.rst
Log Message:
-----------
[lldb][docs] Add CAMKE_BUILD_TYPE to standlone build instructions
The first stage requires it, the second appears to default to
debug mode, which works but it's better we advise release mode
to match.
Commit: 9f364fe9c446d498f46efff327871dc62db8212f
https://github.com/llvm/llvm-project/commit/9f364fe9c446d498f46efff327871dc62db8212f
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/docs/resources/qemu-testing.rst
Log Message:
-----------
[lldb][docs] Add section on testing with QEMU user (#149057)
This is not recommended to basically anyone but on occasion it's useful
and could be used for testing with other simulator programs for example
bare metal simulators.
It is not something we do officially support or make any quality
guarantees for.
Adding this is also an excuse to document the limitations and make the
time spent setting up system mode look more worthwhile and might be good
to cite in future discussions about testing in simulation.
Commit: bd6c16c6cfe28105d992fa997dce6e18ea86a5a4
https://github.com/llvm/llvm-project/commit/bd6c16c6cfe28105d992fa997dce6e18ea86a5a4
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/machine-outliner-safe-range-in-middle.mir
Log Message:
-----------
[MachineOutliner] Avoid ranges that cross bundle boundary (#148977)
We found some code that was hitting this assert because
`getOutlinableRanges()` was trying to create a range that crossed a
bundle boundary.
https://github.com/llvm/llvm-project/blob/ae3bba4d15a10646ea91c6c0795633b82939857b/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h#L133-L135
Avoid creating those ranges and add a test that hit the assert.
Commit: 8349bbd0b98c84836d55593c7eb035c2b0f4e87a
https://github.com/llvm/llvm-project/commit/8349bbd0b98c84836d55593c7eb035c2b0f4e87a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
Log Message:
-----------
[flang][cuda] Exit early when there is no device components (#149005)
- Exit early when there is no device components
- Make the retrieval of the record type more robust
Commit: 0f0305021c6e880f8787b9be6606c27e1a0641ed
https://github.com/llvm/llvm-project/commit/0f0305021c6e880f8787b9be6606c27e1a0641ed
Author: Udit Kumar Agarwal <udit.agarwal at intel.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M .github/workflows/email-check.yaml
Log Message:
-----------
[CI] Make email check workflow fail when author's email is private in Github UI (#148694)
**Problem**
Currently, the email check workflow uses `git` to see email used for the
last commit but the email address used when merging is actually governed
by GitHub settings not what's stored in `git`. Due to this, the email
check workflow passes even when the author's email is private in Github.
We saw several such cases in our fork of llvm. See
https://github.com/intel/llvm/issues/17675
**Solution**
Try to find user's email using GH's GraphQL APIs. User's email will be
null if it's hidden in the profile.
---------
Signed-off-by: Agarwal, Udit <udit.agarwal at intel.com>
Commit: 8d21025c3aeb1c98caef08f8446ec138c62288d1
https://github.com/llvm/llvm-project/commit/8d21025c3aeb1c98caef08f8446ec138c62288d1
Author: Brad Richardson <everythingfunctional at protonmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
A flang/docs/ParallelMultiImageFortranRuntime.md
M flang/docs/index.md
Log Message:
-----------
[flang] Parallel runtime library design doc (PRIF) (#76088)
The Parallel Runtime Interface for Fortran (PRIF) specifies the interface design for
supporting Fortran's multi-image parallel features in flang.
---------
Co-authored-by: Katherine Rasmussen <krasmussen at lbl.gov>
Co-authored-by: Damian Rouson <rouson at lbl.gov>
Co-authored-by: Dan Bonachea <dobonachea at lbl.gov>
Commit: fdec9fd4f81fd336d6d5d50bbd48cd0e095f46b9
https://github.com/llvm/llvm-project/commit/fdec9fd4f81fd336d6d5d50bbd48cd0e095f46b9
Author: duhbbx <duhbbx at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/CXX/drs/cwg8xx.cpp
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.interface/p1.cppm
M clang/test/CXX/module/module.interface/p1.cpp
M clang/test/Modules/cxx20-10-2-ex1.cpp
M clang/test/Modules/cxx20-export-import.cpp
M clang/test/Modules/cxx20-import-diagnostics-a.cpp
M clang/test/Modules/export-in-non-modules.cpp
Log Message:
-----------
[Clang] Fix export declaration diagnostic message (#149059)
Change the error message from "export declaration can only be used
within a module purview" to "export declaration can only be used within
a module interface" to be technically accurate.
The previous message was misleading because export declarations are
actually within a module purview when used in module implementation
units, but they are only allowed in module interface units.
This addresses the issue pointed out in GitHub issue #149008 where
Bigcheese noted that the diagnostic wording was incorrect.
Fixes #149008
Commit: bd0f9dd86b16660debca39ce76abdd9da1c157a3
https://github.com/llvm/llvm-project/commit/bd0f9dd86b16660debca39ce76abdd9da1c157a3
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
A clang/test/CIR/CodeGen/complex-unary.cpp
Log Message:
-----------
[CIR] Upstream unary not for ComplexType (#148857)
Upstream unary not for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: 55b417a75fb4cbd13066510cba13d1c214095eab
https://github.com/llvm/llvm-project/commit/55b417a75fb4cbd13066510cba13d1c214095eab
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
M offload/unittests/OffloadAPI/symbol/olGetSymbol.cpp
Log Message:
-----------
[Offload] Cache symbols in program (#148209)
When creating a new symbol, check that it already exists. If it does,
return that pointer rather than building a new symbol structure.
Commit: 037d34815efc6b2c0b3f9f4d19945e49aac831d1
https://github.com/llvm/llvm-project/commit/037d34815efc6b2c0b3f9f4d19945e49aac831d1
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libc/fuzzing/math/acos_fuzz.cpp
M libc/fuzzing/math/asin_fuzz.cpp
M libc/fuzzing/math/cos_fuzz.cpp
M libc/fuzzing/math/log10_fuzz.cpp
M libc/fuzzing/math/log1p_fuzz.cpp
M libc/fuzzing/math/log2_fuzz.cpp
M libc/fuzzing/math/log_fuzz.cpp
M libc/fuzzing/math/sin_fuzz.cpp
M libc/fuzzing/math/sincos_fuzz.cpp
M libc/fuzzing/math/sqrt_fuzz.cpp
M libc/fuzzing/math/tan_fuzz.cpp
Log Message:
-----------
[libc] Updated fuzz tests for trig functions (#148891)
Fuzz tests were set up incorrectly so updated trig functions to match
the correct format.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: ba271cc07334c74df55741701e5b22032c0cddbb
https://github.com/llvm/llvm-project/commit/ba271cc07334c74df55741701e5b22032c0cddbb
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-bswap.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fshr.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/MC/AMDGPU/gfx10_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx7_err_pos.s
M llvm/test/MC/AMDGPU/gfx8_err_pos.s
M llvm/test/MC/AMDGPU/gfx9_asm_vop3_e64.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
Log Message:
-----------
Revert "[AMDGPU][MC] Allow op_sel in v_alignbit_b32 etc in GFX9 and GFX10 (#142188) (#149138)
This reverts commit ce7851f6b7d59e50f92cb4e8dbfd801576c8b641.
The intrinsic llvm.amdgcn.alignbyte was not properly handled for gfx10.
Commit: 560e7df6893495fabe91bc921f9cc0e28a25eb73
https://github.com/llvm/llvm-project/commit/560e7df6893495fabe91bc921f9cc0e28a25eb73
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.bf16.ll
A llvm/test/CodeGen/AMDGPU/trans-coexecution-hazard.mir
Log Message:
-----------
AMDGPU: Handle the co-execution hazards for TRANS for gfx1250 (#149024)
For the co-execution of the TRANS ops, the requirement is: 1 independent
op or V_NOP (since TRANS takes 2 cycles) after the trans op before its
sources can be overwritten or the output of the trans op can be used.
Commit: 22994edb5fd71198c48670255c979fcc962930a1
https://github.com/llvm/llvm-project/commit/22994edb5fd71198c48670255c979fcc962930a1
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACC.cpp
A clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
Log Message:
-----------
[OpenACC][Sema] Implement warning for non-effective 'private' (#149004)
A 'private' variable reference needs to have a default constructor and a
destructor, else we cannot properly emit them in codegen. This patch
adds a warning-as-default-error to diagnose this.
We'll have to do something similar for firstprivate/reduction, however
it isn't clear whether we could skip the check for default-constructor
for those two (they still need a destructor!). Depending on how we
intend to create them (and we probably have to figure this out?), we
could either require JUST a copy-constructor (then make the init section
just the alloca, and the copy-ctor be the 'copy' section), OR they
require a default-constructor + copy-assignment.
Commit: 056f0a10b320fc2fd75f46aa67d68708303d89ad
https://github.com/llvm/llvm-project/commit/056f0a10b320fc2fd75f46aa67d68708303d89ad
Author: raoanag <127366241+raoanag at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsSPIRVVK.td
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaSPIRV.cpp
A clang/test/CodeGenHLSL/builtins/refract.hlsl
A clang/test/CodeGenSPIRV/Builtins/refract.c
A clang/test/SemaHLSL/BuiltIns/refract-errors.hlsl
A clang/test/SemaSPIRV/BuiltIns/refract-errors.c
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/refract.ll
A llvm/test/CodeGen/SPIRV/opencl/refract-error.ll
Log Message:
-----------
[HLSL][DXIL] Implement `refract` intrinsic (#147342)
- [x] Implement refract using HLSL source in hlsl_intrinsics.h
- [x] Implement the refract SPIR-V target built-in in
clang/include/clang/Basic/BuiltinsSPIRV.td
- [x] Add sema checks for refract to CheckSPIRVBuiltinFunctionCall in
clang/lib/Sema/SemaSPIRV.cpp
- [x] Add codegen for spv refract to EmitSPIRVBuiltinExpr in
CGBuiltin.cpp
- [x] Add codegen tests to clang/test/CodeGenHLSL/builtins/refract.hlsl
- [x] Add spv codegen test to clang/test/CodeGenSPIRV/Builtins/refract.c
- [x] Add sema tests to clang/test/SemaHLSL/BuiltIns/refract-errors.hlsl
- [x] Add spv sema tests to
clang/test/SemaSPIRV/BuiltIns/refract-errors.c
- [x] Create the int_spv_refract intrinsic in IntrinsicsSPIRV.td
- [x] In SPIRVInstructionSelector.cpp create the refract lowering and
map it to int_spv_refract in SPIRVInstructionSelector::selectIntrinsic.
- [x] Create SPIR-V backend test case in
llvm/test/CodeGen/SPIRV/hlsl-intrinsics/refract.ll
- [x] Check for what OpenCL support is needed.
Resolves https://github.com/llvm/llvm-project/issues/99153
Commit: 82451d0b1341a9b6c01eaa5d27088ff9f3287853
https://github.com/llvm/llvm-project/commit/82451d0b1341a9b6c01eaa5d27088ff9f3287853
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libc/fuzzing/math/exp10_fuzz.cpp
M libc/fuzzing/math/exp2_fuzz.cpp
M libc/fuzzing/math/exp_fuzz.cpp
M libc/fuzzing/math/expm1_fuzz.cpp
Log Message:
-----------
[libc] Updated exp fuzz tests (#148912)
Fuzz tests were previously in the wrong format, updated them to correct
format.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: c4d4e761ef27d6dd27323cf3efa506db5e9e3457
https://github.com/llvm/llvm-project/commit/c4d4e761ef27d6dd27323cf3efa506db5e9e3457
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/atomic.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/floating-point.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/integer.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-arithmetic.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-bitwise.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-comparison.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-conversion.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fma.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fp.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mask.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-minmax.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mul-div.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-permutation.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-reduction.s
Log Message:
-----------
[RISCV] Pre-commit RVV instructions to the x60 scheduling model and tests
Commit: bcee18a2e268dd106e4b3c2a1d083a4da21f4f23
https://github.com/llvm/llvm-project/commit/bcee18a2e268dd106e4b3c2a1d083a4da21f4f23
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang] Handle SEQUENCE derived types for array repacking. (#148777)
It is possible that a non-polymorphic dummy argument
has a dynamic type that does not match its static type
in a valid Fortran program, e.g. when the actual and
the dummy arguments have different compatible derived
SEQUENCE types:
module mod
type t
sequence
integer x
end type
contains
subroutine test(x)
type t
sequence
integer x
end type
type(t) :: x(:)
end subroutine
end module
'test' may be called with an actual argument of type 'mod::t',
which is the dynamic type of 'x' on entry to 'test'.
If we create the repacking temporary based on the static type of 'x'
('test::t'), then the runtime will report the types mismatch
as an error. Thus, we have to create the temporary using
the dynamic type of 'x'. The fact that the dummy's type
has SEQUENCE or BIND attribute is not easily computable
at this stage, so we use the dynamic type for all derived
type cases. As long as this is done only when the repacking
actually happens, the overhead should not be noticeable.
Commit: fb3972dd06cbc1b0a5305f81b0c2d74e44dbea41
https://github.com/llvm/llvm-project/commit/fb3972dd06cbc1b0a5305f81b0c2d74e44dbea41
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/CMakeLists.txt
A lld/MachO/LinkerOptimizationHints.cpp
A lld/MachO/LinkerOptimizationHints.h
M lld/MachO/Target.h
M lld/MachO/Writer.cpp
M llvm/utils/gn/secondary/lld/MachO/BUILD.gn
Log Message:
-----------
[lld-macho] Move Linker Optimization Hints pass to a separate file
Moving it away from the arm64 `TargetInfo` class will let us enable it
more easily for arm64_32 and the soon-to-be-added arm64e target as well.
This is the NFC part of #148964
Commit: c372a2cd0a1e4502f35bf8ebfc0a5d682223249e
https://github.com/llvm/llvm-project/commit/c372a2cd0a1e4502f35bf8ebfc0a5d682223249e
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M third-party/benchmark/src/sysinfo.cc
Log Message:
-----------
Use default instead of a specific case to fix the MSVC warning in sysinfo.cc (#149159)
#147357 attempted to fix an MSVC in sysinfo.cc by adding a `case` block
for a missing enum value.
However, this resulted in [CI
failures](https://github.com/llvm/llvm-project/pull/147357#issuecomment-3079709852):
```
4.170 [148/4/9] Building CXX object third-party/benchmark/src/CMakeFiles/benchmark.dir/sysinfo.cc.obj
FAILED: third-party/benchmark/src/CMakeFiles/benchmark.dir/sysinfo.cc.obj
C:\Users\tcwg\scoop\shims\ccache.exe C:\Users\tcwg\scoop\apps\llvm-arm64\current\bin\clang-cl.exe /nologo -TP -DBENCHMARK_STATIC_DEFINE -DEXPERIMENTAL_KEY_INSTRUCTIONS -DHAVE_STD_REGEX -DHAVE_STEADY_CLOCK -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/build/third-party/benchmark/src -IC:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/llvm-project/third-party/benchmark/src -IC:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/build/include -IC:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/llvm-project/llvm/include -IC:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/llvm-project/third-party/benchmark/include /DWIN32 /D_WINDOWS /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /W4 -EHs- -EHa- /O2 /Ob2 -std:c++14 -MD -UNDEBUG /showIncludes /Fothird-party/benchmark/src/CMakeFiles/benchmark.dir/sysinfo.cc.obj /Fdthird-party\benchmark\src\CMakeFiles\benchmark.dir\benchmark.pdb -c -- C:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/llvm-project/third-party/benchmark/src/sysinfo.cc
C:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/llvm-project/third-party/benchmark/src/sysinfo.cc(374,12): error: use of undeclared identifier 'CacheUnknown'
374 | case CacheUnknown:
| ^
1 error generated.
```
The root cause is that the enum being switched on is defined in the
Windows SDK, so depending on which version of the SDK you are using
`CacheUnknown` may or may not be defined.
The correct fix here is to use a `default` block in the switch statement
instead.
Commit: b3c72a97c5ac352b89c12f3cf7c3f223219f91ed
https://github.com/llvm/llvm-project/commit/b3c72a97c5ac352b89c12f3cf7c3f223219f91ed
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/include/flang/Parser/message.h
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Parser/message.cpp
M flang/lib/Semantics/semantics.cpp
A flang/test/Driver/fatal-errors-warnings.f90
Log Message:
-----------
[flang][driver] -Werror promotes warnings to error and interopts with -Wfatal-errors (#148748)
This PR changes how `-Werror` promotes warnings to errors so that it
interoperates with `-Wfatal-error`. It maintains the property that
warnings and other messages promoted to errors are displayed as there
original message.
Commit: 362594a10fa5fd8e5f8d31eb5391370c928b639e
https://github.com/llvm/llvm-project/commit/362594a10fa5fd8e5f8d31eb5391370c928b639e
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Remove unnecessary sortAndUniqueRegisters (#149125)
Each of the SRSets is already sorted and unique because it is a filtered
version of RC->getMembers() which is already sorted and unique.
Commit: 43f10639a18b2b8fb0976f3bde84a9d240647915
https://github.com/llvm/llvm-project/commit/43f10639a18b2b8fb0976f3bde84a9d240647915
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lld/MachO/LinkerOptimizationHints.cpp
M lld/MachO/Writer.cpp
A lld/test/MachO/loh-arm64-32.s
Log Message:
-----------
[lld-macho] Enable Linker Optimization Hints pass for arm64_32 (#148964)
The backend emits `.loh` directives for arm64_32 as well. Our pass
already handles 32-bit pointer loads correctly (there was an extraneous
sanity check for 8-byte pointer sizes, I removed that here), so we can
enable them for all arm64 subtargets, including our upcoming arm64e
support.
Commit: 4355356d96de1e171f7511a6c41d056871dacc68
https://github.com/llvm/llvm-project/commit/4355356d96de1e171f7511a6c41d056871dacc68
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[TableGen] Add a bitvector of members of CodeGenRegisterClass (#149122)
This makes CodeGenRegisterClass::contains fast. Use this to simplify
inferMatchingSuperRegClass.
Commit: 3a6ef8b359fc3f2459ef60013b8938ebe847831b
https://github.com/llvm/llvm-project/commit/3a6ef8b359fc3f2459ef60013b8938ebe847831b
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/exp10.h
M libc/src/__support/FPUtil/PolyEval.h
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp10.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp10.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor exp10 implementation to header-only in src/__support/math folder. (#148400)
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: 94382c8e56e878d1b6a8cf317e3632df5352e23e
https://github.com/llvm/llvm-project/commit/94382c8e56e878d1b6a8cf317e3632df5352e23e
Author: Leonard Chan <leonardchan at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/StackProtector.cpp
A llvm/test/Transforms/StackProtector/cross-dso-cfi-stack-chk-fail.ll
A llvm/test/Transforms/StackProtector/stack-chk-fail-alias.ll
Log Message:
-----------
[llvm][StackProtector] Add noreturn to __stack_chk_fail call (#143976)
This is a reland for 99e53cb4139eda491f97cb33ee42ea424d352200 with the
appropriate test fixes.
It's possible for __stack_chk_fail to be an alias when using CrossDSOCFI
since it will make a jump table entry for this function and replace it
with an alias. StackProtector can crash since it always expects this to
be a regular function. Instead add the noreturn attribute to the call.
Commit: ececa877083fcbe19aa0394b280630b9d807cd6d
https://github.com/llvm/llvm-project/commit/ececa877083fcbe19aa0394b280630b9d807cd6d
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOPT] Add support for vrgather (#148249)
This PR adds support for the vrgather.vi, vrgather.vx, vrgather.vv,
vrgatherei16.vv instructions in the RISC-V VLOptimizer.
To support vrgatherei16.vv I also needed to add support for it in
getOperandLog2EEW.
Commit: 6824bcfdb4c8315a990f4b5ce2cb9f528281a823
https://github.com/llvm/llvm-project/commit/6824bcfdb4c8315a990f4b5ce2cb9f528281a823
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-deinterleave4.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
Log Message:
-----------
[IA] Relax the requirement of having ExtractValue users on deinterleave intrinsic (#148716)
There are cases where InstCombine / InstSimplify might sink extractvalue
instructions that use a deinterleave intrinsic into successor blocks,
which prevents InterleavedAccess from kicking in because the current
pattern requires deinterleave intrinsic to be used by extractvalue.
However, this requirement is bit too strict while we could have just
replaced the users of deinterleave intrinsic with whatever generated by
the target TLI hooks.
Commit: 8c28f4920dfda2e3d91c58e8eb5b568dd396fa2d
https://github.com/llvm/llvm-project/commit/8c28f4920dfda2e3d91c58e8eb5b568dd396fa2d
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
A lldb/test/Shell/Settings/TestChildCountTruncation.test
Log Message:
-----------
[lldb] Print children-count warning for dwim-print and expr (#149088)
When dumping variables, LLDB will print a one-time warning about
truncating children (when the children count exceeds the default
`target.max-children-count`). But we only do this for `frame variable`.
So if we use `dwim-print` or `expression`, the output gets truncated but
we don't print a warning. But because we store the fact that we
truncated some output on the `CommandInterpreter`, we fire the warning
next time we use `frame variable`. E.g.,:
```
(lldb) p arr
(int[1000]) {
[0] = -5
[1] = 0
[2] = 0
<-- snipped -->
[253] = 0
[254] = 0
[255] = 0
...
}
(lldb) v someLocal
(int) someLocal = 10
*** Some of the displayed variables have more members than the debugger
will show by default. To show all of them, you can either use the
--show-all-children option to frame variable or raise the limit by
changing the target.max-children-count setting.
```
This patch prints the warning for `dwim-print` and `expression`.
I only added a test for the `target.max-children-count` for now because
it seems the `target.max-children-depth` warning is broken (I can't get
it to fire).
Commit: b9f5b39e04d22e9a6ad451bdc0779bed31015372
https://github.com/llvm/llvm-project/commit/b9f5b39e04d22e9a6ad451bdc0779bed31015372
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
Log Message:
-----------
[TableGen] Remove explicit recursion in LexToken (#143697)
When profiling a Release+Asserts build of llvm-tblgen I noticed that it
was recursing hundreds of times to lex a sequence of hundreds of space
characters.
Commit: 7caa0c9a55b33d8d627975e94c3367aa68dc37c7
https://github.com/llvm/llvm-project/commit/7caa0c9a55b33d8d627975e94c3367aa68dc37c7
Author: Udit Kumar Agarwal <udit.agarwal at intel.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M .github/workflows/email-check.yaml
Log Message:
-----------
Revert "[CI] Make email check workflow fail when author's email is private in Github UI" (#149186)
Reverts llvm/llvm-project#148694
The workflow is failing if user's email is not listed publicly on your
GH profile. This is different from not having your email public on
Github (in Github email settings page vs. email field in Github
profile/email settings).
Commit: 1e4e2b332dc08e01498c677a6a375fcbc9d5e9f0
https://github.com/llvm/llvm-project/commit/1e4e2b332dc08e01498c677a6a375fcbc9d5e9f0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/test/Fir/CUDA/cuda-device-global.f90
Log Message:
-----------
[flang][cuda] Import type descriptor in the gpu module when needed (#149157)
Commit: b7f6abdd052412bebfedc9cac26fc58b9edb618d
https://github.com/llvm/llvm-project/commit/b7f6abdd052412bebfedc9cac26fc58b9edb618d
Author: Daniil Fukalov <dfukalov at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-fp.ll
A llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-int.ll
Log Message:
-----------
[AMDGPU] Try to reuse register with the constant from compare in v_cndmask (#148740)
For some targets, the optimization X == Const ? X : Y -> X == Const ?
Const : Y can cause extra register usage or redundant immediate encoding
for the constant in cndmask generated from the ternary operation.
This patch detects such cases and reuses the register from the compare
instruction that already holds the constant, instead of materializing it
again for cndmask.
The optimization avoids immediates that can be encoded into cndmask
instruction (including +-0.0), as well as !isNormal() constants.
The change is reworked on the base of #131146
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: cb6d1bbfcd01866ef7a3027968e6480ef1c2c992
https://github.com/llvm/llvm-project/commit/cb6d1bbfcd01866ef7a3027968e6480ef1c2c992
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/test/CodeGen/PowerPC/builtins-ppc-fpconstrained.c
A llvm/test/CodeGen/PowerPC/spe-vsx-incompatibility.ll
Log Message:
-----------
[PowerPC] Test SPE incompatibility with VSX (#147184)
PPCSubtarget is not always initialized, depending on which passes are
running, and in our downstream fork, -enable-matrix is the default
configuration (regardless of whether matrix intrinsics are present in
the IR), which triggers a fatal error in builtins-ppc-fpconstrained.c.
Commit: 9912ccb0b4d17a4dd4ef8df718b63e3a907ad7c5
https://github.com/llvm/llvm-project/commit/9912ccb0b4d17a4dd4ef8df718b63e3a907ad7c5
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
Log Message:
-----------
[AMDGPU] gfx1250 MC support for FLAT GVS addressing (#149173)
Commit: 703501e66198c6d4be48773b617c784370e23d4a
https://github.com/llvm/llvm-project/commit/703501e66198c6d4be48773b617c784370e23d4a
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
Log Message:
-----------
[AMDGPU] Select flat GVS loads on gfx1250 (#149183)
Commit: 038e80cfd37e948d78c70d5a258ffe424a438d51
https://github.com/llvm/llvm-project/commit/038e80cfd37e948d78c70d5a258ffe424a438d51
Author: Ryan Prichard <rprichard at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_bounded_array.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.compile.pass.cpp
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/docker-compose.yml
Log Message:
-----------
[libc++][Android] Update compiler and sysroot (#148998)
* Upgrade from r536225 to r563880.
* Upgrade from ab/12644632 to f8b85cc5262c6e5cbc9a92c1bab2b18b32a4c63f,
the current HEAD commit of
https://android.googlesource.com/platform/prebuilts/ndk/+/refs/heads/mirror-goog-main-ndk
The previous source of sysroots (ci.android.com), deleted its artifacts
after a short period of time, and is currently out-of-date because of
the aosp-main turndown.
Updating the Docker image also fixes two tests.
Commit: 7d2a58e87d7ab5d076adf51705b1b2253cea34bb
https://github.com/llvm/llvm-project/commit/7d2a58e87d7ab5d076adf51705b1b2253cea34bb
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rsq.bf16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_rsq_bf16` on gfx1250 (#149194)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: ad6d5d28215adb3def221517b1490b8df3fd1190
https://github.com/llvm/llvm-project/commit/ad6d5d28215adb3def221517b1490b8df3fd1190
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/bf16-math.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.log.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.log2.bf16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_log_bf16` on gfx1250 (#149201)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: 0110168f6aa5c8a8d02ffd9e62c7929ce6d24d26
https://github.com/llvm/llvm-project/commit/0110168f6aa5c8a8d02ffd9e62c7929ce6d24d26
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
A llvm/test/CodeGen/X86/win32-int-runtime-libcalls.ll
Log Message:
-----------
RuntimeLibcalls: Fix calling conv of win32 div libcalls (#149098)
There's probably an existing test this should be added to,
but our test coverage is really bad that this wasn't caught
by one.
Commit: 7e0fde0c2f6b0b9d727ce9196956b36e91961ac4
https://github.com/llvm/llvm-project/commit/7e0fde0c2f6b0b9d727ce9196956b36e91961ac4
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/tools/libclang/libclang.map
Log Message:
-----------
[Clang] Reintroduce obsolete symbols in libclang.map (#149190)
This is a follow-up to #149079. Seems like we forgot about the fact that
the symbols also need to be in `libclang.map`.
Commit: 86c63e6bd66f9db9c7320155da7a2042407b5a1a
https://github.com/llvm/llvm-project/commit/86c63e6bd66f9db9c7320155da7a2042407b5a1a
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/source/Interpreter/CommandInterpreter.cpp
Log Message:
-----------
[lldb] [cosmetic] Update help message of `(lldb) b` (#149114)
`(lldb) b` can be used in two different ways:
1. Running `b` without arguments, it lists all existing breakpoints.
2. Running `b` with arguments, it adds breakpoints.
However, the help message doesn't mention the first use case. This patch
adds help message to mention it.
**Without patch**:
```
(lldb) help b
Set a breakpoint using one of several shorthand formats. Expects 'raw' input (see 'help raw-input'.)
Syntax:
_regexp-break <filename>:<linenum>:<colnum>
main.c:12:21 // Break at line 12 and column 21 of main.c
...
```
**With patch**:
```
(lldb) help b
Set a breakpoint using one of several shorthand formats, or list the
existing breakpoints if no arguments are provided. Expects 'raw' input
(see 'help raw-input'.)
Syntax:
_regexp-break <filename>:<linenum>:<colnum>
main.c:12:21 // Break at line 12 and column 21 of main.c
...
_regexp-break
// List the existing breakpoints
```
Commit: 26b0b279deca7cd660efcae5c17bd27a15ead36d
https://github.com/llvm/llvm-project/commit/26b0b279deca7cd660efcae5c17bd27a15ead36d
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
A llvm/test/CodeGen/AMDGPU/flat-saddr-store.ll
Log Message:
-----------
[AMDGPU] Select flat GVS stores on gfx1250 (#149203)
Commit: 81eb7defa23dcf48a8e51391543eb210df232440
https://github.com/llvm/llvm-project/commit/81eb7defa23dcf48a8e51391543eb210df232440
Author: Cristian Assaiante <assaiante at diag.uniroma1.it>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/test/CodeGen/new-pass-manager-opt-bisect.c
M llvm/include/llvm/IR/OptBisect.h
M llvm/include/llvm/Pass.h
M llvm/lib/IR/OptBisect.cpp
M llvm/lib/IR/Pass.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/test/Other/opt-bisect-new-pass-manager.ll
A llvm/test/Other/opt-disable.ll
Log Message:
-----------
[OptBisect][IR] Adding a new OptPassGate for disabling passes via name (#145059)
This commit adds a new pass gate that allows selective disabling
of one or more passes via the clang command line using the
`-opt-disable` option. Passes to be disabled should be specified as a
comma-separated list of their names.
The implementation resides in the same file as the bisection tool. The
`getGlobalPassGate()` function returns the currently enabled gate.
Example: `-opt-disable="PassA,PassB"`
Pass names are matched using case-insensitive comparisons. However, note
that special characters, including spaces, must be included exactly as
they appear in the pass names.
Additionally, a `-opt-disable-enable-verbosity` flag has been introduced to
enable verbose output when this functionality is in use. When enabled,
it prints the status of all passes (either running or NOT running),
similar to the default behavior of `-opt-bisect-limit`. This flag is
disabled by default, which is the opposite of the `-opt-bisect-verbose`
flag (which defaults to enabled).
To validate this functionality, a test file has also been provided. It reuses
the same infrastructure as the opt-bisect test, but disables three
specific passes and checks the output to ensure the expected behavior.
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 210cf010c3362e5648d037ea5e4b27c2673837ed
https://github.com/llvm/llvm-project/commit/210cf010c3362e5648d037ea5e4b27c2673837ed
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
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] Lower globaltimer to NVVM op (#149217)
Commit: 9d78eb5cc51820bd7076861a9ad175e5666b90d3
https://github.com/llvm/llvm-project/commit/9d78eb5cc51820bd7076861a9ad175e5666b90d3
Author: Wenju He <wenju.he at intel.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Enable -fdiscard-value-names build flag to reduce bitcode size (#149016)
The flag reduces nvptx64--nvidiacl.bc size from 10.6MB to 5.2MB.
Commit: b52cf756ced2aefd05b7e2f01026c941f9a04c47
https://github.com/llvm/llvm-project/commit/b52cf756ced2aefd05b7e2f01026c941f9a04c47
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/insert-delay-alu-wmma-xdl.mir
Log Message:
-----------
AMDGPU: Treat WMMA XDL ops as TRANS in S_DELAY_ALU insertion for gfx1250 (#149208)
WMMA XDL instructions are tracked as TRANs ops and the compiler should
consider them the same as TRANS in S_DELAY_ALU insertion. We use a searchable
table for the InsertDelayAlu pass to recognize these WMMA XDL instructions.
Co-authored-by: Stefan Stipanovic <Stefan.Stipanovic at amd.com>
Commit: 4cf7670b01fb5b01995cf89fe4304bfb0c69a4c0
https://github.com/llvm/llvm-project/commit/4cf7670b01fb5b01995cf89fe4304bfb0c69a4c0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
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] Lower clock() to NNVM op (#149228)
Also use a same gen function for all NVVM time ops.
Commit: f56211ebfa7f9ca71b9eeb119012b0f6e1a2b2c9
https://github.com/llvm/llvm-project/commit/f56211ebfa7f9ca71b9eeb119012b0f6e1a2b2c9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/xqcisls.ll
Log Message:
-----------
[RISCV] Add/remove/simplify tests in xqcisls.ll. NFC
-Don't use i64 for GEP indices.
-Remove tests that zero extended GEP indices from i32 to i64.
-Add i64 load/store tests taken from xtheadmemidx that get split into two i32 load/store.
-Don't extend load results to i64.
I'm working on improvements to SelectAddrRegRegScale.
Commit: 0692572e040979b2de0dceb8f0537aa16caf351f
https://github.com/llvm/llvm-project/commit/0692572e040979b2de0dceb8f0537aa16caf351f
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/test/CodeGenCXX/pragma-loop.cpp
Log Message:
-----------
[clang][CodeGen] Fix metadata when vectorization is disabled by pragma (#135163)
Currently, when specifying `vectorize(disable) unroll_count(8)`, the
generated metadata appears as follows:
```
!loop0 = !{!"loop0", !vectorize_width, !followup}
!vectorize_width = !{!"llvm.loop.vectorize.width", i32 1}
!followup = !{!"llvm.loop.vectorize.followup_all", !unroll}
!unroll = !{!"llvm.loop.unroll_count", i32 8}
```
Since the metadata `!vectorize_width` implies that the vectorization is
disabled, the vectorization process is skipped, and the `!followup`
metadata is not processed correctly.
This patch addresses the issue by directly appending properties to the
metadata node when vectorization is disabled, instead of creating a new
follow-up MDNode. In the above case, the generated metadata will now
look like this:
```
!loop0 = !{!"loop0", !vectorize_width, !vectorize_width, !unroll}
!vectorize_width = !{!"llvm.loop.vectorize.width", i32 1}
!unroll = !{!"llvm.loop.unroll_count", i32 8}
```
Commit: b41398294c85eacdb37b9637eed6f0e91edf35cf
https://github.com/llvm/llvm-project/commit/b41398294c85eacdb37b9637eed6f0e91edf35cf
Author: Wenju He <wenju.he at intel.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
A clang/test/CodeGenOpenCL/scoped-atomic.cl
Log Message:
-----------
[SPIR] Set MaxAtomicInlineWidth minimum size to 32 for spir32 and 64 for spir64 (#148997)
Set MaxAtomicInlineWidth the same way as SPIR-V targets in 3cfd0c0d3697.
This PR fixes build warning in scoped atomic built-in in #146814:
`warning: large atomic operation may incur significant performance
penalty; ; the access size (2 bytes) exceeds the max lock-free size (0
bytes) [-Watomic-alignment]`
Commit: b9adc4a59cb50c98ec0e01645ea5eb64e6628afd
https://github.com/llvm/llvm-project/commit/b9adc4a59cb50c98ec0e01645ea5eb64e6628afd
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[IA] Use a single callback for lowerInterleaveIntrinsic [nfc] (#148978) (#149168)
This continues in the direction started by commit 4b81dc7. We
essentially merges the handling for VPStore - currently in
lowerInterleavedVPStore which is shared between shuffle and intrinsic
based interleaves - into the existing dedicated routine.
Commit: 34951f7de80c4b4ac2b884d08dd919efed23c024
https://github.com/llvm/llvm-project/commit/34951f7de80c4b4ac2b884d08dd919efed23c024
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Use NVVM op for clock64 (#149223)
Commit: b36188514a76ba979439a1dcab58e68478e3f0ad
https://github.com/llvm/llvm-project/commit/b36188514a76ba979439a1dcab58e68478e3f0ad
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
Log Message:
-----------
[RISCV][IA] Check nuw on multiply when analyzing EVL (#149205)
If we're checking to see if a number is a multiple of a small constant,
we need to be sure the multiply doesn't overflow for the mul logic to
hold. The VL is a unsigned number, so we care about unsigned overflow.
Once we've proven a number of a multiple, we can also use an
exact udiv as we know we're not discarding any bits.
This fixes what is technically a miscompile with EVL vectorization, but
I doubt we'd ever have seen it in practice since most EVLs are going to
much less than UINT_MAX.
Commit: 34b3ea367c4299ebd7c37edc7c748c9627ee66cb
https://github.com/llvm/llvm-project/commit/34b3ea367c4299ebd7c37edc7c748c9627ee66cb
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/common_test.cpp
Log Message:
-----------
[scudo] Make release to OS test more specific. (#147852)
The original version of ResidentMemorySize could be a little flaky.
Replace the test with a version that verifies exactly how much of the
map is resident.
Commit: 1f1fd07c325f174be27d6f10a512882770a976a8
https://github.com/llvm/llvm-project/commit/1f1fd07c325f174be27d6f10a512882770a976a8
Author: Ryan Buchner <buchner.ryan at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/icmp-select.ll
A llvm/test/Transforms/InstCombine/select-fixed-zero.ll
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Optimize (select %x, op(%x), 0) to op(%x) for operations where op(0) == 0 (#147605)
Currently this optimization only occurs for `mul`, but this generalizes
that for any operation that has a fixed point of `0`.
There is similar logic within `EarlyCSE` pass, but that is stricter in
terms of `poison` propagation so will not optimize for many operations.
Alive2 Proofs:
`and`:
https://alive2.llvm.org/ce/z/RraasX ; base-case
https://alive2.llvm.org/ce/z/gzfFTX ; commuted-case
https://alive2.llvm.org/ce/z/63XaoX ; compare against undef
https://alive2.llvm.org/ce/z/MVRVNd ; select undef
https://alive2.llvm.org/ce/z/2bsoYG ; vector
https://alive2.llvm.org/ce/z/xByeX- ; vector compare against undef
https://alive2.llvm.org/ce/z/zNdzmZ ; vector select undef
`fshl`:
https://alive2.llvm.org/ce/z/U3_PG3 ; base-case
https://alive2.llvm.org/ce/z/BWCnxT ; compare against undef
https://alive2.llvm.org/ce/z/8HGAE_ ; select undef
; vector times out
`fshr`:
https://alive2.llvm.org/ce/z/o6F47G ; base-case
https://alive2.llvm.org/ce/z/fVnBXy ; compare against undef
https://alive2.llvm.org/ce/z/suymYJ ; select undef
; vector times out
`umin`:
https://alive2.llvm.org/ce/z/GGMqf6 ; base-case
https://alive2.llvm.org/ce/z/6cx5-k ; commuted-case
https://alive2.llvm.org/ce/z/W5d9tz ; compare against undef
https://alive2.llvm.org/ce/z/nKbaUn ; select undef
https://alive2.llvm.org/ce/z/gxEGqc ; vector
https://alive2.llvm.org/ce/z/_SDpi_ ; vector compare against undef
`sdiv`:
https://alive2.llvm.org/ce/z/5XGs3q
`srem`:
https://alive2.llvm.org/ce/z/vXAnQM
`udiv`:
https://alive2.llvm.org/ce/z/e6_8Ug
`urem`:
https://alive2.llvm.org/ce/z/VmM2SL
`shl`:
https://alive2.llvm.org/ce/z/aCZr3u ; Argument with range
https://alive2.llvm.org/ce/z/YgDy8C ; Instruction with known bits
https://alive2.llvm.org/ce/z/6pIxR6 ; Constant
`lshr`:
https://alive2.llvm.org/ce/z/WCCBej
`ashr:
https://alive2.llvm.org/ce/z/egV4TR
---------
Co-authored-by: Ryan Buchner <rbuchner at ventanamicro.com>
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Commit: 283a62fa5b9f2b07fb74336dbce91f346801225f
https://github.com/llvm/llvm-project/commit/283a62fa5b9f2b07fb74336dbce91f346801225f
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Log Message:
-----------
[AMDGPU] NFC: Decouple getRealRegPressure from current region (#149219)
We're already accepting a RegionIdx for the LiveIns, also use this for
the instruction iterators.
Enables querying RP for other regions -- useful for function wide
transformations (e.g. rematerialization, rewriting, etc).
Commit: 1c541aa9f9a2453324724bfb9d661bc672778d10
https://github.com/llvm/llvm-project/commit/1c541aa9f9a2453324724bfb9d661bc672778d10
Author: thetruestblue <bblueconway at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M compiler-rt/test/lit.common.cfg.py
Log Message:
-----------
[Apple][NFC] Update macOS aligned version for lit config (#143576)
This updates the aligned version for version 26.
Note: This change is for correctness only and has no functional impact
currently. `get_macos_aligned_version` is currently only consumed when
substituting flags based on min version.
rdar://152851947
Commit: 0f09f2cf00caf3e6c755197d7c897ce8e607db4d
https://github.com/llvm/llvm-project/commit/0f09f2cf00caf3e6c755197d7c897ce8e607db4d
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/CodeGen/null-sanitizer-debug-info-regression.cpp
Log Message:
-----------
[Sanitize] fix crash in -fsanitize-annotate-debug-info (#149237)
Commit: e51ea1c7571c9d7698ab01317fd4ab3b250cb8f9
https://github.com/llvm/llvm-project/commit/e51ea1c7571c9d7698ab01317fd4ab3b250cb8f9
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/xandesbfhcvt.ll
Log Message:
-----------
[RISCV] Remove unneeded declarations in llvm/test/CodeGen/RISCV/xandesbfhcvt.ll. NFC.
Commit: 9753ea83dd34bfb169fbed3995cc79e621ca6963
https://github.com/llvm/llvm-project/commit/9753ea83dd34bfb169fbed3995cc79e621ca6963
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/test/MC/AArch64/directives-case_insensitive.s
M llvm/test/MC/AArch64/reloc-directive-err.s
M llvm/test/MC/AArch64/reloc-directive.s
M llvm/test/MC/AMDGPU/reloc-directive.s
M llvm/test/MC/ARM/reloc-directive-err.s
M llvm/test/MC/ARM/reloc-directive.s
M llvm/test/MC/AVR/reloc-directive-err.s
M llvm/test/MC/AVR/reloc-directive.s
M llvm/test/MC/LoongArch/Relocations/reloc-directive-err.s
M llvm/test/MC/LoongArch/Relocations/reloc-directive.s
M llvm/test/MC/Mips/reloc-directive-bad.s
M llvm/test/MC/Mips/reloc-directive.s
M llvm/test/MC/PowerPC/ppc32-reloc-directive.s
M llvm/test/MC/PowerPC/ppc64-reloc-directive.s
M llvm/test/MC/RISCV/reloc-directive-err.s
M llvm/test/MC/RISCV/reloc-directive.s
M llvm/test/MC/Sparc/Relocations/reloc-directive.s
M llvm/test/MC/SystemZ/reloc-directive.s
M llvm/test/MC/X86/reloc-directive-elf-32.s
M llvm/test/MC/X86/reloc-directive-elf-64.s
M llvm/test/MC/X86/reloc-directive.s
Log Message:
-----------
MC,test: Migrate away from the .reloc constant hack
The initial .reloc support for MIPS incorrectly interpreted .reloc 0 as .reloc .+0 .
I was misled when porting .reloc to other targets in 2019 and 2020.
Many PRINT: prefixes are unnecessary. The MCAsmStreamer implementation
is generic, and it is unnecessary to test too many variants.
Commit: 4a3cb437a32f5611b909fe7e067a9a9d28c2b845
https://github.com/llvm/llvm-project/commit/4a3cb437a32f5611b909fe7e067a9a9d28c2b845
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
AMDGPU: Avoid hardcoding mov opcode
Commit: 72c61a6a255cd07c449f213bef9439ab0ee85c08
https://github.com/llvm/llvm-project/commit/72c61a6a255cd07c449f213bef9439ab0ee85c08
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[AMDGPU][NPM] Fill in addPreSched2 passes (#148112)
same as https://github.com/llvm/llvm-project/pull/139516
Co-authored-by : Oke, Akshat
<[Akshat.Oke at amd.com](mailto:Akshat.Oke at amd.com)>
Commit: 34c85337424fde5796154d0cb390b39175291373
https://github.com/llvm/llvm-project/commit/34c85337424fde5796154d0cb390b39175291373
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
Log Message:
-----------
[Coroutines] Always drop lifetime markers after moving allocas to frame (#149141)
https://github.com/llvm/llvm-project/pull/142551 started always dropping
lifetime markers after moving allocas on the frame, as these are not
useful on non-allocas but can cause issues.
However, this was not done for other ABIs (retcon, retcononce, async)
that go through a different code path. We should treat them the same
way.
Commit: 3cb0c7f45b97802ddc13a15560fbbca2efb75326
https://github.com/llvm/llvm-project/commit/3cb0c7f45b97802ddc13a15560fbbca2efb75326
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M lld/ELF/Relocations.cpp
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/test/MC/ELF/reloc-directive.s
M llvm/test/MC/Mips/reloc-directive-bad-obj.s
M llvm/test/MC/Mips/reloc-directive-label-offset.s
Log Message:
-----------
MC: Rework .reloc directive and fix the offset when it evaluates to a constant
* Fix `.reloc constant` to mean section_symbol+constant instead of
.+constant . The initial .reloc support from MIPS incorrectly
interpreted the offset.
* Delay the evaluation of the offset expression after
MCAssembler::layout, deleting a lot of code working with MCFragment.
* Delete many FIXME from https://reviews.llvm.org/D79625
* Some lld/ELF/Arch/LoongArch.cpp relaxation tests rely on .reloc .,
R_LARCH_ALIGN generating ALIGN relocations at specific location.
Sort the relocations.
Commit: 1653a093def10543d8f958fe7d4cde9ab1dd8bca
https://github.com/llvm/llvm-project/commit/1653a093def10543d8f958fe7d4cde9ab1dd8bca
Author: Daan De Meyer <daan.j.demeyer at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/SortIncludesTest.cpp
Log Message:
-----------
[clang-format] Add IgnoreExtension to SortIncludes (#137840)
Sorting by stem gives nicer results when various header file names are
substrings of other header file names. For example, a CLI application
with a main header named analyze.h and an analyze-xxx.h header for each
subcommand currently will always put analyze.h last after all the
analyze-xxx.h headers, but putting analyze.h first instead is arguably
nicer to read.
TLDR; Instead of
```
#include "analyze-blame.h"
#include "analyze.h"
```
You'd get
```
#include "analyze.h"
#include "analyze-blame.h"
```
Let's allow sorting by stem instead of full path by adding
IgnoreExtension to SortIncludes.
Commit: 2194bca2b78cf1ada2aa539e2a3ad8128a80f63a
https://github.com/llvm/llvm-project/commit/2194bca2b78cf1ada2aa539e2a3ad8128a80f63a
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__format/range_default_formatter.h
A libcxx/include/__format/range_format.h
M libcxx/include/module.modulemap.in
Log Message:
-----------
[libc++] Granularize `range_format` and `format_kind` declarations (#148876)
While working on #105430 I ran into an issue implementing
[[optional.syn]](https://eel.is/c++draft/optional.syn) because of a
circular include that looked like the following: `optional ->
__format/range_default_formatter.h -> __format/range_formatter.h ->
__format/format_context.h -> optional`. Only `format_kind` and
`range_format` are needed, and so they looked like candidates to be put
into an internal header.
Commit: d218011159105208de38275594c75735929f74aa
https://github.com/llvm/llvm-project/commit/d218011159105208de38275594c75735929f74aa
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fix-xvshuf.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insert-extract-element.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insert-extract-pair-elements.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insert-extract-element.ll
Log Message:
-----------
[LoongArch] Optimize inserting extracted elements (#146018)
Commit: 3071fe55f8321ea18952412a233f7330ce26b522
https://github.com/llvm/llvm-project/commit/3071fe55f8321ea18952412a233f7330ce26b522
Author: Jonathan Wakely <github at kayari.org>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libcxx/test/std/utilities/template.bitset/bitset.members/to_ullong.pass.cpp
Log Message:
-----------
[libc++] Add missing include <limits> to bitset to_ullong.pass.cpp test (#149149)
This was added to to_ulong.pass.cpp years ago by
cf1dc8d39e2c9870468ca86f7956a65c7745fece but I don't think the other
part of that commit matters here.
Commit: d30224ce9074d5d95577ac895a65bb57cbff75ae
https://github.com/llvm/llvm-project/commit/d30224ce9074d5d95577ac895a65bb57cbff75ae
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M .github/CODEOWNERS
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/premerge.yaml
M bolt/lib/Core/BinaryFunctionCallGraph.cpp
M bolt/runtime/CMakeLists.txt
M bolt/runtime/instr.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConfusableTable/confusables.txt
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.h
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-query/trailing-comma.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-coro.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-rethrow.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-throw.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/interfaces-global-init.cpp
A clang/docs/CXXTypeAwareAllocators.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/ThinLTO.rst
M clang/docs/index.rst
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Analysis/Analyses/UninitializedValues.h
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/BuiltinsRISCV.td
A clang/include/clang/Basic/BuiltinsRISCVXAndes.td
M clang/include/clang/Basic/BuiltinsSPIRVVK.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
A clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Options.td
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/Sema/DeclSpec.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/ASTMatchers/Dynamic/Parser.cpp
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/OSTargets.h
R clang/lib/Basic/Targets/PNaCl.cpp
R clang/lib/Basic/Targets/PNaCl.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
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/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/CodeGen/TargetInfo.h
R clang/lib/CodeGen/Targets/PNaCl.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
R clang/lib/Driver/ToolChains/NaCl.cpp
R clang/lib/Driver/ToolChains/NaCl.h
M clang/lib/Format/Format.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/cuda_wrappers/__utility/declval.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/ptrauth.h
A clang/lib/Headers/riscv_nds.h
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/InitHeaderSearch.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaAMDGPU.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/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaM68k.cpp
M clang/lib/Sema/SemaMSP430.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaSPIRV.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/const-eval.c
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
A clang/test/Analysis/LifetimeSafety/CMakeLists.txt
A clang/test/Analysis/LifetimeSafety/benchmark.py
A clang/test/Analysis/LifetimeSafety/requirements.txt
M clang/test/Analysis/stream.c
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/builtin_bit.cpp
A clang/test/CIR/CodeGen/complex-unary.cpp
M clang/test/CIR/CodeGen/complex.cpp
A clang/test/CIR/CodeGen/destructors.cpp
M clang/test/CMakeLists.txt
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg8xx.cpp
M clang/test/CXX/expr/expr.const/p2-0x.cpp
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.interface/p1.cppm
M clang/test/CXX/module/module.interface/p1.cpp
M clang/test/ClangScanDeps/visible-modules.c
M clang/test/CodeGen/PowerPC/builtins-ppc-dmf.c
M clang/test/CodeGen/PowerPC/builtins-ppc-fpconstrained.c
A clang/test/CodeGen/PowerPC/ppc-dmf-future-builtin-err.c
A clang/test/CodeGen/PowerPC/ppc-dmf-mma-builtin-err.c
R clang/test/CodeGen/PowerPC/ppc-future-mma-builtin-err.c
A clang/test/CodeGen/RISCV/riscv-xandesbfhcvt-c-api.c
A clang/test/CodeGen/RISCV/riscv-xandesbfhcvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vcpop.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vcpopv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vcpop.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vcpopv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vcpop.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vcpopv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vcpop.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vcpopv.c
R clang/test/CodeGen/X86/x86_64-arguments-nacl.c
M clang/test/CodeGen/X86/x86_64-longdouble.c
M clang/test/CodeGen/arm-aapcs-vfp.c
M clang/test/CodeGen/debug-info-file-checksum.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/long_double_fp128.cpp
R clang/test/CodeGen/malign-double-x86-nacl.c
M clang/test/CodeGen/new-pass-manager-opt-bisect.c
A clang/test/CodeGen/null-sanitizer-debug-info-regression.cpp
M clang/test/CodeGen/target-data.c
M clang/test/CodeGenCXX/pragma-loop.cpp
R clang/test/CodeGenCXX/x86_64-arguments-nacl-x32.cpp
M clang/test/CodeGenCoroutines/coro-gro.cpp
A clang/test/CodeGenHLSL/builtins/refract.hlsl
M clang/test/CodeGenObjC/arc.m
A clang/test/CodeGenObjC/gnustep2-class-exts.m
M clang/test/CodeGenObjC/matrix-type-operators.m
A clang/test/CodeGenObjC/ptrauth-attr-exception.m
A clang/test/CodeGenObjC/ptrauth-block-isa.m
A clang/test/CodeGenObjC/ptrauth-class-ro.m
A clang/test/CodeGenObjC/ptrauth-class.m
A clang/test/CodeGenObjC/ptrauth-objc-interface-selector.m
A clang/test/CodeGenObjC/ptrauth-objc-isa-super.m
A clang/test/CodeGenObjC/ptrauth-objc-method-list-pointer.m
A clang/test/CodeGenObjC/ptrauth-property-backing.m
A clang/test/CodeGenObjCXX/ptrauth-objc-interface-selector.mm
M clang/test/CodeGenOpenCL/amdgpu-features.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
A clang/test/CodeGenOpenCL/scoped-atomic.cl
A clang/test/CodeGenSPIRV/Builtins/refract.c
A clang/test/DebugInfo/KeyInstructions/array-cookie.cpp
A clang/test/DebugInfo/KeyInstructions/coro-dwarf-key-instrs.cpp
M clang/test/DebugInfo/KeyInstructions/flag.cpp
A clang/test/Driver/DTLTO/dtlto.c
M clang/test/Driver/arm-alignment.c
M clang/test/Driver/mingw.cpp
R clang/test/Driver/nacl-direct.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/unsupported-target-arch.c
R clang/test/Driver/x86_64-nacl-defines.cpp
M clang/test/Format/multiple-inputs-error.cpp
M clang/test/Format/ranges.cpp
R clang/test/Frontend/x86_64-nacl-types.cpp
M clang/test/Misc/warning-wall.c
M clang/test/Modules/cxx20-10-2-ex1.cpp
M clang/test/Modules/cxx20-export-import.cpp
M clang/test/Modules/cxx20-import-diagnostics-a.cpp
M clang/test/Modules/export-in-non-modules.cpp
M clang/test/PCH/no-validate-pch.cl
A clang/test/Parser/gh114815.cpp
M clang/test/Preprocessor/predefined-macros-no-warnings.c
M clang/test/Preprocessor/riscv-target-features-andes.c
M clang/test/Sema/attr-nonblocking-sema.cpp
M clang/test/Sema/const-eval.c
M clang/test/Sema/warn-lifetime-safety-dataflow.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx14.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/constexpr-backtrace-limit.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx2c-constexpr-placement-new.cpp
A clang/test/SemaCXX/noreturn-vars.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/type-aware-class-scoped-mismatched-constraints.cpp
M clang/test/SemaCXX/type-aware-coroutines.cpp
M clang/test/SemaCXX/type-aware-new-constexpr.cpp
M clang/test/SemaCXX/type-aware-new-delete-arrays.cpp
M clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
M clang/test/SemaCXX/type-aware-new-delete-basic-in-class-declarations.cpp
M clang/test/SemaCXX/type-aware-new-delete-basic-resolution.cpp
M clang/test/SemaCXX/type-aware-new-delete-qualifiers.cpp
M clang/test/SemaCXX/type-aware-new-delete-transparent-contexts.cpp
M clang/test/SemaCXX/type-aware-new-invalid-type-identity.cpp
M clang/test/SemaCXX/type-aware-placement-operators.cpp
M clang/test/SemaCXX/uninitialized.cpp
A clang/test/SemaCXX/warn-no-sometimes-uninitialized.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
A clang/test/SemaCXX/warn-uninitialized-const-pointer.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
M clang/test/SemaCXX/warn-unused-result.cpp
M clang/test/SemaCXX/wmissing-noreturn-suggestion.cpp
A clang/test/SemaHLSL/BuiltIns/refract-errors.hlsl
M clang/test/SemaHLSL/RootSignature-resource-ranges-err.hlsl
A clang/test/SemaObjC/ptrauth-pointers.m
M clang/test/SemaObjC/ptrauth-qualifier.m
A clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-error.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
A clang/test/SemaSPIRV/BuiltIns/refract-errors.c
A clang/test/SemaTemplate/gh138371.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/libclang/CMakeLists.txt
A clang/tools/libclang/Obsolete.cpp
M clang/tools/libclang/libclang.map
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/SortIncludesTest.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
M cmake/Modules/LLVMVersion.cmake
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/aarch64/emupac.cpp
M compiler-rt/lib/builtins/int_types.h
M compiler-rt/lib/scudo/standalone/tests/common_test.cpp
M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
A compiler-rt/test/builtins/Unit/aarch64/emupac.c
M compiler-rt/test/lit.common.cfg.py
M cross-project-tests/debuginfo-tests/dexter/dex/tools/TestToolBase.py
M cross-project-tests/dtlto/ld-dtlto.c
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/non-tbp-dio.h
M flang-rt/include/flang-rt/runtime/type-info.h
M flang-rt/include/flang-rt/runtime/work-queue.h
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/non-tbp-dio.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/type-info.cpp
M flang-rt/lib/runtime/work-queue.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/docs/Extensions.md
M flang/docs/Intrinsics.md
M flang/docs/OpenACC.md
A flang/docs/ParallelMultiImageFortranRuntime.md
M flang/docs/index.md
M flang/include/flang/Common/format.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/CUDA/Descriptor.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
R flang/include/flang/Optimizer/OpenACC/FIROpenACCTypeInterfaces.h
R flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
A flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.h
A flang/include/flang/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/char-block.h
M flang/include/flang/Parser/message.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Semantics/runtime-type-info.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Evaluate/fold.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/Support/ReductionProcessor.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/CUDA/Descriptor.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
R flang/lib/Optimizer/OpenACC/FIROpenACCAttributes.cpp
R flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
R flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
A flang/lib/Optimizer/OpenACC/Support/CMakeLists.txt
A flang/lib/Optimizer/OpenACC/Support/FIROpenACCAttributes.cpp
A flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
A flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
A flang/lib/Optimizer/Transforms/OptimizeArrayRepacking.cpp
M flang/lib/Parser/message.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/type-parsers.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/module/__fortran_type_info.f90
M flang/module/cudadevice.f90
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
A flang/test/Driver/fatal-errors-warnings.f90
M flang/test/Driver/mlir-pass-pipeline.f90
A flang/test/Evaluate/transfer-boz.f90
M flang/test/Fir/CUDA/cuda-alloc-free.fir
M flang/test/Fir/CUDA/cuda-device-global.f90
M flang/test/Fir/basic-program.fir
M flang/test/Fir/fir-ops.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-matmul.fir
M flang/test/Lower/CUDA/cuda-device-proc.cuf
A flang/test/Lower/CUDA/cuda-set-allocator.cuf
M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
M flang/test/Lower/OpenMP/reduction-array-intrinsic.f90
M flang/test/Lower/OpenMP/sections-array-reduction.f90
M flang/test/Lower/OpenMP/taskgroup-task-array-reduction.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
A flang/test/Lower/amdgcn-complex.f90
A flang/test/Lower/do_concurrent_reduce_associate.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/namelist.f90
M flang/test/Lower/volatile-openmp.f90
M flang/test/Parser/OpenMP/fail-construct1.f90
A flang/test/Preprocessing/bug1126.F90
A flang/test/Preprocessing/omp-sentinel-fixed-form.F
A flang/test/Semantics/bind-c18.f90
A flang/test/Semantics/bug148559.f90
A flang/test/Semantics/bug148675.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo02.f90
M flang/test/Semantics/typeinfo09.f90
M flang/test/Semantics/typeinfo13.f90
M flang/test/Transforms/lower-repack-arrays.fir
A flang/test/Transforms/optimize-array-repacking.fir
A flang/test/Transforms/tbaa-derived-with-descriptor.fir
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/search.rst
M libc/fuzzing/math/CMakeLists.txt
M libc/fuzzing/math/acos_fuzz.cpp
M libc/fuzzing/math/asin_fuzz.cpp
R libc/fuzzing/math/atan_fuzz.cpp
M libc/fuzzing/math/cos_fuzz.cpp
A libc/fuzzing/math/exp10_fuzz.cpp
A libc/fuzzing/math/exp2_fuzz.cpp
A libc/fuzzing/math/exp_fuzz.cpp
A libc/fuzzing/math/expm1_fuzz.cpp
A libc/fuzzing/math/log10_fuzz.cpp
A libc/fuzzing/math/log1p_fuzz.cpp
A libc/fuzzing/math/log2_fuzz.cpp
A libc/fuzzing/math/log_fuzz.cpp
M libc/fuzzing/math/sin_fuzz.cpp
M libc/fuzzing/math/sincos_fuzz.cpp
A libc/fuzzing/math/sqrt_fuzz.cpp
M libc/fuzzing/math/tan_fuzz.cpp
M libc/include/wchar.yaml
M libc/shared/math.h
A libc/shared/math/exp.h
A libc/shared/math/exp10.h
A libc/shared/math/ldexpf.h
A libc/shared/math/ldexpf128.h
A libc/shared/math/ldexpf16.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/PolyEval.h
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/FPUtil/multiply_add.h
M libc/src/__support/FPUtil/nearest_integer.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp.h
A libc/src/__support/math/exp10.h
A libc/src/__support/math/exp_constants.h
A libc/src/__support/math/exp_utils.h
M libc/src/__support/math/expf16_utils.h
A libc/src/__support/math/ldexpf.h
A libc/src/__support/math/ldexpf128.h
A libc/src/__support/math/ldexpf16.h
M libc/src/__support/wchar/CMakeLists.txt
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
A libc/src/__support/wchar/string_converter.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/explogxf.h
M libc/src/math/generic/ldexpf.cpp
M libc/src/math/generic/ldexpf128.cpp
M libc/src/math/generic/ldexpf16.cpp
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcstol.cpp
A libc/src/wchar/wcstol.h
A libc/src/wchar/wcstoll.cpp
A libc/src/wchar/wcstoll.h
A libc/src/wchar/wcstoul.cpp
A libc/src/wchar/wcstoul.h
A libc/src/wchar/wcstoull.cpp
A libc/src/wchar/wcstoull.h
M libc/test/src/__support/wchar/CMakeLists.txt
A libc/test/src/__support/wchar/string_converter_test.cpp
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/WcstolTest.h
A libc/test/src/wchar/wcstol_test.cpp
A libc/test/src/wchar/wcstoll_test.cpp
A libc/test/src/wchar/wcstoul_test.cpp
A libc/test/src/wchar/wcstoull_test.cpp
M libclc/CMakeLists.txt
A libclc/utils/CMakeLists.txt
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__config
M libcxx/include/__configuration/compiler.h
A libcxx/include/__cxx03/__verbose_trap
M libcxx/include/__format/range_default_formatter.h
A libcxx/include/__format/range_format.h
M libcxx/include/__hash_table
M libcxx/include/__locale_dir/locale_base_api.h
R libcxx/include/__locale_dir/locale_base_api/android.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__new/allocate.h
M libcxx/include/__new/launder.h
M libcxx/include/__tree
M libcxx/include/__type_traits/is_core_convertible.h
A libcxx/include/__verbose_trap
M libcxx/include/barrier
M libcxx/include/fstream
M libcxx/include/module.modulemap.in
M libcxx/include/optional
M libcxx/include/unordered_map
M libcxx/src/atomic.cpp
M libcxx/src/barrier.cpp
A libcxx/test/extensions/libcxx/always_initialize_iterators.pass.cpp
M libcxx/test/libcxx/algorithms/vectorization.compile.pass.cpp
R libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
A libcxx/test/libcxx/mem/mem.res/ctor.nullptr.assert.pass.cpp
A libcxx/test/libcxx/mem/mem.res/nonnull.verify.cpp
M libcxx/test/libcxx/memory/shared_ptr_array.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.exception/time.zone.exception.ambig/assert.ctor.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.exception/time.zone.exception.nonexist/assert.ctor.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/assert.to_local.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/assert.to_sys.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/assert.to_sys_choose.pass.cpp
M libcxx/test/libcxx/vendor/apple/disable-availability.sh.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_unary.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/overflow.writefail.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.volatile.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.dynamic/ptr.launder/launder.types.verify.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.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/bit.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.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/limits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/locale.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/scoped_allocator.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/set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stdatomic.h.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/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.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/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/typeinfo.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/increment.pass.cpp
M libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_bounded_array.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.compile.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_constructs_from_temporary.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_converts_from_temporary.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/greater.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/greater_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/less_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/less_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/not_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/greater_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/greater_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/less_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/less_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/not_equal.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/to_ullong.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/resource.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/select_on_container_copy_construction.pass.cpp
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/docker-compose.yml
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/vendor/llvm/default_assertion_handler.in
M lld/ELF/Arch/Hexagon.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Target.h
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/CMakeLists.txt
A lld/MachO/LinkerOptimizationHints.cpp
A lld/MachO/LinkerOptimizationHints.h
M lld/MachO/Target.h
M lld/MachO/Writer.cpp
M lld/docs/ReleaseNotes.rst
A lld/test/ELF/hexagon-attributes.s
A lld/test/MachO/loh-arm64-32.s
M lldb/docs/resources/build.rst
M lldb/docs/resources/qemu-testing.rst
M lldb/docs/use/mcp.md
A lldb/examples/python/filter_disasm.py
M lldb/examples/synthetic/gnu_libstdcpp.py
M lldb/include/lldb/Core/Opcode.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Interpreter/CommandCompletions.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Commands/CommandCompletions.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/Opcode.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
A lldb/source/Plugins/Language/CPlusPlus/GenericList.cpp
R lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp
A lldb/source/Plugins/Language/CPlusPlus/MsvcStlTuple.cpp
A lldb/source/Plugins/Language/CPlusPlus/MsvcStlVector.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Utility/ArchSpec.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/test/API/commands/frame/var-dil/basics/QualifiedId/TestFrameVarDILQualifiedId.py
M lldb/test/API/commands/frame/var-dil/basics/QualifiedId/main.cpp
M lldb/test/API/commands/plugin/TestPlugin.py
M lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/forward_list/TestDataFormatterGenericForwardList.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/TestDataFormatterGenericList.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/loop/TestDataFormatterGenericListLoop.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/loop/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/tuple/TestDataFormatterStdTuple.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/tuple/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/TestDataFormatterStdUniquePtr.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/TestDataFormatterStdVBool.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vector/TestDataFormatterStdVector.py
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
A lldb/test/Shell/Commands/Inputs/dis_filt.py
A lldb/test/Shell/Commands/command-disassemble-riscv32-bytes.s
A lldb/test/Shell/Commands/command-disassemble-x86-bytes.s
A lldb/test/Shell/Settings/TestChildCountTruncation.test
M lldb/test/Shell/SymbolFile/DWARF/TestDedupWarnings.test
M lldb/unittests/Disassembler/RISCV/TestMCDisasmInstanceRISCV.cpp
M lldb/unittests/Host/NativeProcessProtocolTest.cpp
M lldb/unittests/SymbolFile/DWARF/DWARF64UnitTest.cpp
A llvm/clang/test/Modules/implicit-opt-level.c
M llvm/docs/HowToSubmitABug.rst
M llvm/docs/HowToUpdateDebugInfo.rst
A llvm/docs/KeyInstructionsDebugInfo.md
M llvm/docs/LangRef.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/UserGuides.rst
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/ADT/StringTable.h
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/MinidumpConstants.def
A llvm/include/llvm/BinaryFormat/SFrame.h
M llvm/include/llvm/CodeGen/AtomicExpandUtils.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/PostRAMachineSink.h
A llvm/include/llvm/CodeGen/ProcessImplicitDefs.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/include/llvm/DWARFCFIChecker/DWARFCFIAnalysis.h
M llvm/include/llvm/DWARFCFIChecker/DWARFCFIFunctionFrameAnalyzer.h
M llvm/include/llvm/DWARFCFIChecker/DWARFCFIFunctionFrameStreamer.h
M llvm/include/llvm/DWARFCFIChecker/DWARFCFIState.h
M llvm/include/llvm/Frontend/HLSL/RootSignatureValidations.h
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/OptBisect.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCCodeView.h
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCFixup.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCWasmStreamer.h
M llvm/include/llvm/Pass.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/TableGen/StringToOffsetTable.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/RegisterTargetPassConfigCallback.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/include/module.modulemap
M llvm/lib/Analysis/CallGraph.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Analysis/HashRecognize.cpp
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Analysis/models/seedEmbeddingVocab75D.json
M llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/ProcessImplicitDefs.cpp
M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/DWARFCFIChecker/Registers.h
M llvm/lib/DebugInfo/DWARF/LowLevel/DWARFCFIProgram.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/OptBisect.cpp
M llvm/lib/IR/Pass.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCSymbol.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/Support/BLAKE3/blake3_neon.c
M llvm/lib/Support/BLAKE3/llvm_blake3_prefix.h
M llvm/lib/Support/rpmalloc/rpmalloc.c
M llvm/lib/TableGen/StringToOffsetTable.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SISchedule.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMFeatures.td
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMPredicates.td
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/Lanai/LanaiFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFObjectWriter.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
R llvm/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
R llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.h
M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
M llvm/lib/Target/Mips/MipsCallingConv.td
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/lib/Target/Mips/MipsInstrFPU.td
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXUtilities.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.h
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/RISCV/RISCVVectorMaskDAGMutation.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
M llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
M llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
M llvm/lib/Target/TargetLoweringObjectFile.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/TextAPI/TextStubV5.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/ValueProfilePlugins.inc
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Analysis/CostModel/AArch64/arith-overflow.ll
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/fcmp.ll
M llvm/test/Analysis/CostModel/AArch64/fshl.ll
M llvm/test/Analysis/CostModel/AArch64/fshr.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-and.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-or.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-xor.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cmpsel.ll
M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fcmp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/Analysis/CostModel/AMDGPU/reduce-and.ll
M llvm/test/Analysis/CostModel/AMDGPU/reduce-or.ll
M llvm/test/Analysis/CostModel/ARM/arith-overflow.ll
M llvm/test/Analysis/CostModel/ARM/arith-ssat.ll
M llvm/test/Analysis/CostModel/ARM/arith-usat.ll
M llvm/test/Analysis/CostModel/ARM/cmps.ll
M llvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/ARM/mve-abs.ll
M llvm/test/Analysis/CostModel/ARM/mve-minmax.ll
M llvm/test/Analysis/CostModel/ARM/select.ll
M llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll
M llvm/test/Analysis/IR2Vec/Inputs/dummy_2D_vocab.json
A llvm/test/Analysis/IR2Vec/Inputs/dummy_3D_nonzero_arg_vocab.json
A llvm/test/Analysis/IR2Vec/Inputs/dummy_3D_nonzero_opc_vocab.json
A llvm/test/Analysis/IR2Vec/Inputs/dummy_3D_nonzero_type_vocab.json
A llvm/test/Analysis/IR2Vec/Inputs/reference_default_vocab_print.txt
A llvm/test/Analysis/IR2Vec/Inputs/reference_wtd1_vocab_print.txt
A llvm/test/Analysis/IR2Vec/Inputs/reference_wtd2_vocab_print.txt
M llvm/test/Analysis/IR2Vec/basic.ll
M llvm/test/Analysis/IR2Vec/dbg-inst.ll
M llvm/test/Analysis/IR2Vec/if-else.ll
M llvm/test/Analysis/IR2Vec/unreachable.ll
M llvm/test/Analysis/IR2Vec/vocab-test.ll
A llvm/test/Analysis/LoopAccessAnalysis/accesses-completely-before-or-after.ll
M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
M llvm/test/Analysis/LoopAccessAnalysis/different_strides.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-sdiv.mir
M llvm/test/CodeGen/AArch64/active_lane_mask.ll
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div-cte.ll
M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
M llvm/test/CodeGen/AArch64/arm64-zip.ll
A llvm/test/CodeGen/AArch64/cgdata-no-merge-unnamed.ll
M llvm/test/CodeGen/AArch64/combine-mul.ll
A llvm/test/CodeGen/AArch64/combine-sdiv.ll
M llvm/test/CodeGen/AArch64/fast-isel-cmp-vec.ll
M llvm/test/CodeGen/AArch64/load-combine.ll
M llvm/test/CodeGen/AArch64/machine-outliner-safe-range-in-middle.mir
A llvm/test/CodeGen/AArch64/pr148949.ll
A llvm/test/CodeGen/AArch64/saturating-vec-smull.ll
M llvm/test/CodeGen/AArch64/select_const.ll
M llvm/test/CodeGen/AArch64/spill-fold.mir
M llvm/test/CodeGen/AArch64/spillfill-sve.mir
M llvm/test/CodeGen/AArch64/sve-pseudos-expand-undef.mir
A llvm/test/CodeGen/AArch64/unsupported-object-format-err.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fold-binop-into-select.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-bswap.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fshr.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/known-bits-sbfe.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i32.ll
R llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-i16-to-i32.ll
A llvm/test/CodeGen/AMDGPU/bf16-math.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
A llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx1250.ll
A llvm/test/CodeGen/AMDGPU/bug-multi-operands-to-update-after-fold.mir
M llvm/test/CodeGen/AMDGPU/code-size-estimate.ll
A llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
A llvm/test/CodeGen/AMDGPU/flat-saddr-store.ll
M llvm/test/CodeGen/AMDGPU/fma.f64.ll
A llvm/test/CodeGen/AMDGPU/fold-commute-sgpr.mir
A llvm/test/CodeGen/AMDGPU/global-address.ll
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av.mir
A llvm/test/CodeGen/AMDGPU/insert-delay-alu-wmma-xdl.mir
A llvm/test/CodeGen/AMDGPU/literal64.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.log.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rcp.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rsq.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sqrt.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1250.w32.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1250.w32.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.index.gfx1250.w32.ll
A llvm/test/CodeGen/AMDGPU/llvm.log2.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.sqrt.bf16.ll
A llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx10.mir
A llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx11.mir
A llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx9.mir
R llvm/test/CodeGen/AMDGPU/merge-tbuffer.mir
M llvm/test/CodeGen/AMDGPU/opencl-printf.ll
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
A llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-fp.ll
A llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-int.ll
A llvm/test/CodeGen/AMDGPU/shrink-fma-f64.mir
A llvm/test/CodeGen/AMDGPU/trans-coexecution-hazard.mir
M llvm/test/CodeGen/AMDGPU/twoaddr-fma-f64.mir
M llvm/test/CodeGen/ARM/fast-isel-align.ll
M llvm/test/CodeGen/ARM/fp16-promote.ll
M llvm/test/CodeGen/ARM/llvm.frexp.ll
A llvm/test/CodeGen/ARM/stack-protector-target.ll
M llvm/test/CodeGen/ARM/struct_byval.ll
M llvm/test/CodeGen/ARM/trap.ll
R llvm/test/CodeGen/ARM/varargs-spill-stack-align-nacl.ll
M llvm/test/CodeGen/DirectX/flatten-array.ll
M llvm/test/CodeGen/DirectX/flatten-bug-117273.ll
M llvm/test/CodeGen/DirectX/legalize-i8.ll
A llvm/test/CodeGen/DirectX/legalize-load-store-array-alloca.ll
M llvm/test/CodeGen/DirectX/legalize-memcpy.ll
M llvm/test/CodeGen/DirectX/legalize-memset.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/scalar-bug-117273.ll
M llvm/test/CodeGen/DirectX/scalar-store.ll
M llvm/test/CodeGen/DirectX/scalarize-alloca.ll
A llvm/test/CodeGen/Generic/fp128-math-libcalls.ll
A llvm/test/CodeGen/Hexagon/llvm.exp10.ll
A llvm/test/CodeGen/Hexagon/llvm.frexp.ll
A llvm/test/CodeGen/Hexagon/thread-pointer.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fix-xvshuf.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insert-extract-element.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insert-extract-pair-elements.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insert-extract-element.ll
A llvm/test/CodeGen/LoongArch/stack-protector-target.ll
M llvm/test/CodeGen/MIR/AMDGPU/target-flags.mir
M llvm/test/CodeGen/Mips/fastcc.ll
M llvm/test/CodeGen/Mips/fp-indexed-ls.ll
M llvm/test/CodeGen/Mips/indirect-jump-hazard/long-branch.ll
M llvm/test/CodeGen/Mips/ldexp.ll
M llvm/test/CodeGen/Mips/longbranch.ll
R llvm/test/CodeGen/Mips/nacl-align.ll
R llvm/test/CodeGen/Mips/nacl-branch-delay.ll
R llvm/test/CodeGen/Mips/nacl-reserved-regs.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-expand.ll
M llvm/test/CodeGen/NVPTX/atomics-sm70.ll
M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm60.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm70.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm90.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.py
M llvm/test/CodeGen/NVPTX/distributed-shared-cluster.ll
A llvm/test/CodeGen/NVPTX/no-stack-protector-libcall-error.ll
M llvm/test/CodeGen/PowerPC/copysignl.ll
A llvm/test/CodeGen/PowerPC/spe-vsx-incompatibility.ll
A llvm/test/CodeGen/PowerPC/stack-protector-target.ll
M llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/fpenv-xlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/CodeGen/RISCV/sextw-removal.ll
A llvm/test/CodeGen/RISCV/stack-probing-frame-setup.mir
M llvm/test/CodeGen/RISCV/stack-protector-target.ll
A llvm/test/CodeGen/RISCV/xandesbfhcvt.ll
M llvm/test/CodeGen/RISCV/xqciac.ll
M llvm/test/CodeGen/RISCV/xqcibm-cto-clo-brev.ll
M llvm/test/CodeGen/RISCV/xqcibm-insert.ll
A llvm/test/CodeGen/RISCV/xqcicli.ll
M llvm/test/CodeGen/RISCV/xqcisls.ll
A llvm/test/CodeGen/SPARC/stack-protector-target.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/refract.ll
A llvm/test/CodeGen/SPIRV/opencl/refract-error.ll
A llvm/test/CodeGen/Thumb2/LowOverheadLoops/lsr-le-cost.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/sibling-loops.ll
M llvm/test/CodeGen/Thumb2/mve-pred-vselect.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-1.ll
A llvm/test/CodeGen/WebAssembly/simd-relaxed-fma.ll
M llvm/test/CodeGen/WinEH/lit.local.cfg
M llvm/test/CodeGen/WinEH/wineh-cloning.ll
M llvm/test/CodeGen/WinEH/wineh-demotion.ll
M llvm/test/CodeGen/WinEH/wineh-empty-seh-scope.ll
M llvm/test/CodeGen/WinEH/wineh-nested-unwind.ll
M llvm/test/CodeGen/WinEH/wineh-no-demotion.ll
M llvm/test/CodeGen/WinEH/wineh-noret-cleanup.ll
A llvm/test/CodeGen/WinEH/wineh-reuse-catch-alloca.ll
M llvm/test/CodeGen/X86/constructor.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-unsigned.ll
M llvm/test/CodeGen/X86/fast-isel-x32.ll
M llvm/test/CodeGen/X86/frameaddr.ll
M llvm/test/CodeGen/X86/freeze-unary.ll
M llvm/test/CodeGen/X86/i128-fp128-abi.ll
M llvm/test/CodeGen/X86/invalid-operand-bundle-call.ll
M llvm/test/CodeGen/X86/invalid-operand-bundle-callbr.ll
M llvm/test/CodeGen/X86/invalid-operand-bundle-invoke.ll
M llvm/test/CodeGen/X86/kcfi.ll
M llvm/test/CodeGen/X86/lea-2.ll
M llvm/test/CodeGen/X86/lea-3.ll
M llvm/test/CodeGen/X86/lea-4.ll
M llvm/test/CodeGen/X86/lea-5.ll
M llvm/test/CodeGen/X86/lea.ll
M llvm/test/CodeGen/X86/stack-align2.ll
A llvm/test/CodeGen/X86/stack-protector-target-openbsd.ll
M llvm/test/CodeGen/X86/test-shrink-bug.ll
M llvm/test/CodeGen/X86/unreachable-mbb-undef-phi.mir
A llvm/test/CodeGen/X86/win32-int-runtime-libcalls.ll
M llvm/test/CodeGen/X86/x86-64-baseptr.ll
M llvm/test/CodeGen/X86/x86-64-stack-and-frame-ptr.ll
A llvm/test/CodeGen/XCore/llvm.exp10.ll
A llvm/test/CodeGen/XCore/llvm.frexp.ll
A llvm/test/CodeGen/XCore/llvm.sincos.ll
M llvm/test/DebugInfo/ARM/hardware-loop-phi-insertion.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/verify.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.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/X86/avx512bw-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vl-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/x86-vpermi2.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
M llvm/test/Instrumentation/MemorySanitizer/or.ll
M llvm/test/MC/AArch64/armv9.6a-ras.s
M llvm/test/MC/AArch64/directives-case_insensitive.s
M llvm/test/MC/AArch64/reloc-directive-err.s
M llvm/test/MC/AArch64/reloc-directive.s
A llvm/test/MC/AMDGPU/fixup64.s
M llvm/test/MC/AMDGPU/gfx10_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx1250_asm_sop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
A llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
A llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32_err.s
M llvm/test/MC/AMDGPU/gfx7_err_pos.s
M llvm/test/MC/AMDGPU/gfx8_err_pos.s
M llvm/test/MC/AMDGPU/gfx9_asm_vop3_e64.s
M llvm/test/MC/AMDGPU/reloc-directive.s
R llvm/test/MC/ARM/AlignedBundling/group-bundle-arm.s
R llvm/test/MC/ARM/AlignedBundling/illegal-subtarget-change.s
R llvm/test/MC/ARM/AlignedBundling/lit.local.cfg
R llvm/test/MC/ARM/AlignedBundling/pad-align-to-bundle-end.s
R llvm/test/MC/ARM/AlignedBundling/subtarget-change.s
M llvm/test/MC/ARM/arm_instructions.s
M llvm/test/MC/ARM/reloc-directive-err.s
M llvm/test/MC/ARM/reloc-directive.s
M llvm/test/MC/AVR/reloc-directive-err.s
M llvm/test/MC/AVR/reloc-directive.s
M llvm/test/MC/AsmParser/AArch64/directive-parse-err.s
M llvm/test/MC/Disassembler/AArch64/armv9.6a-ras.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_sop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
M llvm/test/MC/ELF/mc-dump.s
M llvm/test/MC/ELF/reloc-directive.s
M llvm/test/MC/LoongArch/Relocations/reloc-directive-err.s
M llvm/test/MC/LoongArch/Relocations/reloc-directive.s
R llvm/test/MC/Mips/nacl-mask.s
M llvm/test/MC/Mips/reloc-directive-bad-obj.s
M llvm/test/MC/Mips/reloc-directive-bad.s
M llvm/test/MC/Mips/reloc-directive-label-offset.s
M llvm/test/MC/Mips/reloc-directive.s
M llvm/test/MC/PowerPC/ppc32-reloc-directive.s
M llvm/test/MC/PowerPC/ppc64-reloc-directive.s
M llvm/test/MC/RISCV/Relocations/mc-dump.s
M llvm/test/MC/RISCV/reloc-directive-err.s
M llvm/test/MC/RISCV/reloc-directive.s
M llvm/test/MC/RISCV/rv32p-valid.s
M llvm/test/MC/RISCV/rv64p-valid.s
A llvm/test/MC/RISCV/xqci-fixups.s
M llvm/test/MC/RISCV/xqcibi-relocations.s
M llvm/test/MC/RISCV/xqcilb-relocations.s
M llvm/test/MC/RISCV/xqcili-relocations.s
M llvm/test/MC/RISCV/xqcilia-valid.s
M llvm/test/MC/Sparc/Relocations/reloc-directive.s
M llvm/test/MC/SystemZ/reloc-directive.s
R llvm/test/MC/X86/AlignedBundling/align-mode-argument-error.s
R llvm/test/MC/X86/AlignedBundling/asm-printing-bundle-directives.s
R llvm/test/MC/X86/AlignedBundling/autogen-inst-offset-align-to-end.s
R llvm/test/MC/X86/AlignedBundling/autogen-inst-offset-padding.s
R llvm/test/MC/X86/AlignedBundling/bundle-group-too-large-error.s
R llvm/test/MC/X86/AlignedBundling/bundle-lock-option-error.s
R llvm/test/MC/X86/AlignedBundling/bundle-subtarget-change-error.s
R llvm/test/MC/X86/AlignedBundling/different-sections.s
R llvm/test/MC/X86/AlignedBundling/labeloffset.s
R llvm/test/MC/X86/AlignedBundling/lit.local.cfg
R llvm/test/MC/X86/AlignedBundling/lock-without-bundle-mode-error.s
R llvm/test/MC/X86/AlignedBundling/long-nop-pad.s
R llvm/test/MC/X86/AlignedBundling/misaligned-bundle-group.s
R llvm/test/MC/X86/AlignedBundling/misaligned-bundle.s
R llvm/test/MC/X86/AlignedBundling/nesting.s
R llvm/test/MC/X86/AlignedBundling/pad-align-to-bundle-end.s
R llvm/test/MC/X86/AlignedBundling/pad-bundle-groups.s
R llvm/test/MC/X86/AlignedBundling/relax-at-bundle-end.s
R llvm/test/MC/X86/AlignedBundling/relax-in-bundle-group.s
R llvm/test/MC/X86/AlignedBundling/rodata-section.s
R llvm/test/MC/X86/AlignedBundling/section-alignment.s
R llvm/test/MC/X86/AlignedBundling/single-inst-bundling.s
R llvm/test/MC/X86/AlignedBundling/switch-section-locked-error.s
R llvm/test/MC/X86/AlignedBundling/unlock-without-lock-error.s
R llvm/test/MC/X86/align-branch-bundle.s
M llvm/test/MC/X86/reloc-directive-elf-32.s
M llvm/test/MC/X86/reloc-directive-elf-64.s
M llvm/test/MC/X86/reloc-directive.s
M llvm/test/Other/opt-bisect-new-pass-manager.ll
A llvm/test/Other/opt-disable.ll
M llvm/test/TableGen/RuntimeLibcallEmitter.td
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
M llvm/test/Transforms/InferFunctionAttrs/no-proto.ll
M llvm/test/Transforms/InstCombine/AMDGPU/ptr-replace-alloca.ll
M llvm/test/Transforms/InstCombine/X86/blend_x86.ll
A llvm/test/Transforms/InstCombine/fold-icmp-without-constant-into-phi.ll
M llvm/test/Transforms/InstCombine/fold-shuffle-ext.ll
M llvm/test/Transforms/InstCombine/freeze.ll
M llvm/test/Transforms/InstCombine/icmp-select.ll
A llvm/test/Transforms/InstCombine/ptrauth-call.ll
A llvm/test/Transforms/InstCombine/ptrauth-intrinsics-call.ll
A llvm/test/Transforms/InstCombine/select-fixed-zero.ll
M llvm/test/Transforms/InstCombine/select.ll
A llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/any_all_true.ll
M llvm/test/Transforms/InstSimplify/ConstProp/atan-intrinsic.ll
M llvm/test/Transforms/InstSimplify/ConstProp/sinh-cosh-intrinsics.ll
M llvm/test/Transforms/InstSimplify/fold-intrinsics.ll
M llvm/test/Transforms/InstSimplify/sincos.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-deinterleave4.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/InterleavedAccess/RISCV/addrspace.ll
M llvm/test/Transforms/InterleavedAccess/RISCV/interleaved-accesses.ll
A llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll
A llvm/test/Transforms/LoopInterchange/reductions-with-nowraps.ll
A llvm/test/Transforms/LoopUnroll/AArch64/vector.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
A llvm/test/Transforms/LoopVectorize/AArch64/fmin-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.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.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-interleaved.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-unroll.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse-output.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/unroll-in-loop-vectorizer.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
A llvm/test/Transforms/LoopVectorize/fmin-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/global_alias.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
M llvm/test/Transforms/PhaseOrdering/X86/blendv-select.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/ext-trunc.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/external-use-icmp.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/extract-subvector-long-input.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr2.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/memory-runtime-checks.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/multiple_reduction.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/phi-node-bitwidt-op-not.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-loads.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/unreachable-blocks-with-phis.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vector-getelementptr.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/segmented-loads.ll
A llvm/test/Transforms/SLPVectorizer/X86/extract-subvector-long-input.ll
A llvm/test/Transforms/SLPVectorizer/X86/icmp-altopcode-after-reordering.ll
A llvm/test/Transforms/SLPVectorizer/X86/phi-node-bitwidt-op-not.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
R llvm/test/Transforms/SLPVectorizer/extract-subvector-long-input.ll
R llvm/test/Transforms/SLPVectorizer/icmp-altopcode-after-reordering.ll
R llvm/test/Transforms/SLPVectorizer/phi-node-bitwidt-op-not.ll
A llvm/test/Transforms/SafeStack/NVPTX/lit.local.cfg
A llvm/test/Transforms/SafeStack/NVPTX/safestack-libcall-error.ll
A llvm/test/Transforms/SafeStack/NVPTX/safestack-pointer-address-libcall-error.ll
M llvm/test/Transforms/SimplifyCFG/ARM/phi-eliminate.ll
A llvm/test/Transforms/StackProtector/cross-dso-cfi-stack-chk-fail.ll
A llvm/test/Transforms/StackProtector/stack-chk-fail-alias.ll
M llvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll
A llvm/test/tools/llc/new-pm/start-stop-inserted.ll
M llvm/test/tools/llvm-exegesis/AArch64/setReg_init_check.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-neon-instructions.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/atomic.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/floating-point.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/integer.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-arithmetic.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-bitwise.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-comparison.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-conversion.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fma.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fp.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mask.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-minmax.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mul-div.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-permutation.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-reduction.s
M llvm/test/tools/llvm-objcopy/ELF/strip-preserve-atime.test
A llvm/test/tools/llvm-objdump/ELF/RISCV/rv32-plt.test
A llvm/test/tools/llvm-objdump/ELF/RISCV/rv64-plt.test
M llvm/test/tools/llvm-objdump/ELF/program-headers.test
M llvm/test/tools/llvm-readobj/ELF/section-types.test
A llvm/test/tools/llvm-readtapi/stubify-v4-to-v5.test
M llvm/test/tools/yaml2obj/ELF/program-header.yaml
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/llvm-shlib/CMakeLists.txt
M llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/BinaryFormat/CMakeLists.txt
A llvm/unittests/BinaryFormat/SFrameTest.cpp
M llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/FuzzMutate/RandomIRBuilderTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/IntrinsicsTest.cpp
M llvm/unittests/MC/SystemZ/CMakeLists.txt
A llvm/unittests/MC/SystemZ/SystemZMCDisassemblerTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
M llvm/utils/gn/secondary/clang/tools/libclang/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni
M llvm/utils/gn/secondary/compiler-rt/test/builtins/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/lld/MachO/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesc/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/BinaryFormat/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/MC/SystemZ/BUILD.gn
M llvm/utils/gn/secondary/llvm/version.gni
M llvm/utils/lit/lit/__init__.py
M llvm/utils/mlgo-utils/mlgo/__init__.py
M llvm/utils/remote-exec.py
M mlir/docs/Tutorials/transform/Ch1.md
M mlir/include/mlir-c/Pass.h
M mlir/include/mlir/Analysis/SliceAnalysis.h
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
A mlir/include/mlir/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/Affine/Analysis/AffineAnalysis.h
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/IR/Builders.h
M mlir/include/mlir/IR/ImplicitLocOpBuilder.h
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/TableGen/Class.h
M mlir/lib/Analysis/SliceAnalysis.cpp
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/CAPI/IR/Pass.cpp
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/ComplexToROCDLLibraryCalls/CMakeLists.txt
A mlir/lib/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.cpp
M mlir/lib/Debug/BreakpointManagers/FileLineColLocBreakpointManager.cpp
M mlir/lib/Debug/ExecutionContext.cpp
M mlir/lib/Debug/Observers/ActionProfiler.cpp
M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/PDL/IR/PDL.cpp
M mlir/lib/Dialect/PDLInterp/IR/PDLInterp.cpp
M mlir/lib/Dialect/Ptr/IR/PtrAttrs.cpp
M mlir/lib/Dialect/Ptr/IR/PtrDialect.cpp
M mlir/lib/Dialect/Ptr/IR/PtrTypes.cpp
M mlir/lib/Dialect/Quant/IR/QuantDialectBytecode.cpp
M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
M mlir/lib/Dialect/Quant/Transforms/NormalizeQuantTypes.cpp
M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferDeallocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/lib/Dialect/SCF/Transforms/ParallelLoopCollapsing.cpp
M mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
M mlir/lib/Dialect/SCF/Utils/AffineCanonicalizationUtils.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/SMT/IR/SMTAttributes.cpp
M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/Shape/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Shape/Transforms/OutlineShapeComputation.cpp
M mlir/lib/Dialect/Shape/Transforms/ShapeToShapeLowering.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Traits.cpp
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/lib/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorScan.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorMaskElimination.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
M mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
M mlir/lib/Dialect/X86Vector/Transforms/AVXTranspose.cpp
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
M mlir/lib/Interfaces/LoopLikeInterface.cpp
M mlir/lib/Interfaces/SideEffectInterfaces.cpp
M mlir/lib/Pass/Pass.cpp
M mlir/lib/Pass/PassCrashRecovery.cpp
M mlir/lib/Pass/PassTiming.cpp
M mlir/lib/Query/Matcher/ErrorBuilder.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/Reducer/ReductionNode.cpp
M mlir/lib/Reducer/ReductionTreePass.cpp
M mlir/lib/Rewrite/FrozenRewritePatternSet.cpp
M mlir/lib/Support/Timing.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.h
M mlir/lib/Tools/PDLL/CodeGen/CPPGen.cpp
M mlir/lib/Tools/PDLL/ODS/Context.cpp
M mlir/lib/Tools/PDLL/ODS/Dialect.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/lsp-server-support/Logging.cpp
M mlir/lib/Tools/lsp-server-support/Protocol.cpp
M mlir/lib/Tools/lsp-server-support/Transport.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/Protocol.cpp
M mlir/lib/Tools/mlir-reduce/MlirReduceMain.cpp
M mlir/lib/Tools/mlir-translate/Translation.cpp
M mlir/lib/Tools/tblgen-lsp-server/LSPServer.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
A mlir/test/Conversion/ComplexToROCDLLibraryCalls/complex-to-rocdl-library-calls.mlir
M mlir/test/Dialect/Affine/slicing-utils.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Dialect/SPIRV/IR/availability.mlir
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type.mlir
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
A mlir/test/Target/LLVMIR/openmp-composite-simd-if.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-reduction.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
M mlir/test/Target/SPIRV/constant.mlir
M mlir/test/Target/SPIRV/image-ops.mlir
M mlir/test/Target/SPIRV/spec-constant.mlir
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/test/python/dialects/python_test.py
M mlir/test/python/lib/PythonTestModuleNanobind.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/unittests/IR/CMakeLists.txt
A mlir/unittests/IR/DistinctAttributeAllocatorTest.cpp
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/tools/offload-tblgen/DocGen.cpp
M offload/unittests/OffloadAPI/common/Fixtures.hpp
M offload/unittests/OffloadAPI/event/olWaitEvent.cpp
M offload/unittests/OffloadAPI/symbol/olGetSymbol.cpp
M third-party/benchmark/src/sysinfo.cc
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/zhaoqi5/opt-insert-hi128-element
Compare: https://github.com/llvm/llvm-project/compare/526717c66c51...d30224ce9074
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