[all-commits] [llvm/llvm-project] 64046e: [Driver] Use a range constructor of StringSet (NFC...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Fri Apr 4 10:20:04 PDT 2025
Branch: refs/heads/users/MaskRay/spr/aarch64-transition-from-mcsymbolrefexprvariantkind-constants
Home: https://github.com/llvm/llvm-project
Commit: 64046e9d2628ce421682eea8465e41554b46c96d
https://github.com/llvm/llvm-project/commit/64046e9d2628ce421682eea8465e41554b46c96d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/lib/Driver/Job.cpp
M clang/lib/Driver/Multilib.cpp
Log Message:
-----------
[Driver] Use a range constructor of StringSet (NFC) (#133201)
This patch uses a range constructor to collapse:
llvm::StringSet<> Dest;
for (const auto &S : Src)
Dest.insert(S);
down to:
llvm::StringSet<> Dest(llvm::from_range, Src);
Commit: 16d1942c069a7572efceba884452f08a157cb684
https://github.com/llvm/llvm-project/commit/16d1942c069a7572efceba884452f08a157cb684
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
Log Message:
-----------
[RISCV] Drop '-x c' from riscv-target-features.c. NFC
Commit: cc30fbacec66fd6a53aabc0880de23fc22826a3a
https://github.com/llvm/llvm-project/commit/cc30fbacec66fd6a53aabc0880de23fc22826a3a
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/docs/RISCV/RISCVVectorExtension.rst
Log Message:
-----------
[Docs][RISCV] Update RISCVVectorExtension.rst to reflect RISCVVMV0Elimination. NFC (#133058)
Also correct the old name of RISCVFoldMasks to RISCVVectorPeephole
Commit: 291fd8f2cec30a218d1a8b50958ba4647de7b7c8
https://github.com/llvm/llvm-project/commit/291fd8f2cec30a218d1a8b50958ba4647de7b7c8
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
clang/lib/Sema/SemaExprCXX.cpp: Suppress a warning introduced in #133113. [-Wunused-but-set-variable]
Commit: 68e90e4f0c57b89be0b3f4cc750019dc34aea3ea
https://github.com/llvm/llvm-project/commit/68e90e4f0c57b89be0b3f4cc750019dc34aea3ea
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M compiler-rt/lib/asan/asan_poisoning.h
Log Message:
-----------
[asan][NFCI] Add ASAN_POISONING_H header guard (#133178)
Commit: 80f216db530eda98a444bc1994c7d69a7107c3c6
https://github.com/llvm/llvm-project/commit/80f216db530eda98a444bc1994c7d69a7107c3c6
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A clang/test/Modules/no-transitive-decl-change-3.cppm
Log Message:
-----------
[C++20] [Modules] Add a test
A test from a regression in the downstream.
The test should be always good.
Commit: 618e8b9a708ed037ec90c495890344046d78e5bf
https://github.com/llvm/llvm-project/commit/618e8b9a708ed037ec90c495890344046d78e5bf
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M lldb/source/Core/Debugger.cpp
Log Message:
-----------
[lldb] Avoid unnecessary statusline redraw in HandleProgressEvent
There's no need to call RedrawStatusline from HandleProgressEvent. The
statusline gets redraw after handling all events, including progress
events, in the default event handler loop.
Commit: 55b95151d2a618b12156730962e109b3d5fa67b1
https://github.com/llvm/llvm-project/commit/55b95151d2a618b12156730962e109b3d5fa67b1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
Log Message:
-----------
[lldb] Avoid flickering by not clearing the statusline when redrawing
When redrawing the statusline, the current implementation would clear
the current line before drawing the new content. Since we always
overwrite the whole statusline from beginning to end, there's no need to
clear it and we can avoid the potential for flickering.
Commit: ad51368881bb828dbc0f0c42d7617ac860ec5e04
https://github.com/llvm/llvm-project/commit/ad51368881bb828dbc0f0c42d7617ac860ec5e04
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvmir] add llvm.experimental.constrained.sitofp intrinsics (#133166)
https://llvm.org/docs/LangRef.html#llvm-experimental-constrained-sitofp-intrinsic
Signed-off-by: Letu Ren <fantasquex at gmail.com>
Commit: 9438694a54186ee6173c93d3a662d1a42383bece
https://github.com/llvm/llvm-project/commit/9438694a54186ee6173c93d3a662d1a42383bece
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvmir] Add llvm.intr.ldexp operation (#133070)
https://llvm.org/docs/LangRef.html#llvm-ldexp-intrinsic
Commit: 2df25a47339c38875476e559d80b225dfe07ff02
https://github.com/llvm/llvm-project/commit/2df25a47339c38875476e559d80b225dfe07ff02
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/X86/fold_bitcast_md_range.ll
Log Message:
-----------
Invalidate range metadata when folding bitcast into load (#133095)
Commit: 6294325a535d8042a667ccfb4400a9f63e1bee63
https://github.com/llvm/llvm-project/commit/6294325a535d8042a667ccfb4400a9f63e1bee63
Author: Mallikarjuna Gouda <mgouda at mips.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A clang/test/CodeGen/Mips/subtarget-feature-test.c
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsSubtarget.h
Log Message:
-----------
[MIPS] Define SubTargetFeature for i6500 cpu (#132907)
PR #130587 defined same SubTargetFeature for CPUs i6400 and i6500 which
resulted into following warning when -mcpu=i6500 was used:
+i6500' is not a recognized feature for this target (ignoring feature)
This PR fixes above issue by defining separate SubTargetFeature for
i6500.
Commit: b8a0558dea942b40f6cdcfaf9b6ba62d4140d693
https://github.com/llvm/llvm-project/commit/b8a0558dea942b40f6cdcfaf9b6ba62d4140d693
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a regression on annotating template angles (#132885)
Annotate the angles in `A<B != A>B` as template opener/closer as it's
unlikely that they are less/greater-than operators in this context.
Fix #132248
Commit: 05fb8408de23c3ccb6125b6886742177755bd757
https://github.com/llvm/llvm-project/commit/05fb8408de23c3ccb6125b6886742177755bd757
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
Log Message:
-----------
[clang-format] Allow `Language: Cpp` for C files (#133033)
Fix #132832
Commit: 58a0c9570c69ecdf23e998637d2b82cfa455bf14
https://github.com/llvm/llvm-project/commit/58a0c9570c69ecdf23e998637d2b82cfa455bf14
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
R clang/test/CodeGen/Mips/subtarget-feature-test.c
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsSubtarget.h
Log Message:
-----------
Revert "[MIPS] Define SubTargetFeature for i6500 cpu" (#133215)
Reverts llvm/llvm-project#132907 due to some test failures.
Commit: f15924d1d1310527d7d78e8c66655e6b94bc241b
https://github.com/llvm/llvm-project/commit/f15924d1d1310527d7d78e8c66655e6b94bc241b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/AST/NestedNameSpecifier.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC.
Commit: 1715386e809eb9f24ed7d874b2f309853d5d8950
https://github.com/llvm/llvm-project/commit/1715386e809eb9f24ed7d874b2f309853d5d8950
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
Fix MSVC signed/unsigned comparison warning. NFC.
Commit: db98e2922f0121f2c6fb3d6f42b40f9774f9a563
https://github.com/llvm/llvm-project/commit/db98e2922f0121f2c6fb3d6f42b40f9774f9a563
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_acosh.h
A libclc/clc/include/clc/math/clc_asinh.h
A libclc/clc/include/clc/math/clc_atanh.h
A libclc/clc/include/clc/math/clc_ep_log.h
A libclc/clc/include/clc/math/clc_ep_log.inc
A libclc/clc/include/clc/math/clc_log1p.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_acosh.cl
A libclc/clc/lib/generic/math/clc_acosh.inc
A libclc/clc/lib/generic/math/clc_asinh.cl
A libclc/clc/lib/generic/math/clc_asinh.inc
A libclc/clc/lib/generic/math/clc_atanh.cl
A libclc/clc/lib/generic/math/clc_atanh.inc
A libclc/clc/lib/generic/math/clc_ep_log.cl
A libclc/clc/lib/generic/math/clc_ep_log.inc
A libclc/clc/lib/generic/math/clc_log1p.cl
A libclc/clc/lib/generic/math/clc_log1p.inc
A libclc/clc/lib/generic/math/clc_tables.cl
M libclc/generic/lib/SOURCES
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/atanh.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_rootn.cl
R libclc/generic/lib/math/ep_log.cl
R libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/tables.cl
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move log1p/asinh/acosh/atanh to the CLC library (#132956)
These four functions all related in that they share tables and helper
functions. Furthermore, the acosh and atanh builtins call log1p.
As with other work in this area, these builtins are now vectorized. To
enable this, there are new table accessor functions which return a
vector of table values using a vector of indices. These are internally
scalarized, in the absence of gather operations. Some tables which were
tables of multiple entries (e.g., double2) are split into two separate
"low" and "high" tables. This might affect the performance of memory
operations but are hopefully mitigated by better codegen overall.
Commit: 00c527abab3dfea5f3122f8151d69e77655eb033
https://github.com/llvm/llvm-project/commit/00c527abab3dfea5f3122f8151d69e77655eb033
Author: Hans Wennborg <hans at hanshq.net>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/SpillUtils.cpp
A llvm/test/Transforms/Coroutines/coro-spill-suspend.ll
Log Message:
-----------
[Coro] Allow spilling @llvm.coro.suspend() to the coro frame (#133088)
It was excluded from spilling in a263a60, possibly by accident.
In the linked bug, we hit a situation like this:
```
%s = call @llvm.coro.suspend(...)
|
switch (%s)
case v1: / \ case v2:
... ...
| suspend point
| ...
\ /
%x = phi [v1] [v2]
|
...
|
use(%x)
```
Instcombine will notice that %x correlates exactly with %s, and so
use(%x) becomes use(%s).
However, corosplit would substitute different values for %s when
splitting the function, so even though %s had a particular value when
control actually passed through the switch, it could have a *different*
value when reaching use(%s).
This illustrates that while IR from the frontend typically does not use
these suspend return values across suspend points, mid-level
optimizations on the presplit coroutine may introduce new uses of
suspend values, so they must be considered eligible to spill to the
coroutine frame.
Fixes: #130326
Commit: f7a3334016580d4e69134b574b8b4081d348ff83
https://github.com/llvm/llvm-project/commit/f7a3334016580d4e69134b574b8b4081d348ff83
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-movmsk-avx.ll
M llvm/test/CodeGen/X86/combine-sdiv.ll
M llvm/test/CodeGen/X86/vector-idiv-udiv-256.ll
Log Message:
-----------
[X86] SimplifyDemandedBitsForTargetNode - add X86ISD::BLENDI handling (#133102)
Commit: 99ec6f8aecc5d4ae8ff2ae6bebe8d670562c19df
https://github.com/llvm/llvm-project/commit/99ec6f8aecc5d4ae8ff2ae6bebe8d670562c19df
Author: WÁNG Xuěruì <git at xen0n.name>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.cpp
A llvm/test/MC/LoongArch/Misc/no-aliases.s
Log Message:
-----------
[LoongArch][MC] Add support for disassembly option "no-aliases" (#132900)
This parallels the GNU Binutils feature's usage. A hidden command-line
option `--loongarch-no-aliases` is also added, similar to how
`--loongarch-numeric-reg` is for the `numeric` option.
Commit: d7cea2b18717f0cc31b7da4a03f772d89ee201db
https://github.com/llvm/llvm-project/commit/d7cea2b18717f0cc31b7da4a03f772d89ee201db
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Symbol/UnwindPlan.cpp
Log Message:
-----------
[lldb] Remove UnwindPlan::Row shared_ptrs (#132370)
The surrounding code doesn't use them anymore. This removes the internal
usages.
This patch makes the Rows actual values. An alternative would be to make
them unique_ptrs. That would make vector resizes faster at the cost of
more pointer chasing and heap fragmentation. I don't know which one is
better so I picked the simpler option.
Commit: 71d54cd4f1cc5233437f25479166e4659fbe2e53
https://github.com/llvm/llvm-project/commit/71d54cd4f1cc5233437f25479166e4659fbe2e53
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/Function.h
M lldb/source/Symbol/Function.cpp
Log Message:
-----------
[lldb] Remove (deprecated) Function::GetAddressRange (#132923)
All uses have been replaced by GetAddressRange*s* or GetAddress.
Also fix two internal uses of the range member.
Commit: 491d3dfc761e3a03c6bd187533f4684d6864a8cb
https://github.com/llvm/llvm-project/commit/491d3dfc761e3a03c6bd187533f4684d6864a8cb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
Log Message:
-----------
[X86] combineINSERT_SUBVECTOR - fold insert_subvector(base,extract_subvector(broadcast)) -> blend shuffle(base,broadcast) (#133083)
If the broadcast is already the full vector width, try to prefer a blend over a vector insertion which is usually a lower latency (and sometimes a lower uop count).
Commit: 8abca171c3346eb7c889354d9b2288ad2b7e1504
https://github.com/llvm/llvm-project/commit/8abca171c3346eb7c889354d9b2288ad2b7e1504
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M libcxx/include/__config
M libcxx/include/__cstddef/byte.h
M libcxx/include/__exception/exception.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__exception/operations.h
M libcxx/include/__exception/terminate.h
M libcxx/include/__fwd/byte.h
M libcxx/include/__new/align_val_t.h
M libcxx/include/__new/destroying_delete_t.h
M libcxx/include/__new/exceptions.h
M libcxx/include/__new/new_handler.h
M libcxx/include/__new/nothrow_t.h
M libcxx/include/any
M libcxx/include/typeinfo
M libcxx/include/variant
Log Message:
-----------
[libc++] Introduce unversioned namespace macros (#133009)
We've started using `_LIBCPP_BEGIN_NAMESPACE_STD` and
`_LIBCPP_END_NAMESPACE_STD` for more than just the namespace for a while
now. For example, we're using it to add visibility annotations to types.
This works very well and avoids a bunch of annotations, but doesn't work
for the few places where we have an unversioned namespace. This adds
`_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD` and
`_LIBCPP_END_UNVERSIONED_NAMESPACE_STD` to make it simpler to add new
annotations consistently across the library as well as making it more
explicit that the unversioned namespace is indeed intended.
Commit: 6c2171672f03356835c534a0ec18250233ea66db
https://github.com/llvm/llvm-project/commit/6c2171672f03356835c534a0ec18250233ea66db
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
Fix gcc signed/unsigned comparison warning. NFC.
Commit: 3284559cca4bc64e78e8243bb34195216e8979ee
https://github.com/llvm/llvm-project/commit/3284559cca4bc64e78e8243bb34195216e8979ee
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_atan2.h
A libclc/clc/include/clc/math/clc_atan2pi.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_atan2.cl
A libclc/clc/lib/generic/math/clc_atan2.inc
A libclc/clc/lib/generic/math/clc_atan2pi.cl
A libclc/clc/lib/generic/math/clc_atan2pi.inc
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/generic/lib/math/atan2.cl
M libclc/generic/lib/math/atan2pi.cl
M libclc/generic/lib/math/tables.cl
Log Message:
-----------
[libclc] Move atan2/atan2pi to the CLC library (#133226)
As with other work in this area, these builtins are now vectorized.
A further table has been split into two. There was discrepancy between
comments above the table describing the values as "lead" and "tail" and
variables taken from the table called "head" and "tail", so these have
been unified as head/tail.
Commit: 6c56a842b73cf2046b9ab8cf077890e11b758373
https://github.com/llvm/llvm-project/commit/6c56a842b73cf2046b9ab8cf077890e11b758373
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGLoopInfo.h
M clang/test/CodeGenCXX/pragma-followup_inner.cpp
M clang/test/CodeGenCXX/pragma-followup_outer.cpp
M clang/test/CodeGenCXX/pragma-loop.cpp
M llvm/test/Transforms/LoopVectorize/make-followup-loop-id.ll
Log Message:
-----------
[clang][CodeGen] Generate follow-up metadata for loops in correct format (#131985)
When pragma of loop transformations is specified, follow-up metadata for
loops is generated after each transformation. On the LLVM side,
follow-up metadata is expected to be a list of properties, such as the
following:
```
!followup = !{!"llvm.loop.vectorize.followup_all", !mp, !isvectorized}
!mp = !{!"llvm.loop.mustprogress"}
!isvectorized = !{"llvm.loop.isvectorized"}
```
However, on the clang side, the generated metadata contains an MDNode
that has those properties, as shown below:
```
!followup = !{!"llvm.loop.vectorize.followup_all", !loop_id}
!loop_id = distinct !{!loop_id, !mp, !isvectorized}
!mp = !{!"llvm.loop.mustprogress"}
!isvectorized = !{"llvm.loop.isvectorized"}
```
According to the
[LangRef](https://llvm.org/docs/TransformMetadata.html#transformation-metadata-structure),
the LLVM side is correct. Due to this inconsistency, follow-up metadata
was not interpreted correctly, e.g., only one transformation is applied
when multiple pragmas are used.
This patch fixes clang side to emit followup metadata in correct format.
Commit: 1a140820ab6962a387eeec17ebe669c724822c49
https://github.com/llvm/llvm-project/commit/1a140820ab6962a387eeec17ebe669c724822c49
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
Log Message:
-----------
[RISCV] Have GPRMem on the correct operand in QCIRVInstESStore (#133042)
It should be on rs1 and not rs2.
Commit: a9672515ce6b8b1bc6976ed1225f4fb4d53fa381
https://github.com/llvm/llvm-project/commit/a9672515ce6b8b1bc6976ed1225f4fb4d53fa381
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
Log Message:
-----------
[Clang] Correct the DeclRefExpr's Type after the initializer gets instantiated (#133212)
The instantiation of a VarDecl's initializer might be deferred until the
variable is actually used. However, we were still building the
DeclRefExpr with a type that could later be changed by the initializer's
instantiation, which is incorrect when incomplete arrays are involved.
Fixes #79750
Fixes #113936
Fixes #133047
Commit: 39e7efe1e4304544289d8d1b45f4d04d11b4a791
https://github.com/llvm/llvm-project/commit/39e7efe1e4304544289d8d1b45f4d04d11b4a791
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
M lldb/unittests/Host/HostTest.cpp
Log Message:
-----------
[lldb] Respect LaunchInfo::SetExecutable in ProcessLauncherPosixFork (#133093)
Using argv[0] for this was incorrect. I'm ignoring LaunchInfo::SetArg0,
as that's what darwin and windows launchers do (they use the first
element of the args vector instead).
I picked up the funny unit test re-exec method from the llvm unit tests.
Commit: a6e56162c251db180f4618202c8088acba311ce8
https://github.com/llvm/llvm-project/commit/a6e56162c251db180f4618202c8088acba311ce8
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Modify operand regclass in load store patterns (#133071)
$rs1 is defined as GPRMem in the correspoding instruction definition
classes.
Commit: 17aca79d98d92510d131c4766a040b02adf6c4b8
https://github.com/llvm/llvm-project/commit/17aca79d98d92510d131c4766a040b02adf6c4b8
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/UnwindTable.h
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindTable.cpp
A lldb/test/Shell/Unwind/Inputs/basic-block-sections-with-dwarf.s
A lldb/test/Shell/Unwind/Inputs/linux-x86_64.yaml
A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf-static.test
A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf.test
Log Message:
-----------
[lldb] Teach FuncUnwinders about discontinuous functions (#133072)
The main change here is that we're now able to correctly look up plans
for these functions. Previously, due to caching, we could end up with
one entry covering most of the address space (because part of the
function was at the beginning and one at the end). Now, we can correctly
recognise that the part in between does not belong to that function, and
we can create a different FuncUnwinders instance for it. It doesn't help
the discontinuous function much (its plan will still be garbled), but
we can at least properly unwind out of the simple functions in between.
Fixing the unwind plans for discontinuous functions requires handling
each unwind source specially, and this setup allows us to make the
transition incrementally.
Commit: ac09b789d8add7325fbf95d0feeb03a29de79b5c
https://github.com/llvm/llvm-project/commit/ac09b789d8add7325fbf95d0feeb03a29de79b5c
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/invalid.mlir
Log Message:
-----------
[mlir][scf] Remove redundant ensureTerminator for `scf.forall` (#133081)
The override function `ensureTerminator` ensures that the terminator
`InParallelOp` has a region. However, if the terminator of `scf.forall`
is not an `InParallelOp`, calling ensureTerminator causes a crash. Since
the InParallelOp builder already guarantees the existence of a region,
`ForallOp::ensureTerminator` is redundant and can be safely removed.
Fixes #130019.
Commit: 17d05695388128353662fbb80bbb7a13d172b41d
https://github.com/llvm/llvm-project/commit/17d05695388128353662fbb80bbb7a13d172b41d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M libcxx/include/__configuration/availability.h
M libcxx/include/__functional/hash.h
M libcxx/include/__string/char_traits.h
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/functional.cpp
Log Message:
-----------
[libc++] Instantiate hash function externally (#127040)
This has multiple benefits:
- There is a single instance of our hash function, reducing object file
size
- The hash implementation isn't instantiated in every TU anymore,
reducing compile times
- Behind an ABI configuration macro it would be possible to salt the
hash
Commit: d0aa1f9c43a4a5709e060aea6c844bdcc70bcd0e
https://github.com/llvm/llvm-project/commit/d0aa1f9c43a4a5709e060aea6c844bdcc70bcd0e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/hip-toolchain-rdc.hip
M libc/startup/gpu/CMakeLists.txt
Log Message:
-----------
[Clang] Make `--lto-partitions` only default for HIP (#133164)
Summary:
The default behavior for LTO on other targets does not specify the
number of LTO partitions. Recent changes made this default to 8 on
AMDGPU which had some issues with the `libc` project. The option to
disable this is HIP only so I think for now we should restrict this just
to HIP.
I'm definitely on board with getting some more parallelism here, but I
think it should probably be restricted to just offloading languages. The
new driver goes through the `--target=amdgcn-amd-amdhsa` for its output,
which means we'd need to forward the default somehow.
Commit: 8fdfe3f2a752b5886faf88c96ce61a0465f7dc9b
https://github.com/llvm/llvm-project/commit/8fdfe3f2a752b5886faf88c96ce61a0465f7dc9b
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M libcxx/include/__algorithm/min_element.h
M libcxx/include/__algorithm/ranges_max.h
M libcxx/include/__algorithm/ranges_max_element.h
M libcxx/include/__algorithm/ranges_min.h
M libcxx/include/__algorithm/ranges_min_element.h
Log Message:
-----------
[libc++] Refactor ranges::{min, max, min_element, max_element} to use std::__min_element (#132418)
Previously, ranges::min_element delegated to ranges::__min_element_impl, which
duplicated the definition of std::__min_element. This patch updates
ranges::min_element to directly call std::__min_element, which allows
removing the redundant code in ranges::__min_element_impl.
Upon removal of ranges::__min_element_impl, the other ranges algorithms
ranges::{min,max,max_element}, which previously delegated to ranges::__min_element_impl,
have been updated to call std::__min_element instead.
This refactoring unifies the implementation across these algorithms,
ensuring that future optimizations or maintenance work only need to be
applied in one place.
Commit: 27a437108be83b217d9b7b8360fc40d42ae4458b
https://github.com/llvm/llvm-project/commit/27a437108be83b217d9b7b8360fc40d42ae4458b
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/fpextend.ll
M llvm/test/Transforms/InstCombine/scalable-const-fp-splat.ll
Log Message:
-----------
[InstCombine] Handle scalable splats of constants in getMinimumFPType (#132960)
We previously handled ConstantExpr scalable splats in
5d929794a87602cfd873381e11cc99149196bb49, but only fpexts.
ConstantExpr fpexts have since been removed, and simultaneously we
didn't handle splats of constants that weren't extended.
This updates it to remove the fpext check and instead see if we can
shrink the result of getSplatValue.
Note that the test case doesn't get completely folded away due to
#132922
Commit: b9666cf2034e103ef28280fae61f43fae7e28192
https://github.com/llvm/llvm-project/commit/b9666cf2034e103ef28280fae61f43fae7e28192
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Reverse the order of Base and Offset in Core-V RegReg operand. (#133209)
This puts the base before the offset to match the order we use for base
ISA where the offset is an immediate.
I'm investigating using sub-operands for the base ISA loads and stores
too so having a consistent operand order will allow more sharing.
Commit: 427ce92ea61c5ea96a60aa505aa7b1de56571fa3
https://github.com/llvm/llvm-project/commit/427ce92ea61c5ea96a60aa505aa7b1de56571fa3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M libcxx/include/__filesystem/operations.h
Log Message:
-----------
[libc++][NFC] Move dylib function in <__filesystem/operations.h> together
Most of the dylib functions inside `<__filesystem/operations.h>` are at
the top of the file. There are a few spread out in the file for some
reason, which this patch fixes.
Commit: bc7e3915e1a0a4e859115dec38c3fdff5e43fcf7
https://github.com/llvm/llvm-project/commit/bc7e3915e1a0a4e859115dec38c3fdff5e43fcf7
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
Log Message:
-----------
[MLIR][NVGPU] Add `mbarrier.get` Op (#133221)
The `mbarrier.create` op can create multiple mbarrier objects, and other
mbarrier-related ops can access an mbarrier using a dynamic SSA value.
This is especially useful when using mbarriers in dynamic loops.
This PR adds the `mbarrier.get` op, which returns a pointer to a
specific mbarrier object from a group of barriers created by the
nvgpu.mbarrier.create operation. It is useful when composing the NVGPU
and NVVM dialects.
Example:
```
%mbars = nvgpu.mbarrier.create
-> !nvgpu.mbarrier.group<memorySpace = #gpu.address_space<workgroup>, num_barriers = 10>
%mbar_pointer = nvgpu.mbarrier.get %mbars[%c2]
: !nvgpu.mbarrier.group<memorySpace = #gpu.address_space<workgroup>>
-> i32
```
Commit: 38d9a445106cba09854d9d00050a20f6faa4dd0b
https://github.com/llvm/llvm-project/commit/38d9a445106cba09854d9d00050a20f6faa4dd0b
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
Log Message:
-----------
[MLIR][NVGPU] Add `tma.fence.descriptor` OP (#133218)
When the TMA descriptor is transferred from host memory to global memory
using cudaMemcpy, each thread block must insert a fence before any
thread accesses the updated tensor map in global memory. Once the tensor
map has been accessed, no additional fences are needed by that block
unless the map is modified again.
[Example from cuda programming
guide](https://docs.nvidia.com/cuda/cuda-c-programming-guide/#using-tma-to-transfer-multi-dimensional-arrays).
The `tma.fence.descriptor` basically implements
`ptx::fence_proxy_tensormap_generic`.
```
#include <cuda.h>
#include <cuda/ptx>
namespace ptx = cuda::ptx;
__device__ CUtensorMap global_tensor_map;
__global__ void kernel(CUtensorMap *tensor_map)
{
// Fence acquire tensor map:
ptx::n32_t<128> size_bytes;
// Since the tensor map was modified from the host using cudaMemcpy,
// the scope should be .sys.
ptx::fence_proxy_tensormap_generic(
ptx::sem_acquire, ptx::scope_sys, tensor_map, size_bytes
);
// Safe to use tensor_map after fence inside this thread..
}
int main() {
CUtensorMap local_tensor_map;
// [ ..Initialize map.. ]
cudaMemcpy(&global_tensor_map, &local_tensor_map, sizeof(CUtensorMap), cudaMemcpyHostToDevice);
kernel<<<1, 1>>>(global_tensor_map);
}
```
Commit: ba1d9019675d6a215626104f726d151c622619f5
https://github.com/llvm/llvm-project/commit/ba1d9019675d6a215626104f726d151c622619f5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/itofp-rv32.mir
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/frm-dependency.ll
Log Message:
-----------
[RISCV] Set mayRaiseFPException = 0 on FCVT_D_W(U). (#133200)
The input is an integer which can't be NAN so the NV(invalid) exception
can't be raised. The conversion is exact so it can't raise NX(inexact),
UF(underflow), or OF(overflow). The instructions are not divide so they
can't raise DZ(divide by zero).
Fixes #133192.
Commit: cde58bfc16d46417e55bb4d7614631ac84b72cc0
https://github.com/llvm/llvm-project/commit/cde58bfc16d46417e55bb4d7614631ac84b72cc0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/ExtractGV.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
Log Message:
-----------
[Transforms] Use range constructors of *Set (NFC) (#133203)
Commit: 7cc17fb08597bc08ca37c90ed17981d884940e33
https://github.com/llvm/llvm-project/commit/7cc17fb08597bc08ca37c90ed17981d884940e33
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M llvm/include/llvm/ADT/SmallSet.h
M llvm/include/llvm/ADT/StringSet.h
M llvm/unittests/ADT/SmallSetTest.cpp
Log Message:
-----------
[ADT] Remove old range constructors of SmallSet and StringSet (#133205)
This patch removes the old range constructors of SmallSet and
StringSet that do not take the llvm::from_range tag. Since there are
so few uses, this patch directly removes them without going through
the deprecation process.
Commit: d32e71d7c732c37fd28241b85f501d7a192aa22c
https://github.com/llvm/llvm-project/commit/d32e71d7c732c37fd28241b85f501d7a192aa22c
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A libclc/clc/include/clc/math/binary_def_via_fp32.inc
A libclc/clc/include/clc/math/clc_fmod.h
A libclc/clc/include/clc/math/clc_remainder.h
A libclc/clc/include/clc/math/clc_remquo.h
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/math/remquo_decl.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_fmod.cl
A libclc/clc/lib/generic/math/clc_remainder.cl
A libclc/clc/lib/generic/math/clc_remquo.cl
M libclc/clspv/lib/SOURCES
M libclc/generic/include/clc/math/remquo.h
R libclc/generic/include/clc/math/remquo.inc
R libclc/generic/include/math/clc_fmod.h
R libclc/generic/include/math/clc_remainder.h
R libclc/generic/include/math/clc_remquo.h
M libclc/generic/lib/SOURCES
R libclc/generic/lib/math/clc_fmod.cl
R libclc/generic/lib/math/clc_remainder.cl
R libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/fmod.cl
M libclc/generic/lib/math/remainder.cl
M libclc/generic/lib/math/remquo.cl
M libclc/generic/lib/math/remquo.inc
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move fmod, remainder & remquo to the CLC library (#132054)
These functions were already nominally in the CLC namespace; this commit
just formally moves them over.
Note that 'half' versions of these CLC functions are now provided.
Previously the corresponding OpenCL builtins would forward directly to
the 'float' versions of the CLC builtins. Now the OpenCL builtins call
the 'half' CLC builtins, which themselves call the 'float' CLC versions.
This keeps the interface between the OpenCL and CLC libraries neater and
keeps the CLC library self-contained.
No changes to the generated code for non-SPIR-V targets is observed.
Commit: b38c23b4c199221af9e043041f2e594ec1e3745b
https://github.com/llvm/llvm-project/commit/b38c23b4c199221af9e043041f2e594ec1e3745b
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir
Log Message:
-----------
[RISCV] Update two autogen tests to reduce spurious diffs [NFC]
Commit: 8742022ec74c54f1415707261ccc2054a3decd5f
https://github.com/llvm/llvm-project/commit/8742022ec74c54f1415707261ccc2054a3decd5f
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/bfloat-br-fcmp.ll
M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
M llvm/test/CodeGen/RISCV/float-br-fcmp.ll
M llvm/test/CodeGen/RISCV/half-br-fcmp.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
Log Message:
-----------
[RISCV] Canonicalize foldable branch conditions in optimizeCondBranch (#132988)
optimizeCondBranch isn't allowed to modify the CFG, but it can rewrite
the branch condition freely. However, If we could fold a conditional
branch to an unconditional one (aside from that restriction), we can
also rewrite it into some canonical conditional branch instead.
Looking at the diffs, the only cases this catches in tree tests are
cases where we could have constant folded during lowering from IR, but
didn't. This is inspired by trying to salvage code from
https://github.com/llvm/llvm-project/pull/131684 which might be useful.
Given the test impact, it's of questionable merits. The main advantage
over only the late cleanup pass is that it kills off the LIs for the
constants early - which can help e.g. register allocation.
Commit: a8575b3ea84fa308a63f8ced18453d2df58e75ef
https://github.com/llvm/llvm-project/commit/a8575b3ea84fa308a63f8ced18453d2df58e75ef
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/pr42905.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[DAG] visitEXTRACT_SUBVECTOR - accumulate SimplifyDemandedVectorElts demanded elts across all EXTRACT_SUBVECTOR uses (#133130)
Similar to what is done for visitEXTRACT_VECTOR_ELT - if all uses of a
vector are EXTRACT_SUBVECTOR, then determine the accumulated demanded
elts across all users and call SimplifyDemandedVectorElts in
"AssumeSingleUse" use.
Commit: 0ae6185b455876b98cf58888117e3043cb43d060
https://github.com/llvm/llvm-project/commit/0ae6185b455876b98cf58888117e3043cb43d060
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-slot-rv32.mir
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-slot-rv64.mir
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
Log Message:
-----------
[RISCV] Manually update MIR inputs to reflect #79e82b6
Since we've changed what get's generated, we should update the snapshots
of MIR. Otherwise, we end up testing configurations which are no longer
possible from codegen.
Commit: 59d06071e9b509e874f24c465b13eb77cffa1d42
https://github.com/llvm/llvm-project/commit/59d06071e9b509e874f24c465b13eb77cffa1d42
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .github/new-prs-labeler.yml
A clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
Log Message:
-----------
[NFC][HLSL] Move emitter out of AMDGPU.cpp (#133251)
- Move all HLSL code out of AMDGPU.cpp to CGHLSLBuiltins.cpp
- Fixes accidental reorganization of HLSL code into AMDGPU caused by
(https://github.com/llvm/llvm-project/pull/132252,
https://github.com/llvm/llvm-project/commit/7f920e2e5f70b)
Commit: 64178316cf8b85525874b5a33e412f83d8542a5e
https://github.com/llvm/llvm-project/commit/64178316cf8b85525874b5a33e412f83d8542a5e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 59d06071e9b5
Commit: e5ec87f3b6816086563e39ac1f4c4f77064fba6d
https://github.com/llvm/llvm-project/commit/e5ec87f3b6816086563e39ac1f4c4f77064fba6d
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/lib/asan/asan_rtl.cpp
Log Message:
-----------
[asan] Print diagnostic if unlimited stack size detected (#133170)
This adds a diagnostic message if the stack size is unlimited. This would have simplified the diagnosis of https://github.com/google/sanitizers/issues/856#issuecomment-2747076811; we anticipate this may help diagnose future issues too.
Commit: 3a5d77608baf6dac9792f4d156196a7042e894ff
https://github.com/llvm/llvm-project/commit/3a5d77608baf6dac9792f4d156196a7042e894ff
Author: Michael Jones <michaelrj at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/src/__support/OSUtil/linux/CMakeLists.txt
Log Message:
-----------
[libc] Update headers on aarch64 (#133180)
The entrypoints for aarch64 are mostly up to date, but the headers are
not. This patch fixes that, and also makes explicit the dependency from
OSUtils/linux on sys/syscalls.h
Commit: f612d705252dbf16265649ae5155d51b4c569182
https://github.com/llvm/llvm-project/commit/f612d705252dbf16265649ae5155d51b4c569182
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
A clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/acos.hlsl
A clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin.hlsl
A clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan.hlsl
A clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2.hlsl
A clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
A clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
A clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cosh.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees.hlsl
A clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp.hlsl
A clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2.hlsl
A clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
A clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac.hlsl
A clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
A clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
A clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
A clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize.hlsl
A clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
A clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians.hlsl
A clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
A clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
A clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh.hlsl
A clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
A clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step.hlsl
A clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan.hlsl
A clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh.hlsl
A clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
Log Message:
-----------
[HLSL] Add new int overloads for math builtins (#133162)
Add int overloads which cast the various ints to a float and call the
float builtin.
These overloads are conditional on hlsl version 202x or earlier.
Add tests and puts tests in own files, including some of the tests added
for double overloads.
Closes #128229
Commit: 82c078c54d16b20c65d5e361f5da58b0b83c8c47
https://github.com/llvm/llvm-project/commit/82c078c54d16b20c65d5e361f5da58b0b83c8c47
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/docs/index.rst
M libcxx/include/__configuration/compiler.h
Log Message:
-----------
[libc++] Remove official Clang 18 support. (#130142)
Since Clang 20 has been release we no longer support Clang 18 per our
policy.
Note the Clang 18 workarounds will be removed in a follow-up patch.
Commit: 85c54a519fa6856b3e9a462445633ed4535eafa4
https://github.com/llvm/llvm-project/commit/85c54a519fa6856b3e9a462445633ed4535eafa4
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/docs/CommandGuide/clang.rst
M clang/docs/UsersManual.rst
M clang/www/c_status.html
Log Message:
-----------
[Docs] Document freestanding requirements (#132232)
This adds some initial documentation about freestanding requirements for
Clang. The most critical part of the documentation is spelling out that
a conforming freestanding C Standard Library is required; Clang will not
be providing the headers for <string.h> in C23 which expose a number of
symbols in freestanding mode.
The docs also make it clear that in addition to a conforming
freestanding C standard library, the library must provide some
additional symbols which LLVM requires.
These docs are not comprehensive, this is just getting the bare bones in
place so that they can be expanded later.
This also updates the C status page to make it clear that we don't have
anything to do for WG14 N2524 which adds string interfaces to
freestanding mode.
Commit: 08bb0b86dc8d8047fc5ef3180ae6388605c4d0c6
https://github.com/llvm/llvm-project/commit/08bb0b86dc8d8047fc5ef3180ae6388605c4d0c6
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/simplify-condbr.ll
Log Message:
-----------
[RISCV] Add test case for PR #133256
Commit: 00c43ae23524d72707701620da89ad248393a8e4
https://github.com/llvm/llvm-project/commit/00c43ae23524d72707701620da89ad248393a8e4
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/TokenKinds.def
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/C/C2y/n3369.c
A clang/test/C/C2y/n3369_1.c
A clang/test/C/C2y/n3369_2.c
A clang/test/C/C2y/n3469.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Implement WG14 N3369 and N3469 (_Countof) (#133125)
C2y adds the `_Countof` operator which returns the number of elements in
an array. As with `sizeof`, `_Countof` either accepts a parenthesized
type name or an expression. Its operand must be (of) an array type. When
passed a constant-size array operand, the operator is a constant
expression which is valid for use as an integer constant expression.
This is being exposed as an extension in earlier C language modes, but
not in C++. C++ already has `std::extent` and `std::size` to cover these
needs, so the operator doesn't seem to get the user enough benefit to
warrant carrying this as an extension.
Fixes #102836
Commit: ae54f476f7d856682976f08622ee70880318a1b1
https://github.com/llvm/llvm-project/commit/ae54f476f7d856682976f08622ee70880318a1b1
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/Sema/SemaConcept.cpp
A clang/test/SemaCXX/concepts-subsumption.cpp
Log Message:
-----------
[Clang] Improve subsumption. (#132849)
The main goal of this patch is to improve the
performance of concept subsumption by
- Making sure literal (atomic) clauses are de-duplicated (Whether 2
atomic constraint is established during the initial normal form
production).
- Eagerly removing duplicated clauses.
This should minimize the risks of exponentially large formulas that can
be produced by a naive {C,D}NF transformation.
While at it, I restructured that part of the code to be a bit clearer.
Subsumption of fold expanded constraint is also cached.
---
Note that removing duplicated clauses seems to be necessary and
sufficient to have acceptable performance on anything that could be
construed as reasonable code.
Ultimately, the number of clauses is always going to be fairly small
(but $2^{fairly\ small}$ is quickly *fairly large*..).
I went too far in the rabbit hole of Tseitin transformations etc, which
was much faster but would then require to check satisfiabiliy to
establish subsumption between some constraints (although it was good
enough to pass all but ones of our tests...).
It doesn't help that the C++ standard has a very specific definition of
subsumption that is really more of an implication...
While that sort of musing is fascinating, it was ultimately a fool's
errand, at least until such time that there is more motivation for a SAT
solver in clang (clang-tidy can after all use z3!).
Here be dragons.
Fixes #122581
Commit: c6406c8dba33d4cf8495257f70f52a21d06245ea
https://github.com/llvm/llvm-project/commit/c6406c8dba33d4cf8495257f70f52a21d06245ea
Author: David Green <david.green at arm.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/cast.ll
M llvm/test/Analysis/CostModel/AArch64/insert-extract.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/min-max.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-minmax.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-load.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
Log Message:
-----------
[AArch64] Add getVectorInstrCost Codesize costs handling. (#130946)
We have a lot of missing Codesize costs for vector operations. This
patch starts things off by adding codesize costs for getVectorInstrCost,
returning a single cost instead of the VectorInsertExtractBaseCost
(which is typically 2). Insert of a load are given a cost of 0 as they
use ld1, otherwise the cost is 1.
Commit: 08aedf7201e296af532575685372bb5ff7ed8b01
https://github.com/llvm/llvm-project/commit/08aedf7201e296af532575685372bb5ff7ed8b01
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
A mlir/test/Dialect/LLVMIR/call-param.mlir
M mlir/test/Dialect/LLVMIR/parameter-attrs-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR][LLVM] Lift alignstack attribute ptr type restriction (#133195)
Current usage of alignstack is restricted to LLVM pointer types, whereas
when it's used in parameters it's possible to use it for other types,
see examples like `{i8, i8}, [2 x float], etc` in `llvm/test/CodeGen`.
This PR lifts the restriction and add testcases.
Commit: aa207c3f054abb630be61cd60a11840a5c341c19
https://github.com/llvm/llvm-project/commit/aa207c3f054abb630be61cd60a11840a5c341c19
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
M llvm/test/tools/llvm-mca/RISCV/SiFiveP500/load.s
Log Message:
-----------
[RISCV] Update the latency of floating point load in SiFive P500 scheduling model (#133165)
P500-series cores should have a floating point load latency closer to 5
cycles, just like P400- and P600-series cores.
Commit: d584cea064003f0c4c96e31a657fab1b2259a5c5
https://github.com/llvm/llvm-project/commit/d584cea064003f0c4c96e31a657fab1b2259a5c5
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Use TypeSize instead of uint64_t in getMachineMemOperand interface (#133274)
The primary reason is that if you pass a TypeSize without explicitly
converting to LocationSize, you otherwise implicit convert to uint64_t
to call the respective LocationSize constructor. This means that any
scalable value becomes a runtime assertion failure.
By replacing uint64_t with TypeSize in this API, we avoid the implicit
conversion for TypeSize. uint64_t callers implicit convert to
LocationSize (via the raw constructor) which should have unchanged
behavior.
Commit: 4480f26e939304f5aa659b72fe16746dfe96601e
https://github.com/llvm/llvm-project/commit/4480f26e939304f5aa659b72fe16746dfe96601e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/test/C/C2y/n3369_2.c
Log Message:
-----------
Fix failing test case for _Countof
Test just needs an explicit triple that was missed.
Commit: fb993cd2290c0cf71a5192f350adf12424b55890
https://github.com/llvm/llvm-project/commit/fb993cd2290c0cf71a5192f350adf12424b55890
Author: Ariel-Burton <arielburton at yahoo.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/test/Sema/for.c
Log Message:
-----------
Add guard to for loop test clang/test/Sema/for.c (#133169)
Commit 20b7f5982622f includes a case that checks diagnostics for for
loops using thread locals.
This fails on platforms which do not support TLS.
This change adds guards to run this part of the test iff the feature is
supported.
Commit: 8ddbc01295af21b06503f5a376c5572f4ed589c9
https://github.com/llvm/llvm-project/commit/8ddbc01295af21b06503f5a376c5572f4ed589c9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
Log Message:
-----------
[VPlan] Manage FindLastIV start value in ComputeFindLastIVResult (NFC) (#132690)
Keep the start value as operand of ComputeFindLastIVResult. A follow-up
patch will use this to make sure the start value is frozen if needed.
Depends on https://github.com/llvm/llvm-project/pull/132689
PR: https://github.com/llvm/llvm-project/pull/132690
Commit: 1a7af2a90fb043b25cbba15ce941ebfdba0e6717
https://github.com/llvm/llvm-project/commit/1a7af2a90fb043b25cbba15ce941ebfdba0e6717
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][DataLayout] Add `IsolatedFromAbove` to `DataLayoutOpInterface` (#132742)
This patch adds the `IsolatedFromAbove` trait as a dependent trait to
the `DataLayoutOpInterface` op interface.
The motivation behind this change comes from the implementation of the
`ptr` dialect, specifically the `ptr.type_offset` op. This op produces
an int-like value that equates to the size of a memory element. This is
useful for ptr arithmetic and indexing arrays. For example:
```mlir
%f32_off = ptr.type_offset f32 : index
%addr = ptr.ptradd %ptr, %f32_off : !ptr, index
%x = ptr.load %addr : !ptr -> f32 // Read ptr[1]
```
Without the `IsolatedFromAvobe` trait in the DL interface, the
`ptr.type_offset` cannot be `ConstantLike`. Why?
Take the example:
```mlir
op {DL1} {
%f32_off0 = ptr.type_offset f32 : index
op {DL2} {
%f32_off1 = ptr.type_offset f32 : index
}
}
```
If `ptr.type_offset` were to be `ConstantLike` then `canonicalize` would
hoist and unique the value. However, that could be wrong as DL2 could
have an entry to specify the size that's different from the size in DL1.
The best solution to the above problem is to make
`DataLayoutOpInterface` require the `IsolatedFromAbove` trait, as it
preserves the constness of values in the DL with respect to the
canonicalizer.
Commit: c90a536bcff5d4decc330535b6b3de3aeb139811
https://github.com/llvm/llvm-project/commit/c90a536bcff5d4decc330535b6b3de3aeb139811
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[CodeGen] Simplify code using TypeSize overloads of getMachineMemOperand [nfc]
These were added in d584cea. This change runs through existing uses and
simplifies where obvious.
Commit: a2432793ea7d12ecbd424f7ed2c0e36f34a2df24
https://github.com/llvm/llvm-project/commit/a2432793ea7d12ecbd424f7ed2c0e36f34a2df24
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
[Clang] Add 'Joseph Huber' as offloading driver maintainer (#133296)
Summary:
I am probably the person most familiar with the offloading pipeline in
clang at this point.
Commit: 8bdcd0a96e65557c8c3bf506d186c49002db6463
https://github.com/llvm/llvm-project/commit/8bdcd0a96e65557c8c3bf506d186c49002db6463
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll
Log Message:
-----------
[LAA] Add missing test coverage for retrying with runtime checks.
Adds extra test coverage showing change by
https://github.com/llvm/llvm-project/pull/128045.
Commit: 5cb3052ccc5016beff2061a622caed9a4578ba92
https://github.com/llvm/llvm-project/commit/5cb3052ccc5016beff2061a622caed9a4578ba92
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Bump CI container to LLVM 20.1.1
This patch bumps the CI container to the latest LLVM Release and gets rid of
the patch that we were carrying that is in 20.1.1.
Reviewers: tstellar
Reviewed By: tstellar
Pull Request: https://github.com/llvm/llvm-project/pull/132567
Commit: 18172e461cfcc2d8331b95a68ba6b08350149f2b
https://github.com/llvm/llvm-project/commit/18172e461cfcc2d8331b95a68ba6b08350149f2b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .github/workflows/build-ci-container.yml
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Bump CI container to ubuntu 24.04
This helps keep things up to date, and should not cause any issues given we do
not need to care about binary compatibility for things built in the CI
container. This patch also changes the name of the container which allows
incrementally moving jobs over after this lands.
Reviewers: tstellar
Reviewed By: tstellar
Pull Request: https://github.com/llvm/llvm-project/pull/132568
Commit: 48864a52ef547ac0477271127b510dd9e9798219
https://github.com/llvm/llvm-project/commit/48864a52ef547ac0477271127b510dd9e9798219
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Symbol/UnwindPlan.cpp
Log Message:
-----------
Revert "[lldb] Remove UnwindPlan::Row shared_ptrs (#132370)" (#133299)
This reverts commit d7cea2b18717f0cc31b7da4a03f772d89ee201db. It causes
crashes in API tests.
Commit: 5eccd71ce4f852c7b2f06ecd1976d9e34040fcaa
https://github.com/llvm/llvm-project/commit/5eccd71ce4f852c7b2f06ecd1976d9e34040fcaa
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Add assertion ensuring Plan's UF matches BestUF (NFC).
Commit: e9d517d183b18ef6c94e0d0d10d1ac229a4a6014
https://github.com/llvm/llvm-project/commit/e9d517d183b18ef6c94e0d0d10d1ac229a4a6014
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
M clang/test/Driver/hip-toolchain-rdc.hip
Log Message:
-----------
[Clang] Handle `-flto-partitions` generically and forward it properly (#133283)
Summary:
The https://github.com/llvm/llvm-project/pull/128509 patch introduced
`--flto-partitions`. This was marked as a HIP only argument, and was
also spelled and handled incorrectly for an `-f` option. This patch
makes the handling generic for `ld.lld` consumers.
This also fixes some issues with emitting the flags being put after the
default arguments, preventing users from overriding them. Also, forwards
things properly for the new driver so we can test this.
Commit: 02b45f4b811afa6f87b36605ae6f767a5dfa5025
https://github.com/llvm/llvm-project/commit/02b45f4b811afa6f87b36605ae6f767a5dfa5025
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[AMDGPU] Add a new function `getIntegerPairAttribute` (#133271)
The new function will return `std::nullopt` when any error occurs.
Commit: ee0009c4e63b299c6d310ed49c60f430947d8f56
https://github.com/llvm/llvm-project/commit/ee0009c4e63b299c6d310ed49c60f430947d8f56
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
Log Message:
-----------
[RISCV] Sort list of files. NFC.
Commit: 2fb53f59c17add00a00e98d92b15cefcfa00f346
https://github.com/llvm/llvm-project/commit/2fb53f59c17add00a00e98d92b15cefcfa00f346
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
R .ci/generate_test_report.py
A .ci/generate_test_report_buildkite.py
A .ci/generate_test_report_lib.py
A .ci/generate_test_report_lib_test.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M llvm/CMakeLists.txt
Log Message:
-----------
[CI] Refactor generate_test_report script
This patch refactors the generate_test_report script, namely turning it
into a proper library, and pulling the script/unittests out into
separate files, as is standard with most python scripts. The main
purpose of this is to enable reusing the library for the new Github
premerge.
Reviewers: tstellar, DavidSpickett, Keenuts, lnihlen
Reviewed By: DavidSpickett
Pull Request: https://github.com/llvm/llvm-project/pull/133196
Commit: a1a5594ad2173be10e3e790fb1dce1a059d32e5b
https://github.com/llvm/llvm-project/commit/a1a5594ad2173be10e3e790fb1dce1a059d32e5b
Author: egebeysel <beyselege at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/test/Dialect/Arith/emulate-wide-int.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-subi-i32.mlir
Log Message:
-----------
[mlir][arith] add wide integer emulation support for subi (#133248)
Adds wide integer emulation support for the `arith.subi` op. `(i2N, i2N)
-> (i2N)` ops are emulated as `(vector<2xiN>, vector<2xiN>) ->
(vector<2xiN>)`, just as the other emulation patterns.
The emulation uses the following scheme:
```
resLow = lhsLow - rhsLow; // carry = 1 if rhsLow > lhsLow
resHigh = lhsLow - carry - rhsLow;
```
Signed-off-by: Ege Beysel <beysel at roofline.ai>
Commit: 7712de3062b979345fae0b9717796339a70c593b
https://github.com/llvm/llvm-project/commit/7712de3062b979345fae0b9717796339a70c593b
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/test/lit.common.cfg.py
Log Message:
-----------
[compiler-rt][tests][AIX] Use /opt/freeware/bin/env (#133160)
`env -u` is not supported by the system `env` utility on AIX.
`/opt/freeware/bin/env` is the standard path for the GNU coreutils `env`
utility as distributed by the AIX Toolbox for Open Source Software.
Adding `/opt/freeware/bin` to `PATH` causes issues by picking up other
utilities that are less capable, in an AIX context, than the system
ones.
This patch modifies the relevant usage of `env` to use (on AIX) the full
path to `/opt/freeware/bin/env`.
Commit: 8244f8210f2e62f68429a0daf104fd483ada45ab
https://github.com/llvm/llvm-project/commit/8244f8210f2e62f68429a0daf104fd483ada45ab
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
Log Message:
-----------
[lldb] Emit progress events in SymbolFileDWARFDebugMap (#133211)
Emit progress events from SymbolFileDWARFDebugMap. Because we know the
number of OSOs, we can show determinate progress. This is based on a
patch from Adrian, and part of what prompted me to look into improving
how LLDB shows progress events. Before the statusline, all these
progress events would get shadowed and never displayed on the command
line.
Commit: 0d4f12ee0046b83d28dbf3a8aca07a0f27b77786
https://github.com/llvm/llvm-project/commit/0d4f12ee0046b83d28dbf3a8aca07a0f27b77786
Author: Matthew Bastien <matthew_bastien at apple.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
A lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
A lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
A lldb/tools/lldb-dap/src-ts/ui/error-with-notification.ts
A lldb/tools/lldb-dap/src-ts/ui/show-error-message.ts
Log Message:
-----------
[lldb-dap] Allow providing debug adapter arguments in the extension (#129262)
Added a new setting called `lldb-dap.arguments` and a debug
configuration attribute called `debugAdapterArgs` that can be used to
set the arguments used to launch the debug adapter. Right now this is
mostly useful for debugging purposes to add the `--wait-for-debugger`
option to lldb-dap.
Additionally, the extension will now check for a changed lldb-dap
executable or arguments when launching a debug session in server mode. I
had to add a new `DebugConfigurationProvider` to do this because VSCode
will show an unhelpful error modal when the
`DebugAdapterDescriptorFactory` returns `undefined`.
In order to facilitate this, I had to add two new properties to the
launch configuration that are used by the
`DebugAdapterDescriptorFactory` to tell VS Code how to launch the debug
adapter:
- `debugAdapterHostname` - the hostname for an existing lldb-dap server
- `debugAdapterPort` - the port for an existing lldb-dap server
I've also removed the check for the `executable` argument in
`LLDBDapDescriptorFactory.createDebugAdapterDescriptor()`. This argument
is only set by VS Code when the debug adapter executable properties are
set in the `package.json`. The LLDB DAP extension does not currently do
this (and I don't think it ever will). So, this makes the debug adapter
descriptor factory a little easier to read.
The check for whether or not `lldb-dap` exists has been moved into the
new `DebugConfigurationProvider` as well. This way the extension won't
get in the user's way unless they actually try to start a debugging
session. The error will show up as a modal which will also make it more
obvious when something goes wrong, rather than popping up as a warning
at the bottom right of the screen.
Commit: 7c3ecffe9b23411463919742ad8399f6aa48af4b
https://github.com/llvm/llvm-project/commit/7c3ecffe9b23411463919742ad8399f6aa48af4b
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/test/Fir/CUDA/cuda-constructor.f90
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/global.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Target/LLVMIR/Import/global-variables.ll
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/mlir-runner/global-constructors.mlir
Log Message:
-----------
[MLIR][LLVMIR] Add support for the full form of global_{ctor,dtor} (#133176)
Currently only ctor/dtor list and their priorities are supported. This
PR adds support for the missing data field.
Few implementation notes:
- The assembly printer has a fixed form because previous `attr_dict`
will sort the dict by key name, making global_dtor and global_ctor
differ in the order of printed arguments.
- LLVM's `ptr null` is being converted to `#llvm.zero` otherwise we'd
have to create a region to use the default operation conversion from
`ptr null`, which is silly given that the field only support null or a
symbol.
Commit: 57e5b82e8cf4b892ce023c37c9f6053c15c582a5
https://github.com/llvm/llvm-project/commit/57e5b82e8cf4b892ce023c37c9f6053c15c582a5
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lld/MachO/SyntheticSections.cpp
M lld/test/MachO/icf-safe-thunks-dwarf.ll
Log Message:
-----------
[lld-macho] Fix STABS entries for `--icf=safe_thunks` and `--keep-icf-stabs` (#133179)
When using the linker flags `--icf=safe_thunks` and `--keep-icf-stabs`
together, an issue arises with the STABS debugging entries in the linked
output. The problem affects STABS entries for functions that are folded
via ICF using thunks.
For instance, if `func1` is merged into `func2` through a thunk, the
STABS entry for `func1` incorrectly points to the object file of
`func2`. This is incorrect behavior—each function’s STABS entry should
consistently point to its own original object file (e.g., the STABS
entry for `func1` should reference `func1`’s object file). This issue
causes `dsymutil` to not be able to retrieve the debug information for
the problematic function.
This patch corrects this behavior - making it so that STABS entries
always point to the correct object file.
Commit: 5c26e80e57eba912cc7eb47b1a33afa46c1526e5
https://github.com/llvm/llvm-project/commit/5c26e80e57eba912cc7eb47b1a33afa46c1526e5
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
Log Message:
-----------
[LV] Make cost model tests independent of VPValue numbers.
Update tests to not rely on hard-coded VPValue numbers.
Commit: 2a96beca9b502776d5e2a3be2da3f886135b056e
https://github.com/llvm/llvm-project/commit/2a96beca9b502776d5e2a3be2da3f886135b056e
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/source/Core/Debugger.cpp
Log Message:
-----------
[SBProgress][CLI] Configure sbprogress events to be emitted for the CLI (#133309)
In the original SBProgress patch, #123837, I didn't ensure the debugger
was broadcasting these events to the CLI as SBProgress has far been
focused on DAP. We had an internal ask to have SBProgress events
broadcasted to the CLI so this patch addresses that.
<img width="387" alt="image"
src="https://github.com/user-attachments/assets/5eb93a46-1db6-4d46-a6b7-2b2f9bbe71db"
/>
Commit: 1d9d4651df9490360a883f4479a90de5bcab0a71
https://github.com/llvm/llvm-project/commit/1d9d4651df9490360a883f4479a90de5bcab0a71
Author: Alexander Weinrauch <alexander.weinrauch at amd.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
Log Message:
-----------
[MLIR][ROCDL] Enable AliasAnalysis for GlobalLoadLds and LDS_Read_Tr (#133255)
Enables AliasAnalysis for `GlobalLoadLds` and `LDS_Read_Tr`. All other
memory related ROCDL Ops have this already enabled.
Commit: f2849fe05f03f06bef1384e7dbb9b6f296cf36ab
https://github.com/llvm/llvm-project/commit/f2849fe05f03f06bef1384e7dbb9b6f296cf36ab
Author: AdityaK <hiraditya at msn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
Fix RemoveDeadValues: Bail out early when there are no terminators (#133316)
Fixes: #131765
Commit: 10f983aebbb3a27c122b2a0f0ba9f2c809f1c8b9
https://github.com/llvm/llvm-project/commit/10f983aebbb3a27c122b2a0f0ba9f2c809f1c8b9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
Log Message:
-----------
[RISCV] Remove ParserMatchClass and DecoderMethod from an operand only used by pseudos. NFC
Commit: 52975d5c9fd524ab82dae16d8ef6890708c40fae
https://github.com/llvm/llvm-project/commit/52975d5c9fd524ab82dae16d8ef6890708c40fae
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
M mlir/test/Dialect/SCF/uplift-while.mlir
Log Message:
-----------
[mlir][scf] Allow different forwarding ordering in uplift
- Allow 'before' arguments are forwarded in different order to 'after'
body when uplifting `scf.while` to `scf.for`.
Commit: 01e505b9922485514d4e1f9a26c390d0e7a71bf4
https://github.com/llvm/llvm-project/commit/01e505b9922485514d4e1f9a26c390d0e7a71bf4
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
Log Message:
-----------
[clang-tidy][misc-const-correctness] fix fp when using const array type. (#133018)
Fixed: #132931
const array is immutable in C/C++ language design, we don't need to
check constness for it.
Commit: d8e44a9ab2901eee7cd0440b62722eb01cac94d7
https://github.com/llvm/llvm-project/commit/d8e44a9ab2901eee7cd0440b62722eb01cac94d7
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
A llvm/lib/Target/RISCV/RISCVLateBranchOpt.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/bfloat-br-fcmp.ll
M llvm/test/CodeGen/RISCV/branch_zero.ll
M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
M llvm/test/CodeGen/RISCV/float-br-fcmp.ll
M llvm/test/CodeGen/RISCV/half-br-fcmp.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/CodeGen/RISCV/simplify-condbr.ll
Log Message:
-----------
[RISCV] Add late optimization pass for riscv (#133256)
This patch is an alternative to PRs #117060, #131684, #131728.
The patch adds a late optimization pass that replaces conditional
branches that can be statically evaluated with an unconditinal branch.
Adding Michael as a co-author as most of the code that evaluates the
condition comes from #131684.
Co-authored-by: Michael Maitland michaeltmaitland at gmail.com
Commit: 50ea777e40dd0732fe08457d6326db538f0369b0
https://github.com/llvm/llvm-project/commit/50ea777e40dd0732fe08457d6326db538f0369b0
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/Other/time-passes.ll
M llvm/tools/opt/NewPMDriver.cpp
Log Message:
-----------
[opt][timers] Fix time-passes.ll test failing on reversed iterators (#131941)
After https://github.com/llvm/llvm-project/pull/131217 was submitted,
time-passes.ll fails because `opt` prints `-time-report` when
`ManagedTimerGlobals` is destroyed. `ManagedTimerGlobals` stores
`TimerGroup`s in an unordered map, so the ordering of the output
`TimerGroup`s depends on the underlying iterator.
To fix this, we do what Clang does and use
`llvm::TimerGroup::printAll(...)`, which *is* deterministic. This is
also what Clang does. This does put move analysis section before the
pass section for `-time-report`, but again, this is also what Clang
currently does.
Commit: 5b7fd708fe792331baeade8b8d736c1d5310e0ee
https://github.com/llvm/llvm-project/commit/5b7fd708fe792331baeade8b8d736c1d5310e0ee
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/pr42905.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
Revert "[DAG] visitEXTRACT_SUBVECTOR - accumulate SimplifyDemandedVectorElts demanded elts across all EXTRACT_SUBVECTOR uses" (#133331)
Reverts llvm/llvm-project#133130
This touches a common file as #133083, which is causing failures
Commit: c10e26ba2eb307dcef95d91ea12aa13dc96e8d19
https://github.com/llvm/llvm-project/commit/c10e26ba2eb307dcef95d91ea12aa13dc96e8d19
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/source/Core/CoreProperties.td
Log Message:
-----------
[lldb] Improve default statusline colors to work with more color schemes (#133315)
Use the reverse video [1] font effect (`${ansi.negative}`) as the
default for the statusline. Inverting the foreground and background
color has a better change as looking reasonably good, compared to
picking an arbitrary color.
[1] https://en.wikipedia.org/wiki/Reverse_video
Commit: c676eb770a2608d9ace02a59d6d40844bce35de7
https://github.com/llvm/llvm-project/commit/c676eb770a2608d9ace02a59d6d40844bce35de7
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll
Log Message:
-----------
[PreISelIntrinsicLowering][test] Add coverage for @llvm.experimental.memset.pattern with ptr pattern argument
These tests all show the desired output because after #132026, the
intrinsic can take any sized type as an argument. The tests were adapted
from those I proposed adding in #129220.
Commit: a285be320aadad51c431eed87cc2540951b3e4da
https://github.com/llvm/llvm-project/commit/a285be320aadad51c431eed87cc2540951b3e4da
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
Log Message:
-----------
[WebKit Checkers] Recognize Objective-C and CF pointer conversion functions. (#132784)
Recognize dynamic_objc_cast, checked_objc_cast, dynamic_cf_cast, and
checked_cf_cast.
Commit: a42342265f005bca6d4a22d464fa0e357104c7f6
https://github.com/llvm/llvm-project/commit/a42342265f005bca6d4a22d464fa0e357104c7f6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port d8e44a9ab290
Commit: a10a9134023539ee6ab3d166518487f40e368334
https://github.com/llvm/llvm-project/commit/a10a9134023539ee6ab3d166518487f40e368334
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/llvm-tests.yml
Log Message:
-----------
workflows: Add missing apt-get update to abi tests (#133264)
Commit: 864d4f940bdd3f5d1d45cdde573dd7fdc766e14e
https://github.com/llvm/llvm-project/commit/864d4f940bdd3f5d1d45cdde573dd7fdc766e14e
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Trim traling blank in VOP3Instructions.td. NFC. (#133330)
Commit: e9dc0518c92ce0551f44b1b49722b4fb5f54ec4b
https://github.com/llvm/llvm-project/commit/e9dc0518c92ce0551f44b1b49722b4fb5f54ec4b
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
Revert "Fix gcc signed/unsigned comparison warning. NFC." (#133334)
This reverts commit 6c2171672f03356835c534a0ec18250233ea66db. It touches
a common file as #133083, which is causing failures
Commit: 5e1fba4243eea8f0166de20217416a12e26b45be
https://github.com/llvm/llvm-project/commit/5e1fba4243eea8f0166de20217416a12e26b45be
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
Log Message:
-----------
Revert "[X86] combineINSERT_SUBVECTOR - fold insert_subvector(base,extract_subvector(broadcast)) -> blend shuffle(base,broadcast)" (#133340)
Reverts llvm/llvm-project#133083
This causes BuildBot failures, and causes time outs in some of our internal tests (3 min => over 5 min).
Commit: fc33aa9684243dcce84b81f11c004061350b945a
https://github.com/llvm/llvm-project/commit/fc33aa9684243dcce84b81f11c004061350b945a
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/cmake/modules/CheckProblematicConfigurations.cmake
Log Message:
-----------
[llvm][cmake] Quote CMAKE_CXX_COMPILER_ID in string comparison (#133332)
We're seeing following configuration error when building the `runtimes`
target on our buildbots:
```
CMake Error at /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/llvm/cmake/modules/CheckProblematicConfigurations.cmake:14 (if):
if given arguments:
"STREQUAL" "MSVC"
Unknown arguments specified
Call Stack (most recent call first):
/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/llvm/cmake/modules/HandleLLVMOptions.cmake:10 (include)
CMakeLists.txt:175 (include)
```
If I understand correctly this happens because ${CMAKE_CXX_COMPILER_ID}
is empty. Quoting it should make the comparison work for those cases.
Commit: 2e3c31779018b9bea6abe262510b0bada148c1a5
https://github.com/llvm/llvm-project/commit/2e3c31779018b9bea6abe262510b0bada148c1a5
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
Log Message:
-----------
Fix the assertion failure in Analysis/Checkers/WebKit/forward-decl-checker.mm after https://github.com/llvm/llvm-project/pull/132784. (#133341)
Commit: 9cd88847b57a43c1f862e54abce445a2f2f8f46f
https://github.com/llvm/llvm-project/commit/9cd88847b57a43c1f862e54abce445a2f2f8f46f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
Log Message:
-----------
[RISCV] Remove unused MCOperandPredicate from simm12_lsb00000. NFC
I don't think the use of isBareSymbolRef() was correct since we
don't have any relocations associated with this instruction type.
Commit: d18faf646082b75634e0a2f616feba34fe29a378
https://github.com/llvm/llvm-project/commit/d18faf646082b75634e0a2f616feba34fe29a378
Author: AdityaK <hiraditya at msn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
Log Message:
-----------
[MLIR] NFC: Remove unused includes (#133327)
Commit: aa3149d204ed019c53eedd1bb00a315c0db41270
https://github.com/llvm/llvm-project/commit/aa3149d204ed019c53eedd1bb00a315c0db41270
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[sanitizer] intercept getservent_r, getservbyname_r, getservbyport_r (#133339)
Commit: f4e14e7cf37543e2b57b7b6422a0bd94c50e9040
https://github.com/llvm/llvm-project/commit/f4e14e7cf37543e2b57b7b6422a0bd94c50e9040
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Const correct reference argument to isElementRotate. NFC
Commit: d7c53a91c2c11439429bbd50bb1d0a202c553a47
https://github.com/llvm/llvm-project/commit/d7c53a91c2c11439429bbd50bb1d0a202c553a47
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/IR/EnumAttr.td
M mlir/include/mlir/TableGen/EnumInfo.h
M mlir/lib/TableGen/EnumInfo.cpp
M mlir/lib/TableGen/Pattern.cpp
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/IR/attribute.mlir
M mlir/test/lib/Dialect/Test/TestEnumDefs.td
M mlir/test/mlir-tblgen/enums-gen.td
M mlir/tools/mlir-tblgen/EnumPythonBindingGen.cpp
M mlir/tools/mlir-tblgen/EnumsGen.cpp
M mlir/tools/mlir-tblgen/OpDocGen.cpp
M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
M mlir/utils/spirv/gen_spirv_dialect.py
Log Message:
-----------
[mlir] Decouple enum generation from attributes, adding EnumInfo and EnumCase (#132148)
This commit pulls apart the inherent attribute dependence of classes
like EnumAttrInfo and EnumAttrCase, factoring them out into simpler
EnumCase and EnumInfo variants. This allows specifying the cases of an
enum without needing to make the cases, or the EnumInfo itself, a
subclass of SignlessIntegerAttrBase.
The existing classes are retained as subclasses of the new ones, both
for backwards compatibility and to allow attribute-specific information.
In addition, the new BitEnum class changes its default printer/parser
behavior: cases when multiple keywords appear, like having both nuw and
nsw in overflow flags, will no longer be quoted by the operator<<, and
the FieldParser instance will now expect multiple keywords. All
instances of BitEnumAttr retain the old behavior.
Commit: 75ca080daba6585d0a6522187aab4bc781ba4103
https://github.com/llvm/llvm-project/commit/75ca080daba6585d0a6522187aab4bc781ba4103
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqccmp.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
A llvm/test/MC/Disassembler/RISCV/xqccmp-invalid-rlist.txt
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32xqccmp-valid.s
M llvm/test/MC/RISCV/rv64e-xqccmp-valid.s
M llvm/test/MC/RISCV/rv64xqccmp-valid.s
Log Message:
-----------
[RISCV][Xqccmp] Correctly Parse/Disassemble pushfp (#133188)
In the `qc.cm.pushfp` instruction, it is like `cm.pushfp` except in one
important way - `qc.cm.pushfp {ra}, -N*16` is not a valid encoding,
because this would update `s0`/`fp`/`x8` without saving it.
This change now correctly rejects this variant of the instruction, both
during parsing and during disassembly. I also implemented validation for
immediates that represent register lists (both kinds), which may help to
catch bugs in the future.
Commit: cd6e959102888279dc7e75a41ebd75a08ac3f7a5
https://github.com/llvm/llvm-project/commit/cd6e959102888279dc7e75a41ebd75a08ac3f7a5
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
Revert "[MC] Explicitly mark MCSymbol for MO_ExternalSymbol" (#133291)
Reverts llvm/llvm-project#108880 .
The patch has no regression test, no description of why the fix is
necessary, and the code is modifying MC datastructures in a way that's
forbidden in the AsmPrinter.
Fixes #132055.
Commit: 3a3732c2527056342051068c3dbaef4e822bd0a6
https://github.com/llvm/llvm-project/commit/3a3732c2527056342051068c3dbaef4e822bd0a6
Author: egebeysel <beysel at roofline.ai>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/test/Dialect/Arith/emulate-wide-int.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptosi-i64.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptoui-i64.mlir
Log Message:
-----------
[mlir][arith] wide integer emulation support for fpto*i ops (#132375)
Adding wide integer emulation support for `arith.fpto*i` operations. As
the other emulated operations, the upper and lower `N` bits of the `i2N`
integer result are emitted separately.
For the unsigned case we use the following emulation
```c
// example is 64 -> 32 bit emulation, but the implementation is generalized to any 2N -> N case
const double TWO_POW_N = (uint_64_t(1) << N); // 2^N, N is the bitwidth of the widest int supported
// f is a floating-point value representing the input of the fptoui op.
uint32_t hi = (uint32_t)(f / TWO_POW_N); // Truncates the division result
uint32_t lo = (uint32_t)(f - hi * TWO_POW_N); // Subtracts to get the lower bits.
```
For the signed case, we defer the emulation of the absolute value to
`fptoui` and handle the sign:
```
fptosi(fp) = sign(fp) * fptoui(abs(fp))
```
The edge cases of `NaNs, +-inf` and overflows/underflows are undefined
behaviour and the resulting numbers are the combination of the lower
bitwidth UB values. These operations also propagate poison values.
Signed-off-by: Ege Beysel <beysel at roofline.ai>
Commit: d443cd62d289d972c0245488920acba2b14f7cf9
https://github.com/llvm/llvm-project/commit/d443cd62d289d972c0245488920acba2b14f7cf9
Author: Hank Chang <hank.chang at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[ASan] Move early exit checks outside "instrumentFunction()" to avoid… (#133285)
… unnecessary FunctionSanitizer construction (NFC)
This patch moves several early-exit checks (e.g., empty function, etc.)
out of `AddressSanitizer::instrumentFunction` and into the caller. This
change avoids unnecessary construction of FunctionSanitizer when
instrumentation is not needed.
Commit: 89cfeeb062577069d1da236d33810bb0416f1102
https://github.com/llvm/llvm-project/commit/89cfeeb062577069d1da236d33810bb0416f1102
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
Log Message:
-----------
[clang] fix structural comparison for dependent class member pointer (#133343)
Fixes a regression introduced in
https://github.com/llvm/llvm-project/pull/130537 and reported here
https://github.com/llvm/llvm-project/issues/133144
This fixes a crash in ASTStructuralEquivalence where the non-null
precondition for IsStructurallyEquivalent would be violated, when
comparing member pointers with a dependent class.
This also drive-by fixes the ast node traverser for member pointers so
it doesn't traverse into the qualifier in case it's not a type, or the
class declaration in case it would be equivalent to what the qualifier
refers.
This avoids printing of `<<<NULL>>>` on the text node dumper, which is
redundant.
No release notes since the regression was never released.
Fixes https://github.com/llvm/llvm-project/issues/133144
Commit: ebe1ece4bbfdcd29dd2b578f466998970f28a333
https://github.com/llvm/llvm-project/commit/ebe1ece4bbfdcd29dd2b578f466998970f28a333
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A llvm/test/TableGen/CompressInstEmitter/suboperands.td
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[TableGen][RISCV] Support sub-operands in CompressInstEmitter.cpp. (#133039)
I'm looking into using sub-operands for memory operands. This would use
MIOperandInfo to create a single operand that contains a register and
immediate as sub-operands. We can treat this as a single operand for
parsing and matching in the assembler. I believe this will provide some
simplifications like removing the InstAliases we need to support "(rs1)"
without an immediate.
Doing this requires making CompressInstEmitter aware of sub-operands.
I've chosen to use a flat list of operands in the CompressPats so each
sub-operand is represented individually.
Commit: a6cb5cc0f0b6448e9b2d05017ea17fccf1eb1feb
https://github.com/llvm/llvm-project/commit/a6cb5cc0f0b6448e9b2d05017ea17fccf1eb1feb
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/test/IR/invalid-builtin-attributes.mlir
Log Message:
-----------
[mlir] Add nullptr checks in SparseElementsAttr parser (#133222)
This PR adds nullptr checks in the SparseElementsAttr parser to improve
robustness and prevent crashes. Fixes #132891.
Commit: d131b78e060c709d41ba55572a5639f8e9f7ecc0
https://github.com/llvm/llvm-project/commit/d131b78e060c709d41ba55572a5639f8e9f7ecc0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/pr133217.ll
Log Message:
-----------
[RISCV] Disable i1 fixed vectors with more than 1024 elements. (#133267)
v2048i1 is an MVT, but v2048i8 is not so we don't support i8 vectors
with more than 1024 elements. Lowering a v2048i1 shufflevector would
requires promoting to v2048i8. Since v2048i8 isn't legal and isn't an
MVT this leads to a crash.
To fix the crash, this patch makes v2048i1 an illegal type.
Commit: 725a7b664b92cd2e884806de5a08900b43d43cce
https://github.com/llvm/llvm-project/commit/725a7b664b92cd2e884806de5a08900b43d43cce
Author: wanglei <wanglei at loongson.cn>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/MC/LoongArch/Relocations/relocations.s
Log Message:
-----------
[LoongArch] Pre-commit test for #133225
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/133224
Commit: 14c36db16fc090ef494ff6d8207562c414b40e30
https://github.com/llvm/llvm-project/commit/14c36db16fc090ef494ff6d8207562c414b40e30
Author: Lang Hames <lhames at apple.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/GetDylibInterface.cpp
A llvm/test/ExecutionEngine/JITLink/x86-64/Inputs/libFooUniversalDylib.yaml
A llvm/test/ExecutionEngine/JITLink/x86-64/MachO_foo-in-weak-dylib.s
Log Message:
-----------
[ORC] Generalize GetDylibInterface to support MachO Universal Binaries.
Also adds a testcase for dylib handling in llvm-jitlink`s -weak-lx and
-weak_library options.
Commit: f359c0bde52a06d841910aff0a61041c9b573763
https://github.com/llvm/llvm-project/commit/f359c0bde52a06d841910aff0a61041c9b573763
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptosi-i64.mlir
M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptoui-i64.mlir
M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-subi-i32.mlir
Log Message:
-----------
[mlir][arith] Trim trailing spaces in wide int emulation tests. NFC. (#133349)
Followup cleanup after https://github.com/llvm/llvm-project/pull/132375
and https://github.com/llvm/llvm-project/pull/133248
Commit: 52d7f14a895eb8669d72cd02754e5586de3e61d8
https://github.com/llvm/llvm-project/commit/52d7f14a895eb8669d72cd02754e5586de3e61d8
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
Revert "[sanitizer] intercept getservent_r, getservbyname_r, getservbyport_r" (#133358)
Reverts llvm/llvm-project#133339
Commit: c8b69c90760072b2813a3465d70817470f63cd4a
https://github.com/llvm/llvm-project/commit/c8b69c90760072b2813a3465d70817470f63cd4a
Author: Jinjie Huang <huangjinjie at bytedance.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
Log Message:
-----------
[NFC][SampleFDO] Clean the unneeded field and the related loop (#132376)
Clean the unneeded field 'TotalCollectedSamples' and the unnecessary
loop.
The field seems introduced in:https://reviews.llvm.org/D31952, and its
uses were removed in: https://reviews.llvm.org/D19287, but this field
and unnecessary calculation were not cleaned up.
This patch will remove these unneeded codes.
Commit: a1bb7507455ce407ebbb659ddf0d5ae4bb5c3869
https://github.com/llvm/llvm-project/commit/a1bb7507455ce407ebbb659ddf0d5ae4bb5c3869
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[mlir] Use a range constructor of DenseSet (NFC) (#133355)
Commit: cb80b26e3731e7b10ff516d66761a3cfbc55bd20
https://github.com/llvm/llvm-project/commit/cb80b26e3731e7b10ff516d66761a3cfbc55bd20
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
Log Message:
-----------
[clang] Use *Set::insert_range (NFC) (#133357)
We can use *Set::insert_range to collapse:
for (auto Elem : Range)
Set.insert(E);
down to:
Set.insert_range(Range);
In some cases, we can further fold that into the set declaration.
Commit: d055e58334a91dcbaee22eb87bcdae85a1f33cd4
https://github.com/llvm/llvm-project/commit/d055e58334a91dcbaee22eb87bcdae85a1f33cd4
Author: wanglei <wanglei at loongson.cn>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchFloatInstrFormats.td
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/MC/LoongArch/Relocations/relocations.s
M llvm/test/MC/LoongArch/lasx/invalid-imm.s
M llvm/test/MC/LoongArch/lsx/invalid-imm.s
Log Message:
-----------
[LoongArch][MC] Add relocation support for fld fst [x]vld [x]vst
This also fixes errors when using Clang with step-by-step compilation.
Because the optimization will pass relocation information to memory
access instructions. For example:
t.c:
```
float f = 0.1;
float foo() { return f;}
```
```
clang --target=loongarch64 -O2 -c t.c --save-temps
```
Reviewed By: tangaac, SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/133225
Commit: c9197b27b484713c312c16cad12f9b518c1323c5
https://github.com/llvm/llvm-project/commit/c9197b27b484713c312c16cad12f9b518c1323c5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
Log Message:
-----------
[AMDGPU] Use MapVector instead of DenseMap (NFC) (#133356)
This patch combines:
DenseMap<MachineBasicBlock *, bool> ReachableMap;
SmallVector<MachineBasicBlock *, 4> ReachableOrdered;
into:
MapVector<MachineBasicBlock *, bool> ReachableMap;
because we add elements to the two data structures in lockstep, and we
care about preserving the insertion order.
As a side benefit, we get to avoid hash lookups at:
ReachableMap[MBB] = true;
Commit: 673f4705a827aba52b991d446a90a1c0ca5641a5
https://github.com/llvm/llvm-project/commit/673f4705a827aba52b991d446a90a1c0ca5641a5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/ProfileData/SampleProf.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.h
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[llvm] Use *Set::insert_range (NFC) (#133353)
We can use *Set::insert_range to collapse:
for (auto Elem : Range)
Set.insert(E.first);
down to:
Set.insert_range(llvm::make_first_range(Range));
In some cases, we can further fold that into the set declaration.
Commit: 81c6ce3b33ff462a23744c82f493e1e1ea3844de
https://github.com/llvm/llvm-project/commit/81c6ce3b33ff462a23744c82f493e1e1ea3844de
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Simplify VOP3_CVT_PK_F8_F32_Profile. NFC. (#133328)
Commit: 0ed4bdfe70d88e8b7aa70739ffcb655ad01226ef
https://github.com/llvm/llvm-project/commit/0ed4bdfe70d88e8b7aa70739ffcb655ad01226ef
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/test/MC/PowerPC/ppc64-fixups.s
Log Message:
-----------
PPCAsmParser: Detect multiple specifiers
In addition, simplify extractSpecifier and switch to the `Specifier`
naming convention.
Commit: 96e5ee23a76136851a52f48c780249e2a86a5ce9
https://github.com/llvm/llvm-project/commit/96e5ee23a76136851a52f48c780249e2a86a5ce9
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/AArch64/lite-mode.s
Log Message:
-----------
[BOLT][AArch64] Add partial support for lite mode (#133014)
In lite mode, we only emit code for a subset of functions while
preserving the original code in .bolt.org.text. This requires updating
code references in non-emitted functions to ensure that:
* Non-optimized versions of the optimized code never execute.
* Function pointer comparison semantics is preserved.
On x86-64, we can update code references in-place using "pending
relocations" added in scanExternalRefs(). However, on AArch64, this is
not always possible due to address range limitations and linker address
"relaxation".
There are two types of code-to-code references: control transfer (e.g.,
calls and branches) and function pointer materialization.
AArch64-specific control transfer instructions are covered by #116964.
For function pointer materialization, simply changing the immediate
field of an instruction is not always sufficient. In some cases, we need
to modify a pair of instructions, such as undoing linker relaxation and
converting NOP+ADR into ADRP+ADD sequence.
To achieve this, we use the instruction patch mechanism instead of
pending relocations. Instruction patches are emitted via the regular MC
layer, just like regular functions. However, they have a fixed address
and do not have an associated symbol table entry. This allows us to make
more complex changes to the code, ensuring that function pointers are
correctly updated. Such mechanism should also be portable to RISC-V and
other architectures.
To summarize, for AArch64, we extend the scanExternalRefs() process to
undo linker relaxation and use instruction patches to partially
overwrite unoptimized code.
Commit: 4485e25dd2a57be1ee504b4dd863a1e140f5084c
https://github.com/llvm/llvm-project/commit/4485e25dd2a57be1ee504b4dd863a1e140f5084c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h
Log Message:
-----------
[compiler-rt][nfc] DenseMap needs placement new (#133329)
Commit: 68571f91515b8467723322ece8da3ea2d00c7596
https://github.com/llvm/llvm-project/commit/68571f91515b8467723322ece8da3ea2d00c7596
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h
Log Message:
-----------
Revert "[compiler-rt][nfc] DenseMap needs placement new (#133329)"
This reverts commit 4485e25dd2a57be1ee504b4dd863a1e140f5084c.
Buildbot failures, e.g. https://lab.llvm.org/buildbot/#/builders/66/builds/11827
Commit: bed2bdf17b68b33dd1519a836ec2b77da8746053
https://github.com/llvm/llvm-project/commit/bed2bdf17b68b33dd1519a836ec2b77da8746053
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/test/CMakeLists.txt
Log Message:
-----------
[NFCI] Change compiler_rt_Test_runtime to lowercase (#133362)
Commit: 0ed8b27890232738fa8e276d0fd2ac5c3c8e74ea
https://github.com/llvm/llvm-project/commit/0ed8b27890232738fa8e276d0fd2ac5c3c8e74ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-attributes-convergent-uncontrolled.ll
A llvm/test/tools/llvm-reduce/remove-attributes-convergent.ll
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
Log Message:
-----------
llvm-reduce: Avoid removing convergent with convergence tokens (#132946)
Check if the intrinsics are declared in the module as an overly
conservative fix.
Fixes #132695
Commit: 7eccafc3c84606587a175c0a8c1ebea6e4fb21cd
https://github.com/llvm/llvm-project/commit/7eccafc3c84606587a175c0a8c1ebea6e4fb21cd
Author: YunQiang Su <syq at debian.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsInstrInfo.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.h
Log Message:
-----------
MIPS: Implement isAsCheapAsAMove for addiu (#133273)
Set `addiu` as `isAsCheapAsAMove` only when the src register or imm is
zero only.
If other cases are set `isAsCheapAsAMove`, MachineLICM will reject to
hoist it.
Commit: a6e61ce2391f46cfe97de3a4986a5ed8fdb3b8db
https://github.com/llvm/llvm-project/commit/a6e61ce2391f46cfe97de3a4986a5ed8fdb3b8db
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Remove duplicate check in SelectAddrRegImmLsb00000. NFC (#133372)
Commit: 5b36835df010c5813808d34e45428c624fb52ff1
https://github.com/llvm/llvm-project/commit/5b36835df010c5813808d34e45428c624fb52ff1
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
A flang/test/Driver/m64-option.f90
Log Message:
-----------
[flang] Expose -m64 option (#132409)
Exposes `-m64` option for Flang.
These options can be used to build libraries or tools (e.g. OpenBlas).
Commit: e3f1c464f7283e79f566b33b87258ee55f77e139
https://github.com/llvm/llvm-project/commit/e3f1c464f7283e79f566b33b87258ee55f77e139
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lld/ELF/Driver.cpp
M lld/test/ELF/aarch64-feature-pac.s
Log Message:
-----------
[PAC][lld] Support `-z nopac-plt` flag (#132973)
Support `-z nopac-plt` so it's possible to cancel previous `-z pac-plt`.
Commit: 68f71aae3b4222afcd53cf0f84110032d1d34ec6
https://github.com/llvm/llvm-project/commit/68f71aae3b4222afcd53cf0f84110032d1d34ec6
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvmir] add llvm.sincos intrinsics (#133311)
https://llvm.org/docs/LangRef.html#llvm-frexp-intrinsic
Signed-off-by: Letu Ren <fantasquex at gmail.com>
Commit: 29cb00331f19dd2a93524fbd9f5367cb0d25fc72
https://github.com/llvm/llvm-project/commit/29cb00331f19dd2a93524fbd9f5367cb0d25fc72
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvmir] add llvm.experimental.constrained.uitofp intrinsics (#133300)
https://llvm.org/docs/LangRef.html#llvm-experimental-constrained-uitofp-intrinsic
Signed-off-by: Letu Ren <fantasquex at gmail.com>
Commit: f5f4da6db6904a88d23d4bacd01330a205683343
https://github.com/llvm/llvm-project/commit/f5f4da6db6904a88d23d4bacd01330a205683343
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
Log Message:
-----------
[RISCV] Don't vectorize for loops with small trip count (#132176)
Inspired by https://reviews.llvm.org/D130755.
I don't know the logic behind the value 5, it is copied from AArch64.
For some tests, I have to change the trip count so that we don't
break what they are testing.
Commit: 0a74cbfac462dfbf446e1f560e987619f93194ac
https://github.com/llvm/llvm-project/commit/0a74cbfac462dfbf446e1f560e987619f93194ac
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Pass -fapprox-func when compiling 'native' builtins (#133119)
The libclc build system isn't well set up to pass arbitrary options to
arbitrary source files in a non-intrusive way. There isn't currently any
other motivating example to warrant rewriting the build system just to
satisfy this requirement. So this commit uses a filename-based approach
to inserting this option into the list of compile flags.
Commit: b52977b868b02625ade1f14bfbe835e299b26f0e
https://github.com/llvm/llvm-project/commit/b52977b868b02625ade1f14bfbe835e299b26f0e
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A libclc/clc/include/clc/math/binary_decl_with_int_second_arg.inc
A libclc/clc/include/clc/math/binary_def_with_int_second_arg.inc
A libclc/clc/include/clc/math/clc_pow.h
A libclc/clc/include/clc/math/clc_pown.h
A libclc/clc/include/clc/math/clc_powr.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_pow.cl
A libclc/clc/lib/generic/math/clc_pow.inc
A libclc/clc/lib/generic/math/clc_pown.cl
A libclc/clc/lib/generic/math/clc_pown.inc
A libclc/clc/lib/generic/math/clc_powr.cl
A libclc/clc/lib/generic/math/clc_powr.inc
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/clspv/lib/SOURCES
M libclc/generic/include/clc/math/pown.h
R libclc/generic/include/clc/math/pown.inc
R libclc/generic/include/math/clc_pow.h
R libclc/generic/include/math/clc_pown.h
R libclc/generic/include/math/clc_pown.inc
R libclc/generic/include/math/clc_powr.h
M libclc/generic/lib/SOURCES
M libclc/generic/lib/math/clc_exp10.cl
R libclc/generic/lib/math/clc_pow.cl
R libclc/generic/lib/math/clc_pown.cl
R libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/exp_helper.cl
M libclc/generic/lib/math/expm1.cl
M libclc/generic/lib/math/pow.cl
M libclc/generic/lib/math/pown.cl
R libclc/generic/lib/math/pown.inc
M libclc/generic/lib/math/powr.cl
M libclc/generic/lib/math/tables.cl
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move pow, powr & pown to the CLC library (#133294)
These functions were already nominally in the CLC library.
Similar to others, these builtins are now vectorized and are not broken
down into scalar types.
Commit: 883612859bd255fc964c121ea6d3b1a9fb37fc65
https://github.com/llvm/llvm-project/commit/883612859bd255fc964c121ea6d3b1a9fb37fc65
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/TableGen/ProgRef.rst
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
A llvm/test/TableGen/instances.td
Log Message:
-----------
[TableGen] Add `!instances` operator to get defined records (#129680)
The format is: `!instances<T>([regex])`.
This operator produces a list of records whose type is `T`. If
`regex` is provided, only records whose name matches the regular
expression `regex` will be included. The format of `regex` is ERE
(Extended POSIX Regular Expressions).
Commit: 7b75db5755e63ddefa35101cf6a1179de560d312
https://github.com/llvm/llvm-project/commit/7b75db5755e63ddefa35101cf6a1179de560d312
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[VPlan] Add new VPIRPhi overlay for VPIRInsts wrapping phi nodes (NFC). (#129387)
Add a new VPIRPhi subclass of VPIRInstruction, that purely serves as an
overlay, to provide more convenient checking (via directly doing
isa/dyn_cast/cast) and specialied execute/print implementations.
Both VPIRInstruction and VPIRPhi share the same VPDefID, and are
differentiated by the backing IR instruction.
This pattern could alos be used to provide more specialized interfaces
for some VPInstructions ocpodes, without introducing new, completely
spearate recipes. An example would be modeling VPWidenPHIRecipe &
VPScalarPHIRecip using VPInstructions opcodes and providing an interface
to retrieve incoming blocks and values through a VPInstruction subclass
similar to VPIRPhi.
PR: https://github.com/llvm/llvm-project/pull/129387
Commit: 1318a7bb098ff055533d7b3fe2f5d9201f3d79a6
https://github.com/llvm/llvm-project/commit/1318a7bb098ff055533d7b3fe2f5d9201f3d79a6
Author: Mallikarjuna Gouda <mgouda at mips.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A clang/test/CodeGen/Mips/subtarget-feature-test.c
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsSubtarget.h
Log Message:
-----------
Reland [MIPS] Define SubTargetFeature for i6500 cpu (#132907) (#133366)
Relands #132907 with a fix in the testcase:
clang/test/CodeGen/Mips/subtarget-feature-test.c
enable this test for only mips64 target
PR #130587 defined same SubTargetFeature for CPUs i6400 and i6500 which
resulted into following warning when -mcpu=i6500 was used:
+i6500' is not a recognized feature for this target (ignoring feature)
This PR fixes above issue by defining separate SubTargetFeature for
i6500.
Commit: 71f43a7c42a37d18be98b0885d62ef76e658f242
https://github.com/llvm/llvm-project/commit/71f43a7c42a37d18be98b0885d62ef76e658f242
Author: YunQiang Su <syq at debian.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/test/CodeGen/Mips/brdelayslot.ll
M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll
Log Message:
-----------
MIPS: Set EnableLoopTermFold (#133378)
Setting `EnableLoopTermFold` enables `loop-term-fold` pass.
Commit: 50d4ae4a62fb22e5e03a6150baaf80e4bb4f2d41
https://github.com/llvm/llvm-project/commit/50d4ae4a62fb22e5e03a6150baaf80e4bb4f2d41
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/test/Analysis/taint-generic.cpp
Log Message:
-----------
[analyzer] Fix format attribute handling in GenericTaintChecker (#132765)
Previously `optin.taint.GenericTaint` misinterpreted the parameter
indices and produced false positives in situations when a [format
attribute](https://clang.llvm.org/docs/AttributeReference.html#format)
is applied on a non-static method. This commit fixes this bug
Commit: c13c04fdfe9b312160310eeeee785867627ffe2f
https://github.com/llvm/llvm-project/commit/c13c04fdfe9b312160310eeeee785867627ffe2f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libcxx/include/__memory/allocator_traits.h
Log Message:
-----------
[libc++] Simplify the implementation of the pointer aliases in allocator_traits (#127079)
Commit: b82fd7110972c52cf4e58bf08b65bce7a91ecb0e
https://github.com/llvm/llvm-project/commit/b82fd7110972c52cf4e58bf08b65bce7a91ecb0e
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
Log Message:
-----------
[lldb] Adjust skips on reverse continue tests (#133240)
The x86-specific issue has been fixed with #132122. Watchpoint tests
fail on aarch64 with macos<15.0 due to a kernel bug.
Commit: 21a8c63cdc36abbf38b4402c9eb34a26598b8476
https://github.com/llvm/llvm-project/commit/21a8c63cdc36abbf38b4402c9eb34a26598b8476
Author: macurtis-amd <macurtis at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M offload/DeviceRTL/src/Workshare.cpp
A offload/test/offloading/fortran/target-teams-dist-nest-par.f90
Log Message:
-----------
[offload] Remove bad assert in StaticLoopChunker::Distribute (#132705)
When building with asserts enabled, this can actually cause strange
miscompilations because an incorrect llvm.assume is generated at the
point of the assertion.
Commit: 0d64f5adbaea173380668bc4280bb816bdb3a0de
https://github.com/llvm/llvm-project/commit/0d64f5adbaea173380668bc4280bb816bdb3a0de
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
Log Message:
-----------
[NFC] Fix a typo in StdLibraryFunctionsChecker.cpp comments (#133375)
Commit: f7a034d400860501a26e3429e1c6a9f310f07f76
https://github.com/llvm/llvm-project/commit/f7a034d400860501a26e3429e1c6a9f310f07f76
Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
A llvm/test/CodeGen/AMDGPU/nor-divergent-lanemask.ll
Log Message:
-----------
[AMDGPU] (x or y) xor -1 -> x nor y (#130264)
Added pattern so s_nor is selected for ((i1 x or i1 y) xor -1) instead
of s_or and s_xor . This patch is for i1 divergent. The ballot in the
test is added for the retrieval of lanemask. The control flow is needed
because the combiner can't pass through phi instructions.
Commit: 319045d8c42dc855eacdb4bd1d71b6ac3fca3257
https://github.com/llvm/llvm-project/commit/319045d8c42dc855eacdb4bd1d71b6ac3fca3257
Author: Balázs Benics <108414871+balazs-benics-sonarsource at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
Log Message:
-----------
[analyzer] Add metrics tracking time spent in Z3 solver (#133236)
These metrics would turn out to be useful for verifying an upgrade of Z3.
Commit: 7d869045e068be152f4435d73733eb2276a6fc08
https://github.com/llvm/llvm-project/commit/7d869045e068be152f4435d73733eb2276a6fc08
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Log Message:
-----------
[AMDGPU] Hoist some constant stuff out of the loop in AMDGPUAsmParser.cpp. NFC. (#133398)
Commit: 8a3fe30a0a394ed3aa30ce4ba16e5a148a8bdd53
https://github.com/llvm/llvm-project/commit/8a3fe30a0a394ed3aa30ce4ba16e5a148a8bdd53
Author: Paul Schwabauer <pschwabauer at intevation.de>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Modules/ComplexExplicitSpecifier.cpp
Log Message:
-----------
[PATCH] [clang][frontend] Fix serialization for CXXConstructorDecl (refs llvm#132794) (#133077)
When retrieving the ExplicitSpecifier from a CXXConstructorDecl, one of
its canonical declarations is returned. To correctly write the
declaration record the ExplicitSpecifier of the current declaration must
be used.
Failing to do so results in a crash during deserialization.
Commit: af150272cff97c121ed4fdb76fce702fbe2f12a3
https://github.com/llvm/llvm-project/commit/af150272cff97c121ed4fdb76fce702fbe2f12a3
Author: Weaver <Tom.Weaver at sony.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/test/CodeGen/Mips/brdelayslot.ll
M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll
Log Message:
-----------
Revert "MIPS: Set EnableLoopTermFold (#133378)"
This reverts commit 71f43a7c42a37d18be98b0885d62ef76e658f242.
Caused build bot failures:
https://lab.llvm.org/buildbot/#/builders/190/builds/17267
https://lab.llvm.org/buildbot/#/builders/144/builds/21445
https://lab.llvm.org/buildbot/#/builders/46/builds/14343
please consider fixing the test failure in long-array-initialize.ll before
recommitting.
Commit: b009c5af71a8676f1e6b4332f867957454635b2f
https://github.com/llvm/llvm-project/commit/b009c5af71a8676f1e6b4332f867957454635b2f
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple2.ll
Log Message:
-----------
[SPIR-V] Mark XFAIL the test case that fails with LLVM_ENABLE_EXPENSIVE_CHECKS enabled (#133142)
After https://github.com/llvm/llvm-project/pull/130605
structurizer/cf.switch.ifstmt.simple2.ll test case starts failing with
the "PHI operand is not live-out from predecessor" diagnostic message.
This test case didn't include usual "-verify-machineinstrs" argument and
the fail was missed before
https://github.com/llvm/llvm-project/pull/130605 merging.
The problem looks not blocking, because the test case successfully
passes its CHECK's. This PR is to fix the build process by mark the test
case as XFAIL when LLVM_ENABLE_EXPENSIVE_CHECKS is enabled.
Investigation of the Machine Verifier complaint is to do. The issue is
created: https://github.com/llvm/llvm-project/issues/133141
Commit: 45c3fe8ff339843cdf0cfc8ccae91c0a4b7c09cd
https://github.com/llvm/llvm-project/commit/45c3fe8ff339843cdf0cfc8ccae91c0a4b7c09cd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vl.ll
Log Message:
-----------
[X86] Add test coverage for the concatable sources vpermv3 -> vpermv fold for non-constant shuffle masks (#133415)
Test both forward/reverse concat cases
Commit: 7f103ad537a64cd47dc49c661ad0245ea3ae2fdc
https://github.com/llvm/llvm-project/commit/7f103ad537a64cd47dc49c661ad0245ea3ae2fdc
Author: Dmitry Sidorov <dmitry.sidorov at intel.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
A llvm/test/CodeGen/SPIRV/structurizer/loop-unroll.ll
Log Message:
-----------
[SPIR-V] Add llvm.loop.unroll metadata lowering (#132062)
.enable lowers to Unroll LoopControl
.disable lowers to DontUnroll LoopControl
.count lowers to PartialCount LoopControl
.full lowers to Unroll LoopControl
TODO in future patches: enable structurizer for non-vulkan targets.
---------
Signed-off-by: Sidorov, Dmitry <dmitry.sidorov at intel.com>
Commit: f76254d9b2a68e0021d93e682744e4240a2368b9
https://github.com/llvm/llvm-project/commit/f76254d9b2a68e0021d93e682744e4240a2368b9
Author: Jesse D <jesse.a.deguire at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libc/src/__support/FPUtil/dyadic_float.h
Log Message:
-----------
[libc] Fix implicit conversion error in DyadicFloat::as_mantissa_type(). (#133383)
This is the same fix that was recently applied to
as_mantissa_type_rounded(), but for as_mantissa_type().
Commit: 4cdcf3b19302d8f337b5607d6b9df170f577dc70
https://github.com/llvm/llvm-project/commit/4cdcf3b19302d8f337b5607d6b9df170f577dc70
Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
Log Message:
-----------
[InstCombine] Fold `(trunc nuw A to i1) == (trunc nuw B to i1)` to `A == B` (#133368)
Fixes #133344
Proof: https://alive2.llvm.org/ce/z/X3Uh23
InstCombine couldn't optimize `i1` because `canonicalizeICmpBool()` was
transforming the comparison into bitwise operations before
`foldICmpTruncWithTruncOrExt()` was called.
This PR solves the ordering issue by placing
`foldICmpTruncWithTruncOrExt()` before `canonicalizeICmpBool()`.
I believe this will not cause any regressions since all tests are
passing.
Commit: c4bc1b1d8177961c50c7a197bfb97b5226e749ff
https://github.com/llvm/llvm-project/commit/c4bc1b1d8177961c50c7a197bfb97b5226e749ff
Author: Nico Weber <thakis at chromium.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
A clang/test/Driver/arch-arm64e.c
Log Message:
-----------
[clang] Update Mach-O ptrauth driver defaults (#132834)
Xcode clang default-enables a bunch of ptrauth flags when targeting
arm64e. Let's match that.
Commit: 772173f54868eef6e1a4d40ab93b0ee6c04b1aca
https://github.com/llvm/llvm-project/commit/772173f54868eef6e1a4d40ab93b0ee6c04b1aca
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/amdgpu-address-spaces.cpp
R clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M flang/lib/Frontend/FrontendActions.cpp
R flang/test/Lower/AMD/code-object-version.f90
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libcxx/cmake/caches/AMDGPU.cmake
M offload/DeviceRTL/CMakeLists.txt
Log Message:
-----------
[Clang][AMDGPU] Remove special handling for COV4 libraries (#132870)
Summary:
When we were first porting to COV5, this lead to some ABI issues due to
a change in how we looked up the work group size. Bitcode libraries
relied on the builtins to emit code, but this was changed between
versions. This prevented the bitcode libraries, like OpenMP or libc,
from being used for both COV4 and COV5. The solution was to have this
'none' functionality which effectively emitted code that branched off of
a global to resolve to either version.
This isn't a great solution because it forced every TU to have this
variable in it. The patch in
https://github.com/llvm/llvm-project/pull/131033 removed support for
COV4 from OpenMP, which was the only consumer of this functionality.
Other users like HIP and OpenCL did not use this because they linked the
ROCm Device Library directly which has its own handling (The name was
borrowed from it after all).
So, now that we don't need to worry about backward compatibility with
COV4, we can remove this special handling. Users can still emit COV4
code, this simply removes the special handling used to make the OpenMP
device runtime bitcode version agnostic.
Commit: 212a48b4daf3101871ba6e7c47cf103df66a5e56
https://github.com/llvm/llvm-project/commit/212a48b4daf3101871ba6e7c47cf103df66a5e56
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/combine-bitselect.ll
Log Message:
-----------
[X86] combine-bitselect.ll - regenerate VPTERNLOG comments
Commit: a481452cd88acc180f82dd5631257c8954ed7812
https://github.com/llvm/llvm-project/commit/a481452cd88acc180f82dd5631257c8954ed7812
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
Log Message:
-----------
[RISCV] Add OR/XOR/SUB to RISCVInstrInfo::isCopyInstrImpl (#132002)
This adds coverage for additional instructions in isCopyInstrImpl, for
now picking just those where I can observe that there is a codegen
difference for SPEC.
This allows MachineCopyPropagation to successfully eliminate no-op moves in this form.
Commit: 33cd00f8c82d5df45b1dfd59310929a4d315fd8e
https://github.com/llvm/llvm-project/commit/33cd00f8c82d5df45b1dfd59310929a4d315fd8e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M flang/include/flang/Evaluate/traverse.h
Log Message:
-----------
[flang] Use more generic overload for Operation in Traverse (#133305)
Currently there are two specific overloads: for unary operations, i.e.
`Operation<D, R, O>`, and binary ones `Operation<D, R, LO, RO>`.
This makes it impossible for a derived class to use a single overload to
handle all types of operations: `Operation<D, R, O...>`. Since the base
overloads need to be included in the derived class's scope, via `using
Base::operator()` either one of the specific overloads will always be a
better candidate than the more generic derived one.
```
class MyVisitor : public Traverse<...> {
using Traverse<...>::operator();
template <typename D, typename R, typename... O>
Result operator()(const Operation<D, R, O...> &op) const {
// Will never be used.
}
};
```
This patch replaces the two specific overloads for Operation in Traverse
with a single generic overload, while preserving the existing
functionality, and allowing derived classes to use a single overload as
well.
Commit: 4abff4d7b2b49f343da68f32ffdae2914ba8ae7f
https://github.com/llvm/llvm-project/commit/4abff4d7b2b49f343da68f32ffdae2914ba8ae7f
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Improve `replaceOpWithMultiple` API (#132608)
This commit adds an additional overload to `replaceOpWithMultiple` that
accepts additional container types. This has been brought up by users of
the new `replaceOpWithMultiple` API.
In particular, one missing container type was
`SmallVector<SmallVector<Value>>`. The "default" `ArrayRef<ValueRange>`
container type can lead to use-after-scope errors in cases such as:
```c++
// Compute the replacement value ranges. Some replacements are single
// values, some are value ranges.
SmallVector<ValueRange> repl;
repl.push_back(someValueRange); // OK
for (...) {
// push_back(Value) triggers an implicit conversion to ValueRange,
// which does not own the range.
repl.push_back(someValue); // triggers use-after-scope later
}
rewriter.replaceOpWithMultiple(op, repl);
```
In this example, users should use `SmallVector<SmallVector<Value>>
repl;`.
Commit: 316bb89c942c1a1cf61d3e673030f82d6f0b8acf
https://github.com/llvm/llvm-project/commit/316bb89c942c1a1cf61d3e673030f82d6f0b8acf
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/ToolChain.cpp
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc.a
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc64.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc-ibm-aix/libclang_rt.builtins.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libclang_rt.builtins.a
M clang/test/Driver/aix-ld.c
M clang/test/Driver/aix-print-runtime-dir.c
M clang/test/Driver/aix-rtlib.c
Log Message:
-----------
[Driver] Enable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON on AIX. (#132821)
In the wake of discussion in PR #131200 and internal discussion after,
we will add support for `LLVM_ENABLE_PER_TARGET_RUNTIME=ON` for AIX
instead of disable it. I already reverted the change in PR #131200.
The default value of the option is still OFF on AIX.
Commit: ecdbd26ba4b6017200b7773d41a270aa1fa2bd71
https://github.com/llvm/llvm-project/commit/ecdbd26ba4b6017200b7773d41a270aa1fa2bd71
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst
Log Message:
-----------
[clang-tidy][NFC] improve documentation for `bugprone-argument-comment` check (#133436)
Improve docs for `bugprone-argument-comment` check by writing explicitly
default values for options.
Before this change, it was unclear what values are default.
Commit: d6dcd985c03bec4b77872be00a81d92454fedc32
https://github.com/llvm/llvm-project/commit/d6dcd985c03bec4b77872be00a81d92454fedc32
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
Log Message:
-----------
[clang-tidy] Fix `thread_local` false positives in `misc-use-internal-linkage` check (#132573)
Based on C++ standard (see issue
https://github.com/llvm/llvm-project/issues/131679) and
[StackOverflow](https://stackoverflow.com/questions/22794382/are-c11-thread-local-variables-automatically-static)
`thread_local` variables are implicitly `static` so we should not
suggest adding `static` on a `thread_local` variables. I'd appreciate if
someone else will confirm this too because reading standard is tricky.
However, many people still use `static` and `thread_local` together:
[github
code-search](https://github.com/search?type=code&q=%22static+thread_local%22+language%3AC%2B%2B).
Maybe disabling warnings on `thread_local` should be made as a flag?
WDYT?
Closes https://github.com/llvm/llvm-project/issues/131679.
Commit: 53b48301eb3bb4aba63678e9b5eb7cbea7745e34
https://github.com/llvm/llvm-project/commit/53b48301eb3bb4aba63678e9b5eb7cbea7745e34
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/lib/Target/AMDGPU/AMDGPU.h
Log Message:
-----------
[AMDGPU] Tweak address space definitions. NFC. (#133442)
Define address spaces in numerical order. Fix comments to refer to
"local" instead of "group" address space.
Commit: 579379cf7f650a3fd5a039ea5c2480d69acc3878
https://github.com/llvm/llvm-project/commit/579379cf7f650a3fd5a039ea5c2480d69acc3878
Author: Andras Gemes <gemesandras22 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/Security.rst
Log Message:
-----------
[Nomination] Add HighTec representatives to the Security Group (#124142)
I would like to nominate Mario Cupelli (@mariocup) and myself to join
the LLVM Security Group as representatives (vendor contacts) of [HighTec
EDV Systeme](https://github.com/hightec-rt).
Mario is the CTO of HighTec and has a strong background in compiler
safety qualification. I am a SW engineer with a focus on cybersecurity
and a goal to contribute to the LLVM Security Group.
HighTec collaborates with major silicon vendors and offers
safety-qualified C/C++ and Rust compilers based on LLVM. Our active
contributions to LLVM include work on the linker and various patches and
we are committed to further improving LLVM’s security.
Our motivation for joining the LLVM Security Group is to collaborate
with LLVM security experts, stay informed about the latest CVEs in LLVM
and meet the cybersecurity requirements of the automotive industry.
Commit: b6569cce4090ea12493ab2c948ea79c6a1a1983d
https://github.com/llvm/llvm-project/commit/b6569cce4090ea12493ab2c948ea79c6a1a1983d
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
Log Message:
-----------
[RISCV] Refine location size for segment spill and fill (#133268)
This is a follow up to #133171. I realized we could assume the structure
of the previous MMO, and thus the split is much simpler than I'd
initially pictured.
Commit: 427725508b084c7aa595312967d74d8888b168b6
https://github.com/llvm/llvm-project/commit/427725508b084c7aa595312967d74d8888b168b6
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M bolt/include/bolt/Core/Relocation.h
Log Message:
-----------
[BOLT] Add getter for optional relocations (#133085)
Minor refactoring on comments.
Commit: 48b753027382a5815295d6680c7dd407be936c86
https://github.com/llvm/llvm-project/commit/48b753027382a5815295d6680c7dd407be936c86
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
M clang/lib/AST/Decl.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Lower/OpenMP/omp-is-gpu.f90
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
Log Message:
-----------
[clang][flang][Triple][llvm] Add isOffload function to LangOpts and isGPU function to Triple (#126956)
I'm adding support for SPIR-V, so let's consolidate these checks.
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 1f90a88b80998e595a3a11a7d13c333dbfa8777a
https://github.com/llvm/llvm-project/commit/1f90a88b80998e595a3a11a7d13c333dbfa8777a
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
[libcxx] Remove clang-18 workaround in picolib build (#133254)
clang-19 changed how Arm triples were normalised and so while we
supported 18 and 19, we could not hard code the path here.
Now that Linaro's bots are running clang-19, and libcxx is going to drop
clang-18 support (https://github.com/llvm/llvm-project/pull/130142) I
have simplified it by hard coding the path again.
I also looked into why this exists in the first place. It was added in
https://reviews.llvm.org/D154246 but not questioned at the time.
It is due to the way we build compiler-rt, which is due to the final
layout we need in the install:
1. The builtins library must be called libclang_rt.builtins.a for clang
to find it. There must not be an architecture name in the filename.
2. That builtins library must be directly in lib/, next to picolib's
installed files.
To achieve number 1 we must set LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON.
However, that causes the file to be installed in a per-target dir which
breaks number 2. So to fix that, we move the builtins library up one
level into lib/.
The alternative is to turn off per-target dirs, which results in a
builtin file with an arch in the name, then rename and move that file
(since it gets installed into lib/generic/).
So in the end, it's the same amount of hacks. I think it's best to keep
the one that uses LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON, as this is the
recommended way to built these days.
Commit: db04c3e4b3d9b79d99c5bbeb7fffaa887cd4352e
https://github.com/llvm/llvm-project/commit/db04c3e4b3d9b79d99c5bbeb7fffaa887cd4352e
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/lib/Frontend/FrontendAction.cpp
Log Message:
-----------
[clang] Implement some missing interfaces for DelegatingDeserializationListener (#133424)
Split from the https://github.com/llvm/llvm-project/pull/133395 per the
review comment.
This patch also moves the `DelegatingDeserializationListener` close to
`ASTDeserializationListener`.
Commit: bf5627c85e6975a73bf582cf0d23a993673413d0
https://github.com/llvm/llvm-project/commit/bf5627c85e6975a73bf582cf0d23a993673413d0
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
A llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll
Log Message:
-----------
[LV] Optimize VPWidenIntOrFpInductionRecipe for known TC (#118828)
Optimize the IR generated for a VPWidenIntOrFpInductionRecipe to use the
narrowest type necessary, when the trip-count of a loop is known to be
constant and the only use of the recipe is the condition used by the
vector loop's backedge branch.
Commit: 9ce77255b9a48b024e434e5c4017da07fc44bbe1
https://github.com/llvm/llvm-project/commit/9ce77255b9a48b024e434e5c4017da07fc44bbe1
Author: Cassandra Beckley <cbeckley at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.cpp
M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
Log Message:
-----------
[HLSL] Add __spirv__ macro (#132848)
This macro can be used by HLSL code to detect that it is being compiled
for the SPIR-V target.
Commit: 43829039c9b00a56847027801ab420cff2031143
https://github.com/llvm/llvm-project/commit/43829039c9b00a56847027801ab420cff2031143
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Format/MacroCallReconstructor.cpp
Log Message:
-----------
[Format] Use a range constructor of DenseSet (NFC) (#133382)
Commit: 0ae9c65d4a1c8d1e620a2843f22e77f05fcf202f
https://github.com/llvm/llvm-project/commit/0ae9c65d4a1c8d1e620a2843f22e77f05fcf202f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/tools/bugpoint/CrashDebugger.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[tools] Use *Set::insert_range (NFC) (#133384)
We can use *Set::insert_range to replace "for" loop-based insertions.
In some cases, we can further fold insert_range into the set
declaration.
Commit: 460d628d9006f63af3d296a90c32a60a347dbc2c
https://github.com/llvm/llvm-project/commit/460d628d9006f63af3d296a90c32a60a347dbc2c
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/lib/Transforms/Scalar/GVN.cpp
Log Message:
-----------
[GVN] Clean up unused argument, unify style, modernize syntax (NFC)
Finalize code style overhaul in GVN, following up to
2a0946bc0dffca89d16cd9d5208ec9416ed8100e and 9deed7d2ef3a147c4e8410910967fde601359039.
Commit: 2218587b5b131bb8ed57c3e6c7a5c0c589493300
https://github.com/llvm/llvm-project/commit/2218587b5b131bb8ed57c3e6c7a5c0c589493300
Author: YunQiang Su <syq at debian.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
Log Message:
-----------
MIPS: Support isLegalICmpImmediate and isLegalAddImmediate (#133400)
Set it to true only if isInt<16>.
By default implemention defines them to true always. For most cases,
MIPS uses 16bit IMM, and for microMIPS, ICMP and ADDiu have 16bit IMM
flavors.
Commit: fe30cf18ab3eb1aba5ea7e44574e27fdde791c1d
https://github.com/llvm/llvm-project/commit/fe30cf18ab3eb1aba5ea7e44574e27fdde791c1d
Author: swatheesh-mcw <swatheesh.muralidharan at multicorewareinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/openmp-modifiers.cpp
A flang/test/Lower/OpenMP/Todo/interop-construct.f90
A flang/test/Parser/OpenMP/interop-construct.f90
A flang/test/Semantics/OpenMP/interop-construct.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
Revert "Revert "[flang][openmp] Adds Parser and Semantic Support for Interop Construct, and Init and Use Clauses."" (#132343)
Reverts llvm/llvm-project#132005
Commit: 22138720020dd8dfd30dbd220c49d6585126d2f7
https://github.com/llvm/llvm-project/commit/22138720020dd8dfd30dbd220c49d6585126d2f7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
Log Message:
-----------
llvm-reduce: Use isCallee helper (#133419)
Commit: 8ea3f818dea7d1104429040486614c96e0698901
https://github.com/llvm/llvm-project/commit/8ea3f818dea7d1104429040486614c96e0698901
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py
Log Message:
-----------
[lldb][test] TestCCallingConventions.py: skip on older AArch64 compilers
With our Clang-15 arm64 CI this test-case crashes when compiling the test program:
```
user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions/ms_abi.c
Unexpected callee-save save/restore opcode!
UNREACHABLE executed at /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1501/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1129!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1501_build/bin/clang -g -O0 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk -arch arm64 -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/make/../../../../..//include -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/lldb-build/tools/lldb/include -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/make -include /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/make/test_common.h -fno-limit-debug-info -Werror=ignored-attributes -MT ms_abi.o -MD -MP -MF ms_abi.d -c -o ms_abi.o /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions/ms_abi.c
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions/ms_abi.c'.
4. Running pass 'Prologue/Epilogue Insertion & Frame Finalization' on function '@func'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 clang-15 0x0000000105d512b0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1 clang-15 0x0000000105d500e4 llvm::sys::RunSignalHandlers() + 112
2 clang-15 0x0000000105d507c4 llvm::sys::CleanupOnSignal(unsigned long) + 232
3 clang-15 0x0000000105c79d78 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) + 128
4 clang-15 0x0000000105c79f94 CrashRecoverySignalHandler(int) + 124
5 libsystem_platform.dylib 0x0000000185ecba24 _sigtramp + 56
6 libsystem_pthread.dylib 0x0000000185e9ccc0 pthread_kill + 288
7 libsystem_c.dylib 0x0000000185daca40 abort + 180
8 clang-15 0x0000000105c88508 llvm::install_out_of_memory_new_handler() + 0
9 clang-15 0x0000000104af7404 fixupCalleeSaveRestoreStackOffset(llvm::MachineInstr&, unsigned long long, bool, bool*) + 0
10 clang-15 0x0000000104af53e0 llvm::AArch64FrameLowering::emitPrologue(llvm::MachineFunction&, llvm::MachineBasicBlock&) const + 3564
```
Commit: 71a977d0d611f3e9f6137a6b8a26b730b2886ce9
https://github.com/llvm/llvm-project/commit/71a977d0d611f3e9f6137a6b8a26b730b2886ce9
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
Log Message:
-----------
[RISCV] Add shift-add (SH1ADD, ...) to isCopyInstrImpl (#133443)
As with #132002, these do show up in a compilation of llvm-test-suite
(including SPEC 2017). We remove 30-40 static instances so this isn't
anything earth shattering.
rs2 is always added to the other shifted (and potentially extended)
operand unmodified, so rs1==zero is equivalent to a copy.
Commit: a983c3b209bf6602c0687251647535c7fa43a17a
https://github.com/llvm/llvm-project/commit/a983c3b209bf6602c0687251647535c7fa43a17a
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Make more use of CodeGenRegisterClass::EnumValue. NFC. (#132749)
Commit: f7f479b2a3ac4c242339896fe1012342dc1e56fc
https://github.com/llvm/llvm-project/commit/f7f479b2a3ac4c242339896fe1012342dc1e56fc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Use templates to reduce duplicated code for assembler operand predicates. (#133351)
We already had a template isUImm function. This patch adds isSImm,
isShiftedUImm, and 2 helpers that take a predicate function to validate
the immediate with. I'm using a template for the predicate function.
Commit: a33d789bb70e8b19840cacfc1980da883ae01ebd
https://github.com/llvm/llvm-project/commit/a33d789bb70e8b19840cacfc1980da883ae01ebd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-arguments-x86_intrcc.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Avoid invalid reductions on x86_intrcc (#133396)
If there are arguments, the first one must be byval.
Commit: 6526cda5d865d55b1db5aa0faffb29448e5c6a23
https://github.com/llvm/llvm-project/commit/6526cda5d865d55b1db5aa0faffb29448e5c6a23
Author: John Harrison <harjohn at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
Log Message:
-----------
[lldb-dap] Migrating DAP 'initialize' to new typed RequestHandler. (#133007)
This adds new types and helpers to support the 'initialize' request with
the new typed RequestHandler. While working on this I found there were a
few cases where we incorrectly treated initialize arguments as
capabilities. The new `lldb_dap::protocol::InitializeRequestArguments`
and `lldb_dap::protocol::Capabilities` uncovered the inconsistencies.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 4abe47c6fc06e44792bc1b0dc58f3b453ae4fb80
https://github.com/llvm/llvm-project/commit/4abe47c6fc06e44792bc1b0dc58f3b453ae4fb80
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/test/src/time/CMakeLists.txt
M libc/test/src/time/mktime_test.cpp
Log Message:
-----------
[libc] Enable 'mktime' for the GPU (#133437)
Summary:
This is a dependency on `strftime` which we provide, so we should have
this.
Commit: ea8573aca5bf5a629bfb01113d74b36efd5c2a51
https://github.com/llvm/llvm-project/commit/ea8573aca5bf5a629bfb01113d74b36efd5c2a51
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Add statusline to the release notes (#133281)
Add a release note for the LLDB statusline: #121860
Commit: 1b86867ab3ccf731863043718d53700535e0fb21
https://github.com/llvm/llvm-project/commit/1b86867ab3ccf731863043718d53700535e0fb21
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-arguments-x86_intrcc.ll
A llvm/test/tools/llvm-reduce/remove-argument-preserve-attributes.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Fix losing callsite attributes when removing arguments (#133407)
The attribute APIs make this cumbersome. There seem to be missing
overloads using AttrBuilder for the function attrs. Plus there doesn't
seem to be a direct way to set the function attrs on the call.
Commit: 688df34634a5e3d9423060442a47a01b185ef4e1
https://github.com/llvm/llvm-project/commit/688df34634a5e3d9423060442a47a01b185ef4e1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-arguments-preserve-fmf.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Fix losing fast math flags when removing arguments (#133408)
Commit: 115a77df9d8475bc62bc22fe52d0d1c62d8111e5
https://github.com/llvm/llvm-project/commit/115a77df9d8475bc62bc22fe52d0d1c62d8111e5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/remove-arguments-preserve-fmf.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Fix losing metadata when removing arguments (#133409)
Commit: 277ab85d1ccf80750f5193495c0665808c2863de
https://github.com/llvm/llvm-project/commit/277ab85d1ccf80750f5193495c0665808c2863de
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Lex/Preprocessor.cpp
Log Message:
-----------
[clang] Make `PreprocessorOptions` reference const
Commit: 6b1acdb818dd158619c71546af1bf5e134cd7e03
https://github.com/llvm/llvm-project/commit/6b1acdb818dd158619c71546af1bf5e134cd7e03
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-arguments-preserve-bundles.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Fix losing operand bundles when removing arguments (#133410)
Commit: 827f2ad64394bdcafabc58133c4b8258f728763c
https://github.com/llvm/llvm-project/commit/827f2ad64394bdcafabc58133c4b8258f728763c
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/shl64_reduce.ll
Log Message:
-----------
AMDGPU: Convert vector 64-bit shl to 32-bit if shift amt >= 32 (#132964)
Convert vector 64-bit shl to 32-bit if shift amt is known to be >= 32.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 44e3735ac18407f23a4e1fea29192449dbe3d4de
https://github.com/llvm/llvm-project/commit/44e3735ac18407f23a4e1fea29192449dbe3d4de
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-arguments-preserve-wrong-cc.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Preserve original callsite calling conv when removing arguments (#133411)
In undefined mismatch cases, this was fixing the callsite to use the calling
convention of the new function. Preserve the original wrong callsite's calling
convention.
Commit: 133c1afa8e54d4e9599cb0d8aad843c03f0e63b9
https://github.com/llvm/llvm-project/commit/133c1afa8e54d4e9599cb0d8aad843c03f0e63b9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-arguments-invoke.ll
A llvm/test/tools/llvm-reduce/reduce-arguments-non-callee-use.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Filter function based on uses before removing arguments (#133412)
Invokes and others are not handled, so this was leaving broken callsites
behind for anything other than CallInst
Commit: 049f179606a4af3ea650d7049626d267e01b79e2
https://github.com/llvm/llvm-project/commit/049f179606a4af3ea650d7049626d267e01b79e2
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
A llvm/include/llvm/Support/KnownFPClass.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Log Message:
-----------
[Analysis][NFC] Extract KnownFPClass (#133457)
- extract KnownFPClass for future use inside of GISelKnownBits
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 8c7550132f410766598ba88de6b7e7a2a4607f67
https://github.com/llvm/llvm-project/commit/8c7550132f410766598ba88de6b7e7a2a4607f67
Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/addsubu64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-flat.ll
M llvm/test/CodeGen/AMDGPU/div-rem-by-constant-64.ll
M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fold-gep-offset.ll
M llvm/test/CodeGen/AMDGPU/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/AMDGPU/gfx10-vop-literal.ll
M llvm/test/CodeGen/AMDGPU/gfx12_scalar_subword_loads.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-always-uniform.ll
M llvm/test/CodeGen/AMDGPU/lrint.ll
M llvm/test/CodeGen/AMDGPU/lround.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/shl_add_ptr_csub.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/sub.ll
M llvm/test/CodeGen/AMDGPU/uaddsat.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/usubsat.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
Log Message:
-----------
[AMDGPU] Unused sdst writing to null (#133229)
Unused sdst writing to null to avoid a false VALU->SALU dependency
stall. This requires using the VOP3 encoding.
Commit: 4c4e4e4299b16d8dd85811e9dd8697b17c95577f
https://github.com/llvm/llvm-project/commit/4c4e4e4299b16d8dd85811e9dd8697b17c95577f
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Strengthen calls to collectInstsToScalarize (NFC) (#130642)
Avoid the pattern of always calling collectInstsToScalarize after
collectUniformsAndScalars, and call it in collectUniformsAndScalars
instead. Also strengthen checks for early exits in the function.
Commit: b8c86dc7699d3c561bcbee143d2022561d5cc8a3
https://github.com/llvm/llvm-project/commit/b8c86dc7699d3c561bcbee143d2022561d5cc8a3
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
Log Message:
-----------
[SystemZ] Remove custom implementation of optimizeLoadInst [NFC] (#133123)
In 236f938ef, I introduced a generic version of this routine. I believe
that the SystemZ specific version of this is less general than the
generic version, and is thus unrequired. I wasn't 100% given the
difference in sub-register, multiple use and defs, but from the SystemZ
code, it looks like those cases simply don't arise?
Commit: e70fe9b264b6f98fd3744b514d7166f75dd19872
https://github.com/llvm/llvm-project/commit/e70fe9b264b6f98fd3744b514d7166f75dd19872
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/test/AST/ast-dump-templates.cpp
Log Message:
-----------
NFC: fix typo in clang/test/AST/ast-dump-templates.cpp
Commit: b3f01a6aa45b00240cec1c64286b85d7ba87e2af
https://github.com/llvm/llvm-project/commit/b3f01a6aa45b00240cec1c64286b85d7ba87e2af
Author: Qiu Chaofan <qcf at ecnelises.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/FrontendAction.cpp
A clang/test/Frontend/print-stats.c
Log Message:
-----------
[Clang] Check PP presence when printing stats (#131608)
Front-end option `-print-stats` can be used to print statistics around
the compilation process. But clang with this options will crash when
input is IR file. This patch fixes the crash by checking preprocessor
presence before invoking it.
Commit: d6d559cc090b775649f1de6f6bfcc029184d4fb5
https://github.com/llvm/llvm-project/commit/d6d559cc090b775649f1de6f6bfcc029184d4fb5
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
Log Message:
-----------
[RISCV] Add zvfhmin to zipeven/zipodd shuffle tests per review suggestion
Commit: bc37fea107dd21ea92efee20032a844e09d4e504
https://github.com/llvm/llvm-project/commit/bc37fea107dd21ea92efee20032a844e09d4e504
Author: Paul Bowen-Huggett <paulhuggett at mac.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
A llvm/test/MC/Disassembler/RISCV/c_lui_disasm.txt
Log Message:
-----------
[RISCV] Fix the disassembler's handling of C.LUI when imm=0 (#133450)
Fix for #133446.
According to the RISC-V spec: "C.LUI is valid only when rd≠{x0,x2}, and
when the immediate is not equal to zero. The code points with imm=0 are
reserved".
This change makes the disassembler consider code points with imm=0 as
illegal. It introduces a test which exercises every C.LUI opcode
including the illegal ones but excluding those assigned to C.ADDI16SP).
Output for +c, +c +Zcmop, and +c +no-rvc-hints is checked.
Commit: b0bb86e239b2b09476ca58976094cc645ea9194f
https://github.com/llvm/llvm-project/commit/b0bb86e239b2b09476ca58976094cc645ea9194f
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
Log Message:
-----------
[HLSL][NFC] Use method builder to create default resource constructor (#131384)
Updates `BuiltinTypeMethodBuilder` helper class to support creation of
constructors and updates the code that creates default constructor for
resource classes to use it.
This enables us to share code when creating builtin methods and
constructors and will come in handy when we add more constructors in the
future.
Depends on #131032.
Commit: da84a7d4038177152082265c0d425866a4f71659
https://github.com/llvm/llvm-project/commit/da84a7d4038177152082265c0d425866a4f71659
Author: John Holdsworth <github at johnholdsworth.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/MachO/SymbolTable.cpp
A lld/test/MachO/interposable.s
Log Message:
-----------
[lld][MachO] Support for -interposable (#131813)
As discussed in https://github.com/llvm/llvm-project/issues/53680, add
support for ld64's -interposable flag on Apple platforms to lld.
Commit: 4e4cb4359ae915b5a14c94914e39a8cc94e98963
https://github.com/llvm/llvm-project/commit/4e4cb4359ae915b5a14c94914e39a8cc94e98963
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
M llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/RISCV/alu8.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/avgceilu.ll
M llvm/test/CodeGen/RISCV/avgflooru.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-sext-zext.ll
M llvm/test/CodeGen/RISCV/csr-first-use-cost.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/div-by-constant.ll
M llvm/test/CodeGen/RISCV/div.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/fold-mem-offset.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
M llvm/test/CodeGen/RISCV/machine-combiner.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
M llvm/test/CodeGen/RISCV/memset-inline.ll
M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
M llvm/test/CodeGen/RISCV/pr65025.ll
M llvm/test/CodeGen/RISCV/rem.ll
M llvm/test/CodeGen/RISCV/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
M llvm/test/CodeGen/RISCV/rvv/vec3-setcc-crash.ll
M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvl-ext.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvlmax-ext.ll
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
M llvm/test/CodeGen/RISCV/simplify-condbr.ll
M llvm/test/CodeGen/RISCV/split-store.ll
M llvm/test/CodeGen/RISCV/typepromotion-overflow.ll
M llvm/test/CodeGen/RISCV/uadd_sat_plus.ll
M llvm/test/CodeGen/RISCV/usub_sat_plus.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
M llvm/test/CodeGen/RISCV/zcb-regalloc-hints.ll
M llvm/test/MC/RISCV/rv32i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-aliases-valid.s
Log Message:
-----------
[RISCV][MC] Enable printing of zext.b alias (#133502)
The comment shows that at the time we were worried about producing the
alias in assembly that might be ingested by a binutils version that
doesn't yet support it. binutils gained support over 4 years ago
<https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c2137f55ad04e451d834048d4bfec1de2daea20e>.
With all the changes in areas such as ELF attributes, if you tried to
use LLVM's RISC-V assembler output with a binutils that old then zext.b
would be the least of your worries.
Commit: 70f083f068ef0c6c589897d44e809ca18d5d1148
https://github.com/llvm/llvm-project/commit/70f083f068ef0c6c589897d44e809ca18d5d1148
Author: David Green <david.green at arm.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
Log Message:
-----------
[LV][AArch64] Test cleanup of low_trip_count_predicates.ll. NFC
Post commit cleanup from #132170
Commit: 864c76a181dd054a2c74ffa58b02bc554a8a1f83
https://github.com/llvm/llvm-project/commit/864c76a181dd054a2c74ffa58b02bc554a8a1f83
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
Log Message:
-----------
[RISCV] Rename operands used for branch and compressed jump targets. NFC (#133364)
The current names look just like predicates we use for regular
immediates, but branches and jumps also allow bare symbols.
While I was there I realized I could use PredicateMethod to have the
AsmMatcher directly call the template function we use in the asm parser.
Commit: 77ba6918a14ddef4ee639bf6221cc2eb95adf320
https://github.com/llvm/llvm-project/commit/77ba6918a14ddef4ee639bf6221cc2eb95adf320
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
Log Message:
-----------
[mlir][linalg] Fix FoldReshapeWithGenericOpByCollapsing insertion point (#133476)
Fixes dominance verifier error with
`FoldReshapeWithGenericOpByCollapsing` by setting the insertion point
after `producer`. The `tensor.collapse_shape` op only has a single
operand (`producer`) so it is safe to insert after the producer.
Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Commit: 1bfc61064ab46e44865453d2c2176f5e7f96987c
https://github.com/llvm/llvm-project/commit/1bfc61064ab46e44865453d2c2176f5e7f96987c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-parent-operands-in-spill.ll
Log Message:
-----------
[SLP]Fix spill cost analysis for split vectorized nodes
If the entry is SplitVectorize, it can be skipped in favor of its
operands, operands allow correctly detect spill costs.
Fixes #133288
Commit: d4dc5712c47dab5f5dcfc329db8121059b591fb1
https://github.com/llvm/llvm-project/commit/d4dc5712c47dab5f5dcfc329db8121059b591fb1
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/assets/index.js
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/test/clang-doc/assets.cpp
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Allow setting a base directory for hosted pages (#132482)
Currently, when we set URLs from JS, we set them only using the protocol
and host locations. This works fine when docs are served from the base
directory of the site, but if you want to nest it under another
directory, our JS fails to set the correct path, leading to broken
links.
This patch adds a --base option to specify the path prefix to use, which
is set in the generated index_json.js file. index.json can then fill in
the prefix appropriately when generating links in a browser. This flag
has no effect for non HTML output.
Given an index hosted at: www.docs.com/base_directory/index.html
we used to generate the following link:
www.docs.com/file.html
Using --base base_directory we now generate:
www.docs.com/base_directory/file.html
This allows such links to work when hosting pages without using a custom
index.js.
Commit: c8246f69f4e17b877bf42643f3d4360a89232f68
https://github.com/llvm/llvm-project/commit/c8246f69f4e17b877bf42643f3d4360a89232f68
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Remove friend declarations from __tree (#133237)
Instead, make the few functions `map` relies on public. This makes it
more clear what is private to `__tree` and what is part of the
library-internal interface.
Commit: 45b9e24b1ea8f34230cb2a746d624bd7e64e484b
https://github.com/llvm/llvm-project/commit/45b9e24b1ea8f34230cb2a746d624bd7e64e484b
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/asan/asan_activation.cpp
M compiler-rt/lib/asan/asan_flags.h
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/memprof/memprof_flags.h
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp
M compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
M compiler-rt/test/asan/TestCases/alloca_instruments_all_paddings.cpp
M compiler-rt/test/metadata/lit.cfg.py
M compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp
M compiler-rt/test/tsan/Darwin/no_call_setenv_in_symbolize.cpp
M compiler-rt/test/tsan/Linux/clone_setns.cpp
M llvm/include/llvm/ProfileData/InstrProfData.inc
Log Message:
-----------
Fix some small typos in compiler-rt. NFC (#133388)
Commit: 91d2ecf0d563b03d75380375e8ac26a291bed9d7
https://github.com/llvm/llvm-project/commit/91d2ecf0d563b03d75380375e8ac26a291bed9d7
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libc/src/__support/CPP/atomic.h
M mlir/include/mlir/Analysis/Presburger/Simplex.h
M mlir/include/mlir/AsmParser/AsmParser.h
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f16-f16-accum.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f32.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f16.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32-bare-ptr.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32.mlir
M mlir/test/mlir-tblgen/op-properties-predicates.td
Log Message:
-----------
[NFC] Fix some typos in libc and mlir comments (#133374)
Commit: 812efdb0940f82fbfd2a139573764364cb55cdc2
https://github.com/llvm/llvm-project/commit/812efdb0940f82fbfd2a139573764364cb55cdc2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Bump the version to 0.2.11
Commit: c0952a931c7d556ca9f0073d86d591a37eb60477
https://github.com/llvm/llvm-project/commit/c0952a931c7d556ca9f0073d86d591a37eb60477
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/bounds-checking-debuginfo.c
Log Message:
-----------
[clang] [sanitizer] add pseudofunction to indicate array-bounds check (#128977)
With this, we can:
* use profilers to estimate how many cycles we spend on these checks
(subject to caveats),
* more easily see why we crashed.
Commit: 812e02a74c0afb8bce8bf7ac7cc606ace188e30d
https://github.com/llvm/llvm-project/commit/812e02a74c0afb8bce8bf7ac7cc606ace188e30d
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fast-math.ll
A llvm/test/CodeGen/NVPTX/frem.ll
Log Message:
-----------
[NVPTX] Use fast-math flags when lowering sin, cos, frem (#133121)
Update the lowering rules for sin, cos, and frem to respect the
instruction-level flags in addition to the global and function-level
options. For sin and cos, the TableGen lowering has been updated to
check the `afn` flag on the node. The lowering for frem has been pulled
to custom instruction legalization in order to allow for DAG Combiner
optimizations to operate over the expanded instructions.
Commit: 83c4cb36aaa41cc58f8d9fed5cb364e46e5c7db5
https://github.com/llvm/llvm-project/commit/83c4cb36aaa41cc58f8d9fed5cb364e46e5c7db5
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
Log Message:
-----------
[HLSL][RootSignature] Make Root Signature lexer keywords case-insensitive (#132967)
>From the corrections to the Root Signature specification here:
https://github.com/llvm/wg-hlsl/issues/192. It was denoted that keywords
are also case-insensitive in DXC.
This pr adjusts the lexer to adhere to the updated spec.
We also have a NFC to add a missing license to a file while in the area.
---------
Co-authored-by: Finn Plummer <finnplummer at microsoft.com>
Commit: 0c811053734e49151fb436f8afbb87b396bcb15e
https://github.com/llvm/llvm-project/commit/0c811053734e49151fb436f8afbb87b396bcb15e
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/cuda-no-pgo-or-coverage.cu
M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
M offload/test/offloading/gpupgo/pgo1.c
M offload/test/offloading/gpupgo/pgo2.c
Log Message:
-----------
[PGO][Offload] Disable PGO on NVPTX (#133522)
Commit: 3026fa0eb61904d6dde1dba8c93a3c757c2d4056
https://github.com/llvm/llvm-project/commit/3026fa0eb61904d6dde1dba8c93a3c757c2d4056
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/frac-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/radians-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/rcp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/saturate-builtin.hlsl
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/clip-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
Log Message:
-----------
[HLSL] add CustomTypeChecking to float builtins (#133441)
- Add CustomTypeChecking to HLSL builtins that take float arguments
- Add new builtin tests to confirm CustomTypeChecking doesn't promote
scalar float arguments aren't promoted to double
- fixes #133440
Commit: 783a846507683c7b515473b833c9cf02cd2b1993
https://github.com/llvm/llvm-project/commit/783a846507683c7b515473b833c9cf02cd2b1993
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LoopVectorize/vplan-widen-struct-return.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Add VF as operand to VPScalarIVStepsRecipe.
Similarly to other recipes, update VPScalarIVStepsRecipe to also take
the runtime VF as argument. This removes some unnecessary runtime VF
computations for scalable vectors. It will also allow dropping the
UF == 1 restriction for narrowing interleave groups required in
577631f0a528.
Commit: bf02dfcd8c69f45f5ea0e273fc63cc34675ae5c2
https://github.com/llvm/llvm-project/commit/bf02dfcd8c69f45f5ea0e273fc63cc34675ae5c2
Author: Mohammed Keyvanzadeh <mohammadkeyvanzade94 at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/AddressRanges.h
Log Message:
-----------
[llvm][ADT] Some AddressRanges.h improvements (#132847)
- Rename parameter to adhere to the project's parameter naming
convention.
- Remove redundant template argument.
- Remove redundant name-qualification.
- Change non-explicit conversion operator to an explicit one to avoid
surprising implicit conversions.
Commit: 457970d25d7216d793734915ab675701e50c292c
https://github.com/llvm/llvm-project/commit/457970d25d7216d793734915ab675701e50c292c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/ctor.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_bool.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.virtuals/tested_elsewhere.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/types.pass.cpp
Log Message:
-----------
[libc++][NFC] Format std::num_put tests
Commit: 77913b5d1dc970e3e053ab1ab160da897560b1b4
https://github.com/llvm/llvm-project/commit/77913b5d1dc970e3e053ab1ab160da897560b1b4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Add instantiation of VPUnrollPartAccessor<3> to fix link error.
Fix link errors with GCC by providing an explicit instantiation.
Commit: 5a073f1f3ad99e70138e9ef8097ccc2b7fad05b2
https://github.com/llvm/llvm-project/commit/5a073f1f3ad99e70138e9ef8097ccc2b7fad05b2
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[doc][IR] Add documentation for `llvm.vector.(de)interleave3/5/7` (#133519)
I put the documentation of all factors into the same (de)interleave
entries because I really don't see a reason to separate them in an
already long LangRef page.
Commit: 021a1f69742aab7d650887a0978db5cf007967d3
https://github.com/llvm/llvm-project/commit/021a1f69742aab7d650887a0978db5cf007967d3
Author: Alex <alejandro.duran at intel.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M offload/include/OffloadPolicy.h
M offload/libomptarget/PluginManager.cpp
Log Message:
-----------
[OFFLOAD] Stricter enforcement of user offload disable (#133470)
If user specifies offload is disabled (e.g.,
OMP_TARGET_OFFLOAD=disable), disable library almost completely. This
reduces resources spent to a minimum and ensures all APIs behave as if
the only available device is the host device.
Currently some of the APIs behave as if there were devices avaible for
offload even when under OMP_TARGET_OFFLOAD=disable.
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 973bf4d53b9cfac4400a9954d9c527092b238a86
https://github.com/llvm/llvm-project/commit/973bf4d53b9cfac4400a9954d9c527092b238a86
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV] Remove unnecessary if guard before calling SignExtend64<6> in decodeCLUIImmOperand. NFC (#133514)
Commit: 5bdce305793f161cfa1bf69a65954089c99ccf0b
https://github.com/llvm/llvm-project/commit/5bdce305793f161cfa1bf69a65954089c99ccf0b
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU][True16][CodeGen] remove v2i16 from srl pattern (#133458)
remove v2i16 from srl true16 pattern since 16bit right shift on v2i16
should not be applied with this pattern
Commit: 48408954670e1f564bd92eed6b54bf155238201c
https://github.com/llvm/llvm-project/commit/48408954670e1f564bd92eed6b54bf155238201c
Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/include/stdlib.yaml
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/memalignment.cpp
A libc/src/stdlib/memalignment.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/memalignment_test.cpp
Log Message:
-----------
[libc] implement `memalignment` (#132493)
This patch adds the `memalignment` function to LLVM-libc, following its
description in [WG14 N3220,
§7.24.2.1](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf#page=387).
- [x] Add the implementation of `memalignment` in
[`/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/src/stdlib)
- [x] Add tests for `memalignment` in
[`/test/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/test/src/stdlib)
- [x] Add `memalignment` to
[`entrypoints.txt`](https://github.com/llvm/llvm-project/blob/main/libc/config/linux/x86_64/entrypoints.txt)
for at least x86_64 and whatever you're building on
- [x] Add `memalignment` to
[`include/stdlib.yaml`](https://github.com/llvm/llvm-project/blob/main/libc/include/stdlib.yaml)
Closes #132300
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 5252bb1d74cc7bcbba4d0f6826486f43a124d01c
https://github.com/llvm/llvm-project/commit/5252bb1d74cc7bcbba4d0f6826486f43a124d01c
Author: Jeff Niu <jeffniu22 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/Interfaces/InferIntRangeInterface.cpp
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
[mlir] IntegerRangeAnalysis: return initialized state for noninteger values (#133541)
Otherwise, the state for noninteger values remains uninitialized,
causing the analysis to return bogus results.
Commit: 934f2557bacbbe914878c1ba56a17a8c6eae83c9
https://github.com/llvm/llvm-project/commit/934f2557bacbbe914878c1ba56a17a8c6eae83c9
Author: Mogball <jeffniu22 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
[mlir][analysis] Commit missing check lines
Commit: b394babddcec466a4cb8f31ea94b99c1b934ea71
https://github.com/llvm/llvm-project/commit/b394babddcec466a4cb8f31ea94b99c1b934ea71
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
A llvm/test/Transforms/HotColdSplit/musttail.ll
Log Message:
-----------
[HotColdSplit] Don't outline musttail calls. (#133177)
musttail calls have several restrictions, generally enforcing matching
calling conventions between the caller parent and musttail callee. We
can't usually honor them, because the extracted function has a different
signature altogether, taking inputs/outputs and returning a control-flow
identifier rather than the actual return value.
Don't consider musttail calls as valid for extraction.
Commit: e29f228a0732b126cca3ee2ff2536f08c1e49434
https://github.com/llvm/llvm-project/commit/e29f228a0732b126cca3ee2ff2536f08c1e49434
Author: Mogball <jeffniu22 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
actually fix the test
Commit: 1462c26a9f5505c899a3ddbd78fd0caa6675c5fd
https://github.com/llvm/llvm-project/commit/1462c26a9f5505c899a3ddbd78fd0caa6675c5fd
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
Log Message:
-----------
[HLSL] Add WaveReadLaneAt unsigned integer overloads (#133520)
Add WaveReadLaneAt unsigned integer overloads
2nd argument of WaveReadLaneAt should be a uint32_t and not an int32_t
add tests
Closes #133473
Commit: 1e00bb16f488492198df692ae2e2abc405a138f3
https://github.com/llvm/llvm-project/commit/1e00bb16f488492198df692ae2e2abc405a138f3
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
Log Message:
-----------
[sanitizer] actually run preadv2 test (#133529)
it seems the %run was accidentally omitted, otherwise the `assert` calls
would not make sense
Commit: c8a70f4c6e24076ac3fc18bfb9e2a41ece83e7fc
https://github.com/llvm/llvm-project/commit/c8a70f4c6e24076ac3fc18bfb9e2a41ece83e7fc
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/Analysis/CMakeLists.txt
A llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/CodeGen.cpp
A llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
A llvm/test/CodeGen/X86/global-variable-partition.ll
Log Message:
-----------
[CodeGen][StaticDataPartitioning]Place local-linkage global variables in hot or unlikely prefixed sections based on profile information (#125756)
In this PR, static-data-splitter pass finds out the local-linkage global
variables in {`.rodata`, `.data.rel.ro`, `bss`, `.data`} sections by
analyzing machine instruction operands, and aggregates their accesses
from code across functions.
A follow-up item is to analyze global variable initializers and count
for access from data.
* This limitation is demonstrated by `bss2` and `data3` in
`llvm/test/CodeGen/X86/global-variable-partition.ll`.
Some stats of static-data-splitter with this patch:
**section**|**bss**|**rodata**|**data**
:-----:|:-----:|:-----:|:-----:
hot-prefixed section coverage|99.75%|97.71%|91.30%
unlikely-prefixed section size percentage|67.94%|39.37%|63.10%
1. The coverage is defined as `#perf-sample-in-hot-prefixed <data>
section / #perf-sample in <data.*> section` for each <data> section.
* The perf command samples
`MEM_INST_RETIRED.ALL_LOADS:u:pinned:precise=2` events at a high
frequency (`perf -c 2251`) for 30 seconds. The profiled binary is built
as non-PIE so `data.rel.ro` coverage data is not available.
2. The unlikely-prefixed `<data>` section size percentage is defined as
`unlikely <data> section size / the sum size of <data>.* sections` for
each `<data>` section
Commit: 515d1ae679ea25687423be37abec74565d755921
https://github.com/llvm/llvm-project/commit/515d1ae679ea25687423be37abec74565d755921
Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Add --repository-line-prefix argument (#131280)
This PR adds a new command-line option that allows users to specify the
prefix used for line-based anchors in repository URLs. Different
repository interfaces use different formats for line anchors (GitHub
uses `#L123`, googlesource uses `#123`, etc.). This option enables users
to customize the line prefix to match their repository platform without
requiring hard-coded values for each service.
Fixes #59814
Commit: 6cc208cd3c80a57c535ad2ea7e8a189d02966682
https://github.com/llvm/llvm-project/commit/6cc208cd3c80a57c535ad2ea7e8a189d02966682
Author: Michael Jones <michaelrj at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A libc/Maintainers.rst
M libc/docs/CMakeLists.txt
A libc/docs/Maintainers.rst
M libc/docs/index.rst
M llvm/Maintainers.md
Log Message:
-----------
[libc] Add maintainers file (#133471)
Based on #133297 by jhuber.
LLVM-libc needs a maintainers file, this patch adds an initial set.
The file is based on `clang/maintainers.rst` and
https://llvm.org/docs/DeveloperPolicy.html#maintainers.
Commit: 8dc64e93cb203904c778ba7c390f8b7adc85bb02
https://github.com/llvm/llvm-project/commit/8dc64e93cb203904c778ba7c390f8b7adc85bb02
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
Log Message:
-----------
llvm-reduce: Avoid double map lookup (#133447)
Commit: 27b53e90a50428456e48a04b606fc366d48520a9
https://github.com/llvm/llvm-project/commit/27b53e90a50428456e48a04b606fc366d48520a9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Use takeName instead of setName when cloning functions (#133393)
Commit: 4324f236ac8e8487f82c2f5e9fff1560600019c8
https://github.com/llvm/llvm-project/commit/4324f236ac8e8487f82c2f5e9fff1560600019c8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port c8a70f4c6e24
Commit: bb047b9ea37f8183941bdbffde00886fa4ab2407
https://github.com/llvm/llvm-project/commit/bb047b9ea37f8183941bdbffde00886fa4ab2407
Author: vporpo <vporpodas at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Value.h
M llvm/lib/SandboxIR/Constant.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement missing ConstantVector member functions (#131390)
This patch implements get(), getSplat(), getSplatValue() and getType(),
mirroring LLVM IR.
Commit: fb0cd9899d79211a497f0b560f73d2bca67d7d9d
https://github.com/llvm/llvm-project/commit/fb0cd9899d79211a497f0b560f73d2bca67d7d9d
Author: AdityaK <hiraditya at msn.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/IR/Verifier.cpp
Log Message:
-----------
NFC: Remove unused includes (#133474)
Commit: 304b3c500021a9281a1d03cf3a63380ca31f7451
https://github.com/llvm/llvm-project/commit/304b3c500021a9281a1d03cf3a63380ca31f7451
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
Log Message:
-----------
[alpha.webkit.RawPtrRefMemberChecker] The checker doesn't warn Objective-C types in ivars. (#132833)
This PR fixes the bug that we weren't generating warnings when a raw
poiner is used to point to a NS type in Objective-C ivars. Also fix the
bug that we weren't suppressing this warning in system headers.
Commit: 84c1afe69e51018fd48462d95190797f880d5195
https://github.com/llvm/llvm-project/commit/84c1afe69e51018fd48462d95190797f880d5195
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
Log Message:
-----------
llvm-reduce: Simplify instruction reduction to avoid worklist (#133391)
Commit: b2e2950358ff6fc201e408145b30db63b33d486b
https://github.com/llvm/llvm-project/commit/b2e2950358ff6fc201e408145b30db63b33d486b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
R llvm/test/tools/llvm-reduce/remove-ifunc-constantexpr.ll
Log Message:
-----------
llvm-reduce: Remove xfailed test for ifunc with constant expression (#133389)
The verifier does reject this now
Commit: 8c18c25b1b22ea710edb40a4f167a6a8bfe6ff9d
https://github.com/llvm/llvm-project/commit/8c18c25b1b22ea710edb40a4f167a6a8bfe6ff9d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-reduce.rst
A llvm/test/tools/llvm-reduce/Inputs/flaky-test.py
A llvm/test/tools/llvm-reduce/flaky-interestingness.ll
M llvm/tools/llvm-reduce/deltas/Delta.cpp
Log Message:
-----------
llvm-reduce: Do not assert if the input is no longer interesting (#133386)
If the interestingness script is flaky, we should not assert. Print
a warning, and continue. This could still happen as a result of an
llvm-reduce bug, so make a note of that.
Add a --skip-verify-interesting-after-counting-chunks option to
avoid the extra run of the reduction script, and to silence the
warning.
Commit: 842f25a5fb781491c14102d0db1886a78a190ed5
https://github.com/llvm/llvm-project/commit/842f25a5fb781491c14102d0db1886a78a190ed5
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
Log Message:
-----------
[NFC] [dataflow] generalize smart pointer caching (#133350)
This allows us to use it for classes that use other names than get /
value.
Commit: 8726e973459d93d34653946ba1e01ad198cdf11f
https://github.com/llvm/llvm-project/commit/8726e973459d93d34653946ba1e01ad198cdf11f
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-28 (Fri, 28 Mar 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/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/sse2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/sse2-intrinsics-i386.ll
Log Message:
-----------
[msan] Handle SSE2 cvt(t?)ps2dq/cvt(t?)pd2dq and cvtpd2ps using handleSSEVectorConvertIntrinsicByProp (#132815)
cvt(t?)ps2dq/cvt(t?)pd2dq and cvtpd2ps are currently handled strictly.
This patch handles them using handleSSEVectorConvertIntrinsicByProp
(from https://github.com/llvm/llvm-project/pull/130705), generalized to
handle SSE intrinsics that do not have a rounding mode parameter.
Commit: 724f2096cedd6e179c79eaddf41accaad1218c96
https://github.com/llvm/llvm-project/commit/724f2096cedd6e179c79eaddf41accaad1218c96
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/distinct-dimetadata-nullptr.ll
M llvm/test/tools/llvm-reduce/operands-to-args-metadata.ll
M llvm/test/tools/llvm-reduce/reduce-distinct-metadata.ll
M llvm/test/tools/llvm-reduce/remove-attributes-from-intrinsics.ll
M llvm/test/tools/llvm-reduce/remove-function-bodies.ll
M llvm/test/tools/llvm-reduce/remove-instructions.ll
M llvm/test/tools/llvm-reduce/remove-metadata.ll
M llvm/test/tools/llvm-reduce/remove-module-data.ll
M llvm/test/tools/llvm-reduce/remove-multiple-use-of-args-in-same-instruction.ll
M llvm/test/tools/llvm-reduce/skip-delta-passes.ll
M llvm/test/tools/llvm-reduce/temporary-files-as-bitcode-split.ll
M llvm/test/tools/llvm-reduce/temporary-files-as-bitcode.ll
Log Message:
-----------
llvm-reduce: Add -abort-on-invalid-reduction to more tests (#133390)
If I flip the default, the only failures are in MIR tests.
Commit: 22a11be8ab6f31cd3621f37d675e44988218f314
https://github.com/llvm/llvm-project/commit/22a11be8ab6f31cd3621f37d675e44988218f314
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][vector] Fix parser of `vector.contract` (#133434)
This PR adds a check in the parser to prevent a crash when
`vector.contract` lacks the `iterator_types` attribute.
Fixes #132886.
Commit: 55430f8673b9f8b27779faad3fe9c59954d539df
https://github.com/llvm/llvm-project/commit/55430f8673b9f8b27779faad3fe9c59954d539df
Author: peterbell10 <peterbell10 at openai.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/test/Transforms/SLPVectorizer/NVPTX/v2f16.ll
Log Message:
-----------
[NVPTX] Customize getScalarizationOverhead (#128077)
We've observed that the SLPVectorizer is too conservative on NVPTX
because it over-estimates the cost to build a vector. PTX has a single
`mov` instruction that can build e.g. `<2 x half>` vectors from scalars,
however the SLPVectorizer over-estimates it as the cost of 2 insert
elements.
To fix this I customize `getScalarizationOverhead` to lower the cost for
building 2x16 types.
Commit: 539ef5eee2c26b93923ed7872c6f847ff54c71ae
https://github.com/llvm/llvm-project/commit/539ef5eee2c26b93923ed7872c6f847ff54c71ae
Author: John Harrison <harjohn at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
Log Message:
-----------
[lldb-dap] Addressing ubsan enum usage. (#133542)
Running tests with ubsan enabled showed that the current
`protocol::AdapterFeature` and `protocol::ClientFeature` enums are
incorrectly defined if we want to use them in a `llvm::DenseSet`. The
enums are currently untyped and this results in the undefined behavior.
Adding `FLAGS_ENUM()` wrappers to all the enums in the
`lldb-dap::protocol` namespace to ensure they're typed so they can be
used with types like `llvm::DenseSet`.
Commit: f8ffbaebed1a7ac82a445a22630fefb769f0d08b
https://github.com/llvm/llvm-project/commit/f8ffbaebed1a7ac82a445a22630fefb769f0d08b
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
[test] Test absolute/relative relocations referencing undefined non-weak symbol
Commit: edef028029c4785dfe23c06731de4fc9f34d5cd5
https://github.com/llvm/llvm-project/commit/edef028029c4785dfe23c06731de4fc9f34d5cd5
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/xqciio-aliases-valid.s
A llvm/test/MC/RISCV/xqciio-invalid.s
A llvm/test/MC/RISCV/xqciio-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqciio (External Input Output) extension (#132721)
This extension adds two external input output instructions for
non-memory-mapped device.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.7.0
This patch adds assembler only support.
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>
Commit: b33cc642ed398b13875dbb9099916affce355b49
https://github.com/llvm/llvm-project/commit/b33cc642ed398b13875dbb9099916affce355b49
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp
M lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
Log Message:
-----------
[lldb] Use *Set::insert_range and a range constructor (NFC) (#133548)
This patch uses *Set::insert_range and a range constructor of DenseSet
to clean up the code to populate sets.
Commit: d4427f308eb6e42790a36b56d61b482cbc9f67ba
https://github.com/llvm/llvm-project/commit/d4427f308eb6e42790a36b56d61b482cbc9f67ba
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/lib/Analysis/DependenceGraphBuilder.cpp
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/VFABIDemangler.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/tools/llvm-extract/llvm-extract.cpp
M llvm/unittests/ADT/DirectedGraphTest.cpp
Log Message:
-----------
[llvm] Use range constructors of *Set (NFC) (#133549)
Commit: d3c10a3897ccd060090ca273de4cedb91cd2d605
https://github.com/llvm/llvm-project/commit/d3c10a3897ccd060090ca273de4cedb91cd2d605
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[CodeGen] Use llvm::reverse (NFC) (#133550)
Commit: f915015a3e22d569f23dee0e042bfd6f4ee74509
https://github.com/llvm/llvm-project/commit/f915015a3e22d569f23dee0e042bfd6f4ee74509
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[llvm] Remove extraneous calls to make_range (NFC) (#133551)
Commit: 854d795985d404236346340cb015409c30078e46
https://github.com/llvm/llvm-project/commit/854d795985d404236346340cb015409c30078e46
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/tools/mlir-tblgen/RewriterGen.cpp
Log Message:
-----------
[mlir] Use llvm::reverse (NFC) (#133552)
Commit: 63bb0078f824143f580225ad92464b21186f646e
https://github.com/llvm/llvm-project/commit/63bb0078f824143f580225ad92464b21186f646e
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
A compiler-rt/lib/ctx_profile/RootAutoDetector.h
M compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
A compiler-rt/lib/ctx_profile/tests/RootAutoDetectorTest.cpp
Log Message:
-----------
[ctxprof] Auto root detection: trie for stack samples (#133106)
An initial patch for supporting automated root detection. The auto-detector is introduced subsequently, but this patch introduces a datastructure for capturing sampled stacks, per thread, in a trie, and inferring from such samples which functions are reasonable roots.
Commit: 1d4801f22ab1fd6205b1cf625b690aefc554cd4c
https://github.com/llvm/llvm-project/commit/1d4801f22ab1fd6205b1cf625b690aefc554cd4c
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
Log Message:
-----------
[mlir] fix `maybeReplaceWithConstant` in IntRangeOptimizations (#133556)
If a dialect is caching/reusing constants when materializing then such
constants might already have `IntegerValueRangeLattice`s associated with
them and the range endpoint bit widths might not match the new
replacement (amongst other possible wackiness).
I observed this with `%true = arith.constant true` which was
materialized but had an existing `IntegerValueRangeLattice` (i.e.,
`solver.getOrCreateState<dataflow::IntegerValueRangeLattice>` was not
uninitalized) with range endpoint bit widths:
```
umin bit width: 32
umax bit width: 32
smin bit width: 32
smax bit width: 32
```
while the widths of the range end points for something like `%20 =
arith.cmpi slt, %19, %c1_i32` (a replacement candidate) would be
```
umin bit width: 1
umax bit width: 1
smin bit width: 1
smax bit width: 1
```
Thus, we should be clearing the analysis state each time a constant is
reused.
Commit: ba2de8f22d0cac86d89c1806fb54ed3463349342
https://github.com/llvm/llvm-project/commit/ba2de8f22d0cac86d89c1806fb54ed3463349342
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/test/ELF/riscv-relax-hi20-lo12-pie.s
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
[ELF] Allow absolute relocation referencing symbol index 0 in PIC mode
The value of an absolute relocation, like R_RISCV_HI20 or R_PPC64_LO16,
with a symbol index of 0, the resulting value should be treated as
absolute and permitted in both -pie and -shared links.
This change also resolves an absolute relocation referencing an
undefined symbol in statically-linked executables.
PPC64 has unfortunate exceptions:
* R_PPC64_TOCBASE uses symbol index 0 but it should be treated as
referencing the linker-defined .TOC.
* R_PPC64_PCREL_OPT (https://reviews.llvm.org/D84360) could no longer
rely on `isAbsoluteValue` return false.
Commit: 8e1d9f2d844a22f7d1cba93c604a9a094636f7a2
https://github.com/llvm/llvm-project/commit/8e1d9f2d844a22f7d1cba93c604a9a094636f7a2
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
Log Message:
-----------
[ctxprof][nfc] Move 2 implementation functions up in `CtxInstrProfiling.cpp` (#133146)
Commit: 31fe0d20fc49b0e0f653c95496b7955328f2983b
https://github.com/llvm/llvm-project/commit/31fe0d20fc49b0e0f653c95496b7955328f2983b
Author: vporpo <vporpodas at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/SandboxIR.md
A llvm/docs/SandboxVectorizer.md
M llvm/docs/Vectorizers.rst
Log Message:
-----------
[SandboxVec][Doc] Add documentation for the Sandbox Vectorizer (#133504)
Commit: 2898c3e0bbf904c68efb194525bcdfeedb3014c2
https://github.com/llvm/llvm-project/commit/2898c3e0bbf904c68efb194525bcdfeedb3014c2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M .github/workflows/pr-code-format.yml
Log Message:
-----------
[Github] Simplify Getting Changed Files in Code Formatting Workflow (#133023)
This patch changes getting changed files in the pr code format job to
just checking out the previous two commits (the merge commit and its
porent, the current commit latest in main), which allows us to just diff
the merge commit. This means we do not have to checkout the ref through
the merge base, which should save approximately a minute per job (or
much more in some cases where the PR is particularly out of date).
Commit: 1e03408d4b17a792da5fd01b30f05ff055cfbd79
https://github.com/llvm/llvm-project/commit/1e03408d4b17a792da5fd01b30f05ff055cfbd79
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
A llvm/test/CodeGen/DirectX/remove-dead-intriniscs.ll
Log Message:
-----------
[DirectX] Remove intrinsic definitions with no use (#133459)
Do cleanup in DXILFinalizeLinkage.cpp where intrinsic declares are getting orphaned.
This change reduces "Unsupported intrinsic for DXIL lowering" errors
when compiling DML shaders from 12218 to 415. and improves our
compilation success rate from less than 1% to 44%.
Commit: 40c1d50024f8f0306b8601559d69663ae3d2d9bb
https://github.com/llvm/llvm-project/commit/40c1d50024f8f0306b8601559d69663ae3d2d9bb
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsSPIRV.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/smoothstep.hlsl
A clang/test/CodeGenSPIRV/Builtins/smoothstep.c
A clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl
A clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll
A llvm/test/CodeGen/SPIRV/opencl/smoothstep.ll
Log Message:
-----------
[HLSL] Implement the `smoothstep` intrinsic (#132288)
Closes #99156.
Tasks completed:
- Implement `smoothstep` using HLSL source in `hlsl_intrinsics.h`
- Implement the `smoothstep` SPIR-V target built-in in
`clang/include/clang/Basic/BuiltinsSPIRV.td`
- Add sema checks for `smoothstep` to `CheckSPIRVBuiltinFunctionCall` in
`clang/lib/Sema/SemaSPIRV.cpp`
- Add codegen for spv `smoothstep` to `EmitSPIRVBuiltinExpr` in
`clang/lib/CodeGen/TargetBuiltins/SPIR.cpp`
- Add codegen tests to `clang/test/CodeGenHLSL/builtins/smoothstep.hlsl`
- Add spv codegen test to
`clang/test/CodeGenSPIRV/Builtins/smoothstep.c`
- Add sema tests to
`clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl`
- Add spv sema tests to
`clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c`
- Create the `int_spv_smoothstep` intrinsic in `IntrinsicsSPIRV.td`
- In SPIRVInstructionSelector.cpp create the `smoothstep` lowering and
map it to `int_spv_smoothstep` in
`SPIRVInstructionSelector::selectIntrinsic`
- Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll`
- Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/opencl/smoothstep.ll`
Commit: 34d858635f0887cc083ccbe3ac69fd34f107b4f6
https://github.com/llvm/llvm-project/commit/34d858635f0887cc083ccbe3ac69fd34f107b4f6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
R .ci/compute-projects.sh
M .ci/generate-buildkite-pipeline-premerge
M .github/workflows/premerge.yaml
Log Message:
-----------
[CI] Move CI over to new project computation script
This patch migrates the CI over to the new compute_projects.py script
for calculating what projects need to be tested based on a change to
LLVM.
Reviewers: lnihlen, ldionne, tstellar, Endilll, joker-eph, Keenuts
Reviewed By: Keenuts, tstellar
Pull Request: https://github.com/llvm/llvm-project/pull/132642
Commit: 21eeca3db0341fef4ab4a6464ffe38b2eba5810c
https://github.com/llvm/llvm-project/commit/21eeca3db0341fef4ab4a6464ffe38b2eba5810c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Exclude docs directories from triggering rebuilds
Currently when someone touches a docs directory in a subproject, it is
treated as if the source code of that project got touched, so the
project is built, it is tested, and the same for all of its enumerated
dependents. This is wasteful, particularly for patches just touching
docs in places like LLVM where we might spend an hour of node time to do
nothing useful given changes in the docs shouldn't cause test failures
and there is already another workflow that tests the documentation build
completes successfully.
Reviewers: Keenuts, tstellar, lnihlen
Reviewed By: tstellar
Pull Request: https://github.com/llvm/llvm-project/pull/133185
Commit: 41c906fe2b62a8266874a1146b9c85d96f1fa8fa
https://github.com/llvm/llvm-project/commit/41c906fe2b62a8266874a1146b9c85d96f1fa8fa
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A .ci/generate_test_report_github.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Add rich build information for github workflows
This patch adds rich test failure information to the Github output,
using the same library that is used for the buildkite pipeline.
Eventually I think we want to add more information like reproduction
information using the containers, but that is very divergent between
Github and Buildkite, so we probably want to wait until we've switched
over before doing that.
Reviewers: Keenuts, tstellar, lnihlen, DavidSpickett
Reviewed By: DavidSpickett, Keenuts
Pull Request: https://github.com/llvm/llvm-project/pull/133197
Commit: 1e62a3505fa0d0ef1f706549ce62f645f3091cfa
https://github.com/llvm/llvm-project/commit/1e62a3505fa0d0ef1f706549ce62f645f3091cfa
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/MC/RISCV/linker-relaxation.s
Log Message:
-----------
[RISCV] Test %hi(absolute_symbol)
Commit: e87bec622c0d10ae736e160a9335055d466d76ab
https://github.com/llvm/llvm-project/commit/e87bec622c0d10ae736e160a9335055d466d76ab
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/fail-execute-test.test
A llvm/test/tools/llvm-reduce/fail-output-file.test
M llvm/tools/llvm-reduce/TestRunner.cpp
Log Message:
-----------
llvm-reduce: Make some error messages more consistent (#133563)
The coding standards states that error messages should start with
a lowercase. Also use WithColor, and add missing test coverage for
the failed to write to output file case.
Commit: 5b3e152e16950e551530b640335bb17dcc70a2fa
https://github.com/llvm/llvm-project/commit/5b3e152e16950e551530b640335bb17dcc70a2fa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/run-ir-passes-error.ll
M llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp
Log Message:
-----------
llvm-reduce: Make run-ir-passes error more consistent (#133564)
Avoid capitalized Error. This loses the "Error constructing pass pipeline"
part, and just forwards the error to the default report_fatal_error case. Not
sure if it's worth trying to keep.
Commit: 1878259c3960daeee91e2c95d487514d9e2984a4
https://github.com/llvm/llvm-project/commit/1878259c3960daeee91e2c95d487514d9e2984a4
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
Log Message:
-----------
[mlir][spirv] Update verifier for `spirv.mlir.merge` (#133427)
- Moves the verification logic to the `verifyRegions` method of the
parent operation.
- Fixes a crash during verification when the last block lacks a
terminator.
Fixes #132850.
Commit: fa5025b76034bcdd65d3a96eb29ae1edc18b876e
https://github.com/llvm/llvm-project/commit/fa5025b76034bcdd65d3a96eb29ae1edc18b876e
Author: Marco Elver <elver at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Add entry for pcsections Metadata (#133423)
Add an entry for pcsections Metadata that references the PC Sections
Metadata document.
Fixes: https://github.com/llvm/llvm-project/issues/130552
Commit: 646ad89108da1e1f9aac9c20f348b2053da6fc4d
https://github.com/llvm/llvm-project/commit/646ad89108da1e1f9aac9c20f348b2053da6fc4d
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/iter_move.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__type_traits/is_referenceable.h
Log Message:
-----------
[libc++] Unify __can_reference and __is_referenceable_v (#133278)
Both traits do the same thing. This patch renames __can_reference to
__referenceable and moves it to the is_referenceable header.
Commit: 5b5f40283da2244f777eb606c722e4483fee4fab
https://github.com/llvm/llvm-project/commit/5b5f40283da2244f777eb606c722e4483fee4fab
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/operands-to-args-preserve-attributes.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix losing callsite attributes in operand-to-args (#133420)
Commit: d3d4a242de047f41589b4e2a27ecbcc3273d4cbf
https://github.com/llvm/llvm-project/commit/d3d4a242de047f41589b4e2a27ecbcc3273d4cbf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/operands-to-args-preserve-fmf.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix losing fast math flags in operands-to-args (#133421)
Commit: d852cc5311e22d845b3d626c80a310570628fa2c
https://github.com/llvm/llvm-project/commit/d852cc5311e22d845b3d626c80a310570628fa2c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/operands-to-args-preserve-fmf.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix losing call metadata in operands-to-args (#133422)
Commit: 1d0005a69ac812ea0ff069052daf4c2ea0242a48
https://github.com/llvm/llvm-project/commit/1d0005a69ac812ea0ff069052daf4c2ea0242a48
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/docs/GlobalISel/KnownBits.rst
M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
R llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h
A llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
R llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
A llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.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/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerTest.cpp
M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
Log Message:
-----------
[GlobalISel][NFC] Rename GISelKnownBits to GISelValueTracking (#133466)
- rename `GISelKnownBits` to `GISelValueTracking` to analyze more than
just `KnownBits` in the future
Commit: d22e35be1768ed619269e6d0843260b25b52cb34
https://github.com/llvm/llvm-project/commit/d22e35be1768ed619269e6d0843260b25b52cb34
Author: Tejas Vipin <alissxlace at proton.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/math/CMakeLists.txt
A libc/src/math/asinhf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/asinhf16.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/asinhf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/asinhf16_test.cpp
Log Message:
-----------
[libc][math][c23] Add asinhf16 function (#131351)
Implement asinh for Float16 along with tests. Closes #131001
Commit: 9451617d563d3b0f43d86b25fd1b6a6528d0afc2
https://github.com/llvm/llvm-project/commit/9451617d563d3b0f43d86b25fd1b6a6528d0afc2
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
[NFC] LLVM reduce: fix unused variable (#133584)
Commit: 1c7ab39f3d6959c64d01c8f275d672bd56315155
https://github.com/llvm/llvm-project/commit/1c7ab39f3d6959c64d01c8f275d672bd56315155
Author: YunQiang Su <syq at debian.org>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/test/CodeGen/Mips/brdelayslot.ll
A llvm/test/Transforms/LoopStrengthReduce/Mips/lit.local.cfg
M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll
Log Message:
-----------
MIPS: Set EnableLoopTermFold (#133454)
Setting `EnableLoopTermFold` enables `loop-term-fold` pass.
Commit: 0bed72160c5f8ee4574d46c2b5f342c4a868d8c4
https://github.com/llvm/llvm-project/commit/0bed72160c5f8ee4574d46c2b5f342c4a868d8c4
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
Revert "[NFC] LLVM reduce: remove unused variable" (#133586)
Reverts llvm/llvm-project#133584
Commit: 3e742b517a0606bfed329dfcb8c34c614ed73ea7
https://github.com/llvm/llvm-project/commit/3e742b517a0606bfed329dfcb8c34c614ed73ea7
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[NFC][AMDGPU] clang-format `AMDGPUBaseInfo.[h,cpp]` (#133559)
Commit: 374a5bea522f97f0879f30dacd5079297bdcfb39
https://github.com/llvm/llvm-project/commit/374a5bea522f97f0879f30dacd5079297bdcfb39
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/cray-pointers01.f90
A flang/test/Lower/OpenMP/cray-pointers02.f90
Log Message:
-----------
[Flang][OpenMP] Add PointerAssociateScalar to Cray Pointer used in the DSA (#133232)
Issue: Cray Pointer is not associated to Cray Pointee, leading to
Segmentation fault
Fix: GetUltimate, retrieves the base symbol in the current scope, which
gets passed all the references and returns the original symbol
---------
Co-authored-by: Michael Klemm <michael.klemm at amd.com>
Commit: 847cdd46e5433434661f4d7aa950dd5c5b28c063
https://github.com/llvm/llvm-project/commit/847cdd46e5433434661f4d7aa950dd5c5b28c063
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
[NFC][llvm-reduce] Fix an used variable warning in `ReduceOperandsToArgs.cpp`
Commit: e16541e1a6c02b32124e8893b29882bff072fd46
https://github.com/llvm/llvm-project/commit/e16541e1a6c02b32124e8893b29882bff072fd46
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M libcxx/include/__flat_set/flat_set.h
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
Log Message:
-----------
[libc++] fix `flat_set`'s transparent `insert` (#133402)
Unlike `flat_map` and `flat_multimap`, The two function template
overloads `flat_set::insert`'s wording strongly suggest we should use
the transparent comparator
https://eel.is/c++draft/flat.set#modifiers-1
Both the code and the tests were not using the transparent comparator,
which needs to be fixed
Commit: 1ff74917b56e9e57dd13286123144b5f13e9a517
https://github.com/llvm/llvm-project/commit/1ff74917b56e9e57dd13286123144b5f13e9a517
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/ELF/Driver.cpp
M lld/MachO/Driver.cpp
Log Message:
-----------
[lld] Use *Set::insert_range (NFC) (#133565)
Commit: 3db5be79d24bb48a38e844fafc3db054f8d8cc58
https://github.com/llvm/llvm-project/commit/3db5be79d24bb48a38e844fafc3db054f8d8cc58
Author: vporpo <vporpodas at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintRegion.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
A llvm/test/Transforms/SandboxVectorizer/print_region_pass.ll
Log Message:
-----------
[SandboxVec] Add print-region pass (#131019)
This patch implements a simple printing pass for regions. This is meant
to be used in tests and for debugging.
Commit: 666faa7fd98b7a58e089a38083f33c067ed5b955
https://github.com/llvm/llvm-project/commit/666faa7fd98b7a58e089a38083f33c067ed5b955
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/pr42905.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[DAG] visitEXTRACT_SUBVECTOR - accumulate SimplifyDemandedVectorElts demanded elts across all EXTRACT_SUBVECTOR uses (REAPPLIED) (#133401)
Similar to what is done for visitEXTRACT_VECTOR_ELT - if all uses of a vector are EXTRACT_SUBVECTOR, then determine the accumulated demanded elts across all users and call SimplifyDemandedVectorElts in "AssumeSingleUse" use.
Second try after #133130 was reverted by #133331 due to it affecting reverted test files
Commit: fe6fb910df9d1b9a9e2e7a6e8228d020668e0129
https://github.com/llvm/llvm-project/commit/fe6fb910df9d1b9a9e2e7a6e8228d020668e0129
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M lld/test/ELF/riscv-reloc-plt32.s
M lld/test/ELF/riscv-undefined-weak.s
M lld/test/ELF/riscv64-reloc-got32-pcrel.s
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/R600AsmPrinter.h
M llvm/lib/Target/AMDGPU/R600MCInstLower.cpp
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
M llvm/test/CodeGen/RISCV/dso_local_equivalent.ll
A llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
M llvm/test/MC/ELF/rtti-proxy-gotpcrel.ll
M llvm/test/MC/RISCV/data-directive-specifier.s
M llvm/test/MC/RISCV/pseudo-jump-invalid.s
M llvm/test/MC/RISCV/rv32i-invalid.s
Log Message:
-----------
[RISCV] Replace @plt/@gotpcrel in data directives with %pltpcrel %gotpcrel
clang -fexperimental-relative-c++-abi-vtables might generate `@plt` and
`@gotpcrel` specifiers in data directives. The syntax is not used in
humand-written assembly code, and is not supported by GNU assembler.
Note: the `@plt` in `.word foo at plt` is different from
the legacy `call func at plt` (where `@plt` is simply ignored).
The `@plt` syntax was selected was simply due to a quirk of AsmParser:
the syntax was supported by all targets until I updated it
to be an opt-in feature in a0671758eb6e52a758bd1b096a9b421eec60204c
RISC-V favors the `%specifier(expr)` syntax following MIPS and Sparc,
and we should follow this convention.
This PR adds support for `.word %pltpcrel(foo+offset)` and
`.word %gotpcrel(foo)`, and drops `@plt` and `@gotpcrel`.
* MCValue::SymA can no longer have a SymbolVariant. Add an assert
similar to that of AArch64ELFObjectWriter.cpp before
https://reviews.llvm.org/D81446 (see my analysis at
https://maskray.me/blog/2025-03-16-relocation-generation-in-assemblers
if intrigued)
* `jump foo at plt, x31` now has a different diagnostic.
Pull Request: https://github.com/llvm/llvm-project/pull/132569
Commit: b9b39db5d7677710f1d00dc8ff5844ad2abb269f
https://github.com/llvm/llvm-project/commit/b9b39db5d7677710f1d00dc8ff5844ad2abb269f
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/test/MC/RISCV/insn.s
M llvm/test/MC/RISCV/linker-relaxation.s
M llvm/test/MC/RISCV/rv32i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-valid.s
M llvm/test/MC/RISCV/rvd-valid.s
M llvm/test/MC/RISCV/rvf-valid.s
M llvm/test/MC/RISCV/rvi-valid.s
M llvm/test/MC/RISCV/rvzfbfmin-valid.s
M llvm/test/MC/RISCV/rvzfh-valid.s
M llvm/test/MC/RISCV/rvzfhmin-valid.s
Log Message:
-----------
RISCVAsmParser: Don't treat operands with relocation specifier as parse-time constants
An immediate operand is encoded as an `MCExpr`, with `RISCVMCExpr`
specifying an operand that includes a relocation specifier. When
https://reviews.llvm.org/D23568 added initial fixup and relocation
support in 2017, it adapted code from `PPCMCExpr` (for `@l` `@ha`) to
evaluate the `RISCVMCExpr` operand. (PPCAsmParser had considerable
technical debt, though I’ve recently streamlined it somewhat, e.g.
8560da28c69de481f3ad147722577e87b902facb)
Evaluating RISCVMCExpr during parsing is unnecessary. For example,
there's no need to treat `lui a0, %hi(2)` differently from `lui a0,
%hi(foo)` when foo has not been defined yet.
This evaluation introduces unnecessary complexity. For instance, parser
functions require an extra check like `VK == RISCVMCExpr::VK_None`, as
seen in these examples:
```
if (!evaluateConstantImm(getImm(), Imm, VK) || VK != RISCVMCExpr::VK_None)
return IsConstantImm && isUInt<N>(Imm) && VK == RISCVMCExpr::VK_None;
```
This PR eliminates the parse-time evaluation of `RISCVMCExpr`, aligning
it more closely with other targets.
---
`abs = 0x12345; lui t3, %hi(abs)` now generates
R_RISCV_HI20/R_RISCV_RELAX with linker relaxation.
(Tested by test/MC/RISCV/linker-relaxation.s)
(Notably, since commit ba2de8f22d0cac86d89c1806fb54ed3463349342 in
lld/ELF, the linker can handle R_RISCV_HI relocations with a symbol
index of 0 in -pie mode.)
Pull Request: https://github.com/llvm/llvm-project/pull/133377
Commit: 2ec88374e07f8ec395b7bf414bf1bdda88cebfc6
https://github.com/llvm/llvm-project/commit/2ec88374e07f8ec395b7bf414bf1bdda88cebfc6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[X86] Use MCRegister. NFC
Commit: 3ef33066bb32a9d9b76d72c6de6a7ae9ff72ddcc
https://github.com/llvm/llvm-project/commit/3ef33066bb32a9d9b76d72c6de6a7ae9ff72ddcc
Author: David Green <david.green at arm.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
A llvm/test/Transforms/LoopUnrollAndJam/delete_middle_loop.ll
Log Message:
-----------
[UnrollAndJam] Do not preserve loop nests if a loop was fully unrolled. (#133510)
If UnJ completely unrolls a loop and removes it entirely, the loop
remains in the current loop nest. If the loop nest gets reused the loops
will no longer be valid. As there is no way to remove a loop from a
LoopNest, this patch removes the preserve of the LoopNestAnalysis so
that it will be regenerated.
Fixes #124518
Commit: 884b19ab40c8b6e5d1fb54894c0418fd27bb93f9
https://github.com/llvm/llvm-project/commit/884b19ab40c8b6e5d1fb54894c0418fd27bb93f9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/index/dex/Dex.cpp
Log Message:
-----------
[clang-tools-extra] Use *Set::insert_range (NFC) (#133589)
Commit: 9c6eca28cbd4689173bc8b0733ffe39363481103
https://github.com/llvm/llvm-project/commit/9c6eca28cbd4689173bc8b0733ffe39363481103
Author: David Green <david.green at arm.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
Log Message:
-----------
[AArch64] Return an invalid cost for vscale x 2 x i128 srem.
This protects against invalid size requests on scalable vectors by checking the
original VT, not the legalized type when checking for scalars. The cost
returned is now invalid, which lines up with the codegen not being able to
produce a result.
Commit: 0cd82327ff71282b2bfc51090074a3fd63e4842d
https://github.com/llvm/llvm-project/commit/0cd82327ff71282b2bfc51090074a3fd63e4842d
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/docs/BoundsSafety.rst
M clang/docs/ConstantInterpreter.rst
M clang/docs/HIPSupport.rst
M clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/MSVCCompatibility.rst
M clang/docs/SanitizerCoverage.rst
M clang/unittests/Analysis/FlowSensitive/MultiVarConstantPropagationTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
M clang/unittests/Tooling/ExecutionTest.cpp
Log Message:
-----------
Fix some typos (NFC) (#133558)
Commit: 6b9813446625408393c5a2b4d0d54470f7932944
https://github.com/llvm/llvm-project/commit/6b9813446625408393c5a2b4d0d54470f7932944
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
Log Message:
-----------
[VPlan] Re-enable narrowing interleave groups with interleaving.
Remove the UF = 1 restriction introduced by 577631f0a5 building on top
of 783a846507683, which allows updating all relevant users of the VF,
VPScalarIVSteps in particular.
This restores the full functionality of
https://github.com/llvm/llvm-project/pull/106441.
Commit: be7f185ca16e990614113519d003bfe3685f489b
https://github.com/llvm/llvm-project/commit/be7f185ca16e990614113519d003bfe3685f489b
Author: Alcaro <floating at muncher.se>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
Log Message:
-----------
[NFC][analyzer] Fix typo in VirtualCall checker docs (#133593)
Commit: 3d43739753f3b50824a09343efe40a2a476488df
https://github.com/llvm/llvm-project/commit/3d43739753f3b50824a09343efe40a2a476488df
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
Log Message:
-----------
[Basic] Use SmallSet::insert_range (NFC) (#133594)
Commit: d66af9c69b6960ad5f903cc6c0db99395dace6af
https://github.com/llvm/llvm-project/commit/d66af9c69b6960ad5f903cc6c0db99395dace6af
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Tools/lsp-server-support/CompilationDatabase.cpp
Log Message:
-----------
[mlir] Use SetVector::insert_range (NFC) (#133595)
Commit: abf9c1a18d2875b6a8f98eba3761b8389818e1bf
https://github.com/llvm/llvm-project/commit/abf9c1a18d2875b6a8f98eba3761b8389818e1bf
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Switch a few attribute to use the C++11 syntax (#133293)
Using the C++11 attribute syntax makes it more strict where attributes
can be applied, reducing the number of possible positions an attribute
can appear in.
Commit: 31c37a4a5ebc0d13d86a91c300e15177e9d77ddf
https://github.com/llvm/llvm-project/commit/31c37a4a5ebc0d13d86a91c300e15177e9d77ddf
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV][TTI] Adjust VLS shuffle costing to account for sub-mask reuse (#129793)
If we have a shuffle which can be split via VLA where two or more of the
destinations have exactly the same elements, then we only need to
account for them once in costing. The duplicate copies are are (at
worst) whole register moves.
Note that this change only handles the single source case. Doing the
multiple source case seemed a bit more complicated, and I didn't have a
motivating test case.
Commit: 2f5c836e08164ce8835d520001042efe93caf950
https://github.com/llvm/llvm-project/commit/2f5c836e08164ce8835d520001042efe93caf950
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M lldb/bindings/interface/SBProgressDocstrings.i
A lldb/bindings/interface/SBProgressExtensions.i
M lldb/bindings/interfaces.swig
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
Log Message:
-----------
[SBProgress] Add swig support for `with` statement in Python (#133527)
We recently added an explicit finalize to SBProgress, #128966. I
realized while adding some additional implementations of SBProgress that
we should to add `with` support for ease of use. This patch addresses
adding and `__enter()__` method (which a no-op) and an `__exit()__` to
swig. I also refactor the emitter for the test to leverage `with`
instead of explicitly calling finalize, and I've updated the docstrings.
Commit: f8ee58a3cbbe4de2ac6d006fad8363ae6d24aa57
https://github.com/llvm/llvm-project/commit/f8ee58a3cbbe4de2ac6d006fad8363ae6d24aa57
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
Log Message:
-----------
[RISCV] Initial codegen support for the XRivosVizip extension (#131933)
This implements initial code generation support for a subset of the
xrivosvizip extension. Specifically, this adds support for vzipeven,
vzipodd, and vzip2a, but not vzip2b, vunzip2a, or vunzip2b. The others
will follow in separate patches.
One review note: The zipeven/zipodd matchers were recently rewritten to
better match upstream style, so careful review there would be
appreciated. The matchers don't yet support type coercion to wider
types. This will be done in a future patch.
Commit: e8059467ef0041f6735b23ef680eb9070e308e33
https://github.com/llvm/llvm-project/commit/e8059467ef0041f6735b23ef680eb9070e308e33
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix -Wsign-compare warning from f8ee58a
lib/Target/RISCV/RISCVISelLowering.cpp:4629:26: error: comparison of integers of different signs: 'unsigned int' and 'int' [-Werror,-Wsign-compare]
4629 | for (unsigned i = 0; i != NumElts; ++i) {
| ~ ^ ~~~~~~~
1 error generated.
Commit: 0c7be9392f1b8ab81be28d0ff1ebb374553ad70f
https://github.com/llvm/llvm-project/commit/0c7be9392f1b8ab81be28d0ff1ebb374553ad70f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M bolt/include/bolt/Passes/DominatorAnalysis.h
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT] Use *Set::insert_range (NFC) (#133601)
Commit: 8f5c3deadd79a19c8585e014581288e92462a97c
https://github.com/llvm/llvm-project/commit/8f5c3deadd79a19c8585e014581288e92462a97c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[Analysis] Use llvm::append_range (NFC) (#133602)
Commit: e3a3f78f35e091f005197bdd8f0464684546b5a0
https://github.com/llvm/llvm-project/commit/e3a3f78f35e091f005197bdd8f0464684546b5a0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
M llvm/lib/CodeGen/WindowScheduler.cpp
Log Message:
-----------
[CodeGen] Use llvm::append_range (NFC) (#133603)
Commit: f7228f38b72d6bf043aa4a412ba6ebb1d5971c53
https://github.com/llvm/llvm-project/commit/f7228f38b72d6bf043aa4a412ba6ebb1d5971c53
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
Log Message:
-----------
MCValue: Simplify code with getSubSym
The MCValue::SymB MCSymbolRefExpr member might be replaced with a
MCSymbol in the future. Reduce direct access.
Commit: 02af13aacb477d1f0a89375646f09b638055e3b9
https://github.com/llvm/llvm-project/commit/02af13aacb477d1f0a89375646f09b638055e3b9
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
Log Message:
-----------
[RISCV] Simplify evaluateAsRelocatableImpl. NFC
RISCVMCExpr is not created with VK_None.
Commit: ad1ba15ea894ac47b0f2447db191a14ebe1b301d
https://github.com/llvm/llvm-project/commit/ad1ba15ea894ac47b0f2447db191a14ebe1b301d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86InterleavedAccess.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
Log Message:
-----------
[Target] Use llvm::append_range (NFC) (#133606)
Commit: d8b078d5509d84da987c18cb357aac867051881c
https://github.com/llvm/llvm-project/commit/d8b078d5509d84da987c18cb357aac867051881c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[Transforms] Use llvm::append_range (NFC) (#133607)
Commit: db603a09dabefc6847423c8968578ce6d54a7a2d
https://github.com/llvm/llvm-project/commit/db603a09dabefc6847423c8968578ce6d54a7a2d
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
[MC] Move ELF-specific handleAddSubRelocations to ELFObjectWriter::recordRelocation
Commit: d9b3209e8640e69d328b7ead169c5304a80dd1be
https://github.com/llvm/llvm-project/commit/d9b3209e8640e69d328b7ead169c5304a80dd1be
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[X86] applyFixup: Remove unneeded Target.isAbsolute() and isResolved
Target and isResolved are only used by ARM.
Commit: c6d0e0435dba0a02ad1970e89083ad61922f7245
https://github.com/llvm/llvm-project/commit/c6d0e0435dba0a02ad1970e89083ad61922f7245
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
Log Message:
-----------
[M68k] applyFixup: don't reference Target and IsResolved
They are workarounds only needed by ARM and might be removed.
Commit: eba3734f04be9a830a7fe1c8e97a4b3c50f9c869
https://github.com/llvm/llvm-project/commit/eba3734f04be9a830a7fe1c8e97a4b3c50f9c869
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopDetection.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/Support/SCEVValidator.cpp
M polly/lib/Transform/MaximalStaticExpansion.cpp
Log Message:
-----------
[polly] Use *Set::insert_range (NFC) (#133609)
Commit: 976a384ba67adf059ab9fe5550e7e67b6fc53396
https://github.com/llvm/llvm-project/commit/976a384ba67adf059ab9fe5550e7e67b6fc53396
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
Log Message:
-----------
[clang] implement common-sugar for adjusted member-pointers (#133613)
Commit: 9747bb182f430bb1bd3525b7f42e88df626e28e5
https://github.com/llvm/llvm-project/commit/9747bb182f430bb1bd3525b7f42e88df626e28e5
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/TargetLoweringObjectFile.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
A llvm/test/CodeGen/AArch64/constant-pool-partition.ll
A llvm/test/CodeGen/X86/constant-pool-partition.ll
Log Message:
-----------
[CodeGen][StaticDataSplitter]Support constant pool partitioning (#129781)
This is a follow-up patch of
https://github.com/llvm/llvm-project/pull/125756
In this PR, static-data-splitter pass produces the aggregated profile
counts of constants for constant pools in a global state
(`StateDataProfileInfo`), and asm printer consumes the profile counts to
produce `.hot` or `.unlikely` prefixes.
This implementation covers both x86 and aarch64 asm printer.
Commit: fea6b388055284f37852e615fbf5b40a3ba34249
https://github.com/llvm/llvm-project/commit/fea6b388055284f37852e615fbf5b40a3ba34249
Author: YLChenZ <chentongyongcz at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/DeltaManager.cpp
A llvm/tools/llvm-reduce/DeltaPass.h
A llvm/tools/llvm-reduce/DeltaPasses.def
M llvm/tools/llvm-reduce/deltas/Delta.cpp
M llvm/tools/llvm-reduce/deltas/Delta.h
M llvm/tools/llvm-reduce/deltas/ReduceAliases.cpp
M llvm/tools/llvm-reduce/deltas/ReduceAliases.h
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
M llvm/tools/llvm-reduce/deltas/ReduceArguments.h
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.h
M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.h
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.h
M llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceFunctionBodies.cpp
M llvm/tools/llvm-reduce/deltas/ReduceFunctionBodies.h
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.h
M llvm/tools/llvm-reduce/deltas/ReduceIRReferences.cpp
M llvm/tools/llvm-reduce/deltas/ReduceIRReferences.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlagsMIR.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlagsMIR.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.h
M llvm/tools/llvm-reduce/deltas/ReduceInvokes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInvokes.h
M llvm/tools/llvm-reduce/deltas/ReduceMemoryOperations.cpp
M llvm/tools/llvm-reduce/deltas/ReduceMemoryOperations.h
M llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceModuleData.cpp
M llvm/tools/llvm-reduce/deltas/ReduceModuleData.h
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.h
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.h
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperands.h
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.h
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.h
M llvm/tools/llvm-reduce/deltas/ReduceRegisterDefs.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterDefs.h
M llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.h
M llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.h
M llvm/tools/llvm-reduce/deltas/ReduceSpecialGlobals.cpp
M llvm/tools/llvm-reduce/deltas/ReduceSpecialGlobals.h
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.cpp
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.h
M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.cpp
M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.h
M llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp
M llvm/tools/llvm-reduce/deltas/RunIRPasses.h
M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.cpp
M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.h
M llvm/tools/llvm-reduce/deltas/StripDebugInfo.cpp
M llvm/tools/llvm-reduce/deltas/StripDebugInfo.h
Log Message:
-----------
[llvm-reduce]: print short form, actionable names in the log (#133561)
Closes #132696
before the patch like this:
```
----------------------------
*** Reducing GlobalObjects...
----------------------------
*** Reducing GV Initializers...
----------------------------
*** Reducing GlobalVariables...
----------------------------
```
after the patch like this:
```
----------------------------
*** Reducing GlobalObjects (global-objects)...
----------------------------
*** Reducing GV Initializers (global-initializers)...
----------------------------
*** Reducing GlobalVariables (global-variables)...
----------------------------
```
Commit: 825ecfed9e08f27ecb65b960bb754f6d300ff625
https://github.com/llvm/llvm-project/commit/825ecfed9e08f27ecb65b960bb754f6d300ff625
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/IRPartitionLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#133615)
Commit: 8db434a4815737e4d665aeedd1495369e80ea208
https://github.com/llvm/llvm-project/commit/8db434a4815737e4d665aeedd1495369e80ea208
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/bugpoint/CrashDebugger.cpp
M llvm/tools/bugpoint/OptimizerDriver.cpp
M llvm/tools/bugpoint/ToolRunner.cpp
M llvm/tools/dsymutil/Reproducer.cpp
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
M llvm/tools/llvm-libtool-darwin/DependencyInfo.h
M llvm/tools/llvm-lipo/llvm-lipo.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/tools/llvm-xray/xray-stacks.cpp
M llvm/tools/lto/lto.cpp
M llvm/tools/obj2yaml/elf2yaml.cpp
M llvm/tools/obj2yaml/macho2yaml.cpp
Log Message:
-----------
[bugpoint] Avoid repeated hash lookups (NFC) (#133616)
Commit: a03367fd0135a0fe1be4d6e4b8e0dd59ed332003
https://github.com/llvm/llvm-project/commit/a03367fd0135a0fe1be4d6e4b8e0dd59ed332003
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/DeltaPasses.def
Log Message:
-----------
llvm-reduce: Remove trailing whitespace
Commit: 057b3c245234e9d9fa3a25fbf04d20e7f3fe2cff
https://github.com/llvm/llvm-project/commit/057b3c245234e9d9fa3a25fbf04d20e7f3fe2cff
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
M llvm/tools/llvm-reduce/deltas/ReduceArguments.h
M llvm/tools/llvm-reduce/deltas/Utils.h
Log Message:
-----------
llvm-reduce: Trim unnecessary includes
Commit: 1cb6ba5c60c3ce19785948eb327036a455dd1457
https://github.com/llvm/llvm-project/commit/1cb6ba5c60c3ce19785948eb327036a455dd1457
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Clang][NFC] Improve const correctness of constraint normalization (#133633)
Follow up to #132849
Commit: faefb70c7a771ae646df3d5defe122cfff2aac7c
https://github.com/llvm/llvm-project/commit/faefb70c7a771ae646df3d5defe122cfff2aac7c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++][NFC] Remove _LIBCPP_DLL_VIS
This macro is only ever used inside the definiton for the various
visibility macros on windows. There, it's defined in multiple places
with different expansions, which makes it more confusing than helpful
when trying to figure out what macro expands to what.
Commit: 10dd404d9fbe505fb189972565c577318a6b577b
https://github.com/llvm/llvm-project/commit/10dd404d9fbe505fb189972565c577318a6b577b
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Make DeltaPasses.def available for fea6b388055284f37852e615fbf5b40a3ba34249
Commit: 4dbcefe3806f9970c0e4f4b08d98df5253517f14
https://github.com/llvm/llvm-project/commit/4dbcefe3806f9970c0e4f4b08d98df5253517f14
Author: Alexander Kornienko <alexfh at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86WinEHState.cpp
Log Message:
-----------
Revert the llvm::append_range change in lib/Target/X86/X86WinEHState.cpp
This reverts a single file from ad1ba15ea894ac47b0f2447db191a14ebe1b301d.
llvm::append_range in this context fails to compile with recent Clang and
libc++:
libcxx/include/__algorithm/copy_backward.h:221:68: error: invalid operands to
binary expression ('llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>'
and 'long')
...
llvm-project/llvm/lib/Target/X86/X86WinEHState.cpp:724:11: note: in
instantiation of function template specialization
'llvm::append_range<std::deque<llvm::BasicBlock *>,
llvm::iterator_range<llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock
>>>' requested here
724 | llvm::append_range(Worklist, successors(BB));
| ^
Commit: 9a913a39442d986cf8315f88666f8f5ebd6a4a94
https://github.com/llvm/llvm-project/commit/9a913a39442d986cf8315f88666f8f5ebd6a4a94
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
Log Message:
-----------
InlineCostAnnotationPrinter: Fix constructing random TargetTransformInfo (#133637)
Query the correct TTI for the current target instead of constructing
some random default one. Also query the pass manager for
ProfileSummaryInfo.
This should only change the printing, not the actual result.
Commit: 424c8f9217b7f746eb10c97be7314556c24065cd
https://github.com/llvm/llvm-project/commit/424c8f9217b7f746eb10c97be7314556c24065cd
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
Log Message:
-----------
[VPlan] Remove dead UF argument from VPTransformState ctor (NFC).
Commit: 5b65b4d46412f0d5838b0d67b81b6dc03c93908f
https://github.com/llvm/llvm-project/commit/5b65b4d46412f0d5838b0d67b81b6dc03c93908f
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
[RISCV] Remove dead code from evaluateTargetFixup
AUIPCTarget as a relocatable expression cannot have a SubSym or
@-specifier.
Commit: 5715510d00d44d97a0024caf864e649225372281
https://github.com/llvm/llvm-project/commit/5715510d00d44d97a0024caf864e649225372281
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
Log Message:
-----------
[RISCV] Remove unused declarations and getSpecifier. NFC
Remove unused declarations after #132569.
Simplify some code as we no longer use MCSymbolRefExpr::VariantKind.
Commit: 1f7f268f304d02f0cea33ab63a21de57ba4a5a3c
https://github.com/llvm/llvm-project/commit/1f7f268f304d02f0cea33ab63a21de57ba4a5a3c
Author: Liqiang TAO <taolq at outlook.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/test/CodeGen/X86/tailcc-ssp.ll
Log Message:
-----------
StackProtector: use isInTailCallPosition to verify tail call position (#68997)
The issue is caused by [D133860](https://reviews.llvm.org/D133860).
The guard would be inserted in wrong place in some cases, like the test
case showed below.
This patch fixed the issue by using `isInTailCallPosition()` to verify
whether the tail call is in right position.
Commit: 52639d69acbed0e49fd855c8c04cd9307405e2e6
https://github.com/llvm/llvm-project/commit/52639d69acbed0e49fd855c8c04cd9307405e2e6
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/raw-string-literal.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-emplace.rst
Log Message:
-----------
[clang-tidy][NFC][doc] improve "options" sections of `bugprone-` and `modernize-` checks (#133525)
Improved "options" sections of `bugprone-` and `modernize-` checks:
1. Added `Options` keyword to be a delimiter between "body" and
"options" parts of docs
2. Added default values where was absent.
3. Improved readability of some default values by converting `1` to
`true`.
Commit: 8ecb2f9c4a8e39620935c1933fe1fbd2b96c723a
https://github.com/llvm/llvm-project/commit/8ecb2f9c4a8e39620935c1933fe1fbd2b96c723a
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/unittests/ADT/DenseMapTest.cpp
M llvm/unittests/ADT/DenseSetTest.cpp
Log Message:
-----------
[ADT] Add `DenseMap::insert_range` (#133600)
This PR add `DenseMap::insert_range` to `DenseMap` for consistency with
existing `DenseSet::insert_range`, `SmallSet::insert_range` and
`std::map::insert_range`.
Commit: 5a3d4036cff159e32aa4ab1b11fd6a25a50a456c
https://github.com/llvm/llvm-project/commit/5a3d4036cff159e32aa4ab1b11fd6a25a50a456c
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
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/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp
Log Message:
-----------
Move relocation specifiers to AMDGPUMCExpr::Specifier
Similar to previous migration done for all other ELF targets.
Switch from the confusing `VariantKind` to `Specifier`, which aligns
with Arm and IBM AIX's documentation.
Moving forward, relocation specifiers should be integrated into
AMDGPUMCExpr rather than MCSymbolRefExpr::SubclassData.
(Note: the term AMDGPUMCExpr::VariantKind is for expressions
without relocation specifiers:
https://github.com/llvm/llvm-project/pull/82022
It's up to AMDGPU maintainers to integrate these constants into Specifier.
)
Pull Request: https://github.com/llvm/llvm-project/pull/133608
Commit: 8a8c89a4c6f92412643f2bbe46a20800197321b0
https://github.com/llvm/llvm-project/commit/8a8c89a4c6f92412643f2bbe46a20800197321b0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64] Use llvm::erase_if (NFC) (#133647)
Commit: 1c8647a25a5a7527ea546212ddff56ef88ab27b9
https://github.com/llvm/llvm-project/commit/1c8647a25a5a7527ea546212ddff56ef88ab27b9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
Log Message:
-----------
[mlir] Use llvm::hasSingleElement (NFC) (#133648)
Commit: 2c73711995e4fe0f706de351eef4122b8cd8a4d7
https://github.com/llvm/llvm-project/commit/2c73711995e4fe0f706de351eef4122b8cd8a4d7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/X86DisassemblerTables.cpp
Log Message:
-----------
[TableGen] Use llvm::append_range (NFC) (#133649)
Commit: 06cb7b1e14a117e8fe19b72689c8616c772c0807
https://github.com/llvm/llvm-project/commit/06cb7b1e14a117e8fe19b72689c8616c772c0807
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/CodeLayout.cpp
M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
Log Message:
-----------
[Transforms] Use llvm::append_range (NFC) (#133650)
Commit: fd8fb7148674456ce3fb338864c9aa9f576feb22
https://github.com/llvm/llvm-project/commit/fd8fb7148674456ce3fb338864c9aa9f576feb22
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Handle scalar casts and blend in isUniformAfterVectorization.
Currently should be NFC, but will be used by
https://github.com/llvm/llvm-project/pull/117506.
Commit: 5f56eaff8b033e5d87818bdc9543c1463cc0a755
https://github.com/llvm/llvm-project/commit/5f56eaff8b033e5d87818bdc9543c1463cc0a755
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Remove duplicated VPDerivedIVRecipe handling (NFC).
Also handled by an earlier, more general if above.
Commit: 848faf49f793968ae6dee1577f507d4cc68b157e
https://github.com/llvm/llvm-project/commit/848faf49f793968ae6dee1577f507d4cc68b157e
Author: Reid Kleckner <rnk at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
R lldb/unittests/Disassembler/ARM/CMakeLists.txt
M lldb/unittests/Disassembler/CMakeLists.txt
R lldb/unittests/Disassembler/RISCV/CMakeLists.txt
R lldb/unittests/Disassembler/x86/CMakeLists.txt
Log Message:
-----------
[lldb] Combine disassembler gtest binaries for efficiency (#133539)
Each of these executables is 642MB for me locally with split DWARF, and
we don't need 3 statically linked gtest binaries when one will do.
Commit: 92e591684576e7244d53722b04e840f28c3f03c3
https://github.com/llvm/llvm-project/commit/92e591684576e7244d53722b04e840f28c3f03c3
Author: Reid Kleckner <rnk at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M lldb/unittests/Disassembler/CMakeLists.txt
Log Message:
-----------
[lldb] Fix cmake logic when no targets are configured
Should fix reported lldb-remote-linux-ubuntu bot post-submit failure
Commit: 3b3d1a5c261419da864d0883eccd040c2b72e237
https://github.com/llvm/llvm-project/commit/3b3d1a5c261419da864d0883eccd040c2b72e237
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
Log Message:
-----------
[NFC][clang-tidy] Add type annotations to check_clang_tidy (#133140)
```
> python3 -m mypy --strict clang-tools-extra/test/clang-tidy/check_clang_tidy.py
Success: no issues found in 1 source file
```
Commit: 2796e41ade306c3bf0f2e21311dff406bcf65652
https://github.com/llvm/llvm-project/commit/2796e41ade306c3bf0f2e21311dff406bcf65652
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M lldb/source/Core/Telemetry.cpp
Log Message:
-----------
[lldb] Remove unused Version.h include in Telemetry.cpp (NFC)
Commit: e5fcbfa2aa8291a57e5eb03cd458935b458c73c0
https://github.com/llvm/llvm-project/commit/e5fcbfa2aa8291a57e5eb03cd458935b458c73c0
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add an option for editing enum trailing commas (#133576)
Also refactor the code that removes/replaces a token.
Commit: 3acccf042ab8a7b7e663bb2b2fac328d9bf65b38
https://github.com/llvm/llvm-project/commit/3acccf042ab8a7b7e663bb2b2fac328d9bf65b38
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
M llvm/test/CodeGen/AArch64/pr58516.ll
M llvm/test/CodeGen/AArch64/win-catchpad-nested-cxx.ll
M llvm/test/CodeGen/AArch64/wineh-catchret-label-generation.ll
M llvm/test/CodeGen/AArch64/wineh-try-catch.ll
M llvm/test/CodeGen/Mips/ehframe-indirect.ll
M llvm/test/CodeGen/Mips/indirect-jump-hazard/long-branch.ll
M llvm/test/CodeGen/Mips/jtstat.ll
M llvm/test/CodeGen/Mips/load-store-left-right.ll
M llvm/test/CodeGen/Mips/longbranch.ll
M llvm/test/CodeGen/Mips/mcount.ll
M llvm/test/CodeGen/Mips/micromips-mtc-mfc.ll
M llvm/test/CodeGen/Mips/mips16ex.ll
M llvm/test/CodeGen/Mips/reloc-jalr.ll
M llvm/test/CodeGen/Mips/shrink-wrapping.ll
M llvm/test/CodeGen/Mips/unalignedload.ll
M llvm/test/CodeGen/Mips/xray-mips-attribute-instrumentation.ll
M llvm/test/CodeGen/X86/catchpad-reuse.ll
M llvm/test/CodeGen/X86/dollar-name.ll
M llvm/test/CodeGen/X86/seh-unwind-inline-asm-codegen.ll
M llvm/test/CodeGen/X86/stack-coloring-wineh.ll
M llvm/test/CodeGen/X86/win-catchpad-nested-cxx.ll
M llvm/test/CodeGen/X86/win-catchpad.ll
M llvm/test/CodeGen/X86/win-cleanuppad.ll
M llvm/test/CodeGen/X86/win-funclet-cfi.ll
M llvm/test/CodeGen/X86/win32-eh.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppDtors01.ll
M llvm/test/DebugInfo/COFF/jump-table.ll
M llvm/test/MC/ARM/arm-branches.s
M llvm/test/MC/AsmParser/dollars-in-identifiers.s
M llvm/test/MC/MachO/dollar-identifier.s
M llvm/test/MC/Mips/expansion-jal-sym-pic.s
M llvm/test/MC/Mips/macro-div.s
M llvm/test/MC/Mips/macro-divu.s
M llvm/test/MC/Mips/macro-rem.s
M llvm/test/MC/Mips/macro-remu.s
M llvm/test/MC/Mips/mips-fpu-instructions.s
M llvm/test/MC/Mips/mips1/valid.s
M llvm/test/MC/Mips/mips2/valid.s
M llvm/test/MC/Mips/mips32/valid.s
M llvm/test/MC/Mips/mips32r2/valid.s
M llvm/test/MC/Mips/mips32r3/valid.s
M llvm/test/MC/Mips/mips32r5/valid.s
M llvm/test/MC/Mips/mips32r6/valid.s
M llvm/test/MC/Mips/mips64r6/valid.s
M llvm/test/MC/Mips/mips_directives.s
M llvm/test/MC/Mips/reloc-directive-label-offset.s
Log Message:
-----------
[MC] Don't print () around $ names
This MIPS behavior from edb9d84dcc4824865e86f963e52d67eb50dde7f5 (2010)
is obsoleted and misleading. This caused confusion in
https://reviews.llvm.org/D123702 ([NVPTX] Disable parens for identifiers
starting with '$')
Note: $tmp was rejected by AsmParser before
https://reviews.llvm.org/D75111 (2020)
Commit: 5b6386dcbd68d3f7c1ce98dd7acdd4477d5724ad
https://github.com/llvm/llvm-project/commit/5b6386dcbd68d3f7c1ce98dd7acdd4477d5724ad
Author: John Harrison <harjohn at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
Log Message:
-----------
[lldb-dap] Swapping to not use FLAG_ENUM and just defining typed enums. (#133622)
Small tweak to the previous patch to make the enums in
`lldb_dap::protocol` typed to work with types like `llvm::DenseSet`
found by ubsan.
Commit: c9d90f15af0c5ed6ad5c5cd3aa988139a2cc34e4
https://github.com/llvm/llvm-project/commit/c9d90f15af0c5ed6ad5c5cd3aa988139a2cc34e4
Author: Roman Belenov <103195329+r-belenov at users.noreply.github.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PfmCounters.td
M llvm/unittests/tools/llvm-exegesis/AArch64/TargetTest.cpp
Log Message:
-----------
[Exegesis][AArch64] Use more generic cycles counter (#133376)
CPU_CYCLES counter does not work on some Aarch64 CPUs; CYCLES is more
generic and is equivalent to CPU_CYCLES in case the latter is supported.
Longer story - CPU_CYCLES work only on CPU models explicitly recognized
by libpfm4 ( via pfm_arm_detect_*() functions in
https://sourceforge.net/p/perfmon2/libpfm4/ci/master/tree/lib/pfmlib_arm_armv8.c
) and its name is consistent with ARM documentation. However, the
counter is architectural and is supported on all ARMv8 CPUs; libpfm4
recognizes generic PMU on unknown ARMv8 CPUs, but does not provide
CPU_CYCLES event. Instead, CYCLES is provided (an alias to
PERF_COUNT_HW_CPU_CYCLES). Physically, it is the same event with code
0x11. On supported architectures CYCLES also work, so the change should
not introduce regression.
Commit: 94122d58fc77079a291a3d008914006cb509d9db
https://github.com/llvm/llvm-project/commit/94122d58fc77079a291a3d008914006cb509d9db
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/Lint.h
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Analysis/Lint/abort-on-error.ll
M llvm/test/Analysis/Lint/const-store.ll
Log Message:
-----------
Lint: Replace -lint-abort-on-error cl::opt with pass parameter (#132933)
Commit: 6257621f41d1deb31cfbfcee993a75991a0bca13
https://github.com/llvm/llvm-project/commit/6257621f41d1deb31cfbfcee993a75991a0bca13
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TileShapeInfo.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVSymbol.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/ObjCopy/COFF/COFFReader.cpp
M llvm/lib/ObjCopy/XCOFF/XCOFFReader.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/Debug.cpp
M llvm/lib/Support/SuffixTree.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/utils/not/not.cpp
Log Message:
-----------
[llvm] Use llvm::append_range (NFC) (#133658)
Commit: 65734de9b93bef5b3211298b4fcc5dc79d18d31e
https://github.com/llvm/llvm-project/commit/65734de9b93bef5b3211298b4fcc5dc79d18d31e
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Remove the redundant MainOp and AltOp find process. (#133642)
Commit: dad86f5931453ff3d14ba5adb93855ee780298b2
https://github.com/llvm/llvm-project/commit/dad86f5931453ff3d14ba5adb93855ee780298b2
Author: Lang Hames <lhames at apple.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp
Log Message:
-----------
[ORC] MapperJITLinkMemoryManager should deinitialize on abandon, not deallocate.
The JITLinkMemoryManager::InFlightAlloc::abandon method should only abandon
memory for the current allocation, not any other allocations. In
MapperJITLinkMemoryManager this corresponds to the deinitialize operation, not
the deallocate operation (which releases whole slabs of memory that may be
shared by many allocations).
No testcase: This was spotted by inspection. The failing program was linking
concurrently when one linker instance raised an error. Through the call to
abandon an entire underlying slab was deallocated, resulting in segfaults in
other concurrent links that were sharing that slab.
Commit: c9095aa3103460c967fd5ee5dcc695284793ef3c
https://github.com/llvm/llvm-project/commit/c9095aa3103460c967fd5ee5dcc695284793ef3c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Cleanup assembler predicates after #133377. (#133652)
Make isSImm12 look more like isUImm20LUI.
Move variables closer to their use.
Fold some function calls into if statements.
Commit: 04a67528d303ac4be7943b2ae57222f9c9fd509a
https://github.com/llvm/llvm-project/commit/04a67528d303ac4be7943b2ae57222f9c9fd509a
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
M llvm/test/CodeGen/AMDGPU/multi-call-resource-usage-mcexpr.ll
M llvm/test/CodeGen/AMDGPU/recursion.ll
M llvm/test/CodeGen/AMDGPU/recursive-resource-usage-mcexpr.ll
M llvm/test/CodeGen/AMDGPU/resource-optimization-remarks.ll
M llvm/test/CodeGen/AMDGPU/unnamed-function-resource-info.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-isel-globals-pic.ll
M llvm/test/CodeGen/ARM/GlobalISel/thumb-isel-globals-pic.ll
M llvm/test/CodeGen/ARM/elf-preemption.ll
M llvm/test/CodeGen/ARM/globals.ll
M llvm/test/CodeGen/ARM/litpool-licm.ll
M llvm/test/CodeGen/ARM/load-global.ll
M llvm/test/CodeGen/ARM/load-global2.ll
M llvm/test/CodeGen/ARM/plt-relative-reloc.ll
M llvm/test/CodeGen/ARM/stack-guard-elf.ll
M llvm/test/CodeGen/ARM/stack-guard-rwpi.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll
M llvm/test/CodeGen/RISCV/dso_local_equivalent.ll
M llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
M llvm/test/CodeGen/Thumb2/tpsoft.ll
M llvm/test/CodeGen/X86/abi-isel.ll
M llvm/test/CodeGen/X86/atomic-minmax-i6432.ll
M llvm/test/CodeGen/X86/callbr-asm-instr-scheduling.ll
M llvm/test/CodeGen/X86/inline-asm-i-constraint-i1.ll
M llvm/test/CodeGen/X86/relptr-rodata.ll
M llvm/test/CodeGen/X86/wineh-coreclr.ll
M llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
M llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
M llvm/test/MC/AMDGPU/expressions.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
M llvm/test/MC/AMDGPU/mcexpr_amd.s
M llvm/test/MC/ARM/basic-arm-instructions.s
M llvm/test/MC/ARM/elf-movt.s
M llvm/test/MC/ARM/macho-word-reloc-thumb.s
M llvm/test/MC/AVR/inst-brbc.s
M llvm/test/MC/AVR/inst-brbs.s
M llvm/test/MC/AVR/inst-brcc.s
M llvm/test/MC/AVR/inst-brcs.s
M llvm/test/MC/AVR/inst-breq.s
M llvm/test/MC/AVR/inst-brge.s
M llvm/test/MC/AVR/inst-brhc.s
M llvm/test/MC/AVR/inst-brhs.s
M llvm/test/MC/AVR/inst-brid.s
M llvm/test/MC/AVR/inst-brie.s
M llvm/test/MC/AVR/inst-brlo.s
M llvm/test/MC/AVR/inst-brlt.s
M llvm/test/MC/AVR/inst-brmi.s
M llvm/test/MC/AVR/inst-brne.s
M llvm/test/MC/AVR/inst-brpl.s
M llvm/test/MC/AVR/inst-brsh.s
M llvm/test/MC/AVR/inst-brtc.s
M llvm/test/MC/AVR/inst-brts.s
M llvm/test/MC/AVR/inst-brvc.s
M llvm/test/MC/AVR/inst-brvs.s
M llvm/test/MC/AVR/inst-rcall.s
M llvm/test/MC/AVR/inst-rjmp.s
M llvm/test/MC/AsmParser/directive_fill.s
M llvm/test/MC/AsmParser/expr_symbol_modifiers.s
M llvm/test/MC/COFF/cross-section-relative.ll
M llvm/test/MC/ELF/reloc-directive.s
M llvm/test/MC/Lanai/memory.s
M llvm/test/MC/MachO/AArch64/cstexpr-gotpcrel.ll
M llvm/test/MC/Mips/expr1.s
M llvm/test/MC/Mips/memory-offsets.s
M llvm/test/MC/PowerPC/ppc32-tls.s
M llvm/test/MC/RISCV/rvi-pseudos.s
M llvm/test/MC/SystemZ/insn-good-z196.s
M llvm/test/MC/SystemZ/insn-good-zEC12.s
M llvm/test/MC/SystemZ/insn-good.s
M llvm/test/tools/llvm-objdump/MachO/ARM/symbolized-disassembly.test
M llvm/test/tools/llvm-objdump/MachO/ARM/symbolized-subtractor.test
Log Message:
-----------
[MC] Simplify MCBinaryExpr/MCUnaryExpr printing by reducing parentheses (#133674)
The existing pretty printer generates excessive parentheses for
MCBinaryExpr expressions. This update removes unnecessary parentheses
of MCBinaryExpr with +/- operators and MCUnaryExpr.
Since relocatable expressions only use + and -, this change improves
readability in most cases.
Examples:
- (SymA - SymB) + C now prints as SymA - SymB + C.
This updates the output of -fexperimental-relative-c++-abi-vtables for
AArch64 and x86 to `.long _ZN1B3fooEv at PLT-_ZTV1B-8`
- expr + (MCTargetExpr) now prints as expr + MCTargetExpr, with this
change primarily affecting AMDGPUMCExpr.
Commit: c6b3fd799962577488a0ecbdac806f4753e14d3c
https://github.com/llvm/llvm-project/commit/c6b3fd799962577488a0ecbdac806f4753e14d3c
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/test/MC/ELF/gnu-type-diagnostics.s
Log Message:
-----------
[MC] maybeParseSectionType: test CommentString instead of AllowAtInIdentifier
Rework https://reviews.llvm.org/D31026
AllowAtInIdentifier is a misnomer: it should be false for ELF targets,
but is currently true as a hack to parse expr at specifier.
Commit: 6fb674174ecc1d27b0d303c89c666d949f7afee5
https://github.com/llvm/llvm-project/commit/6fb674174ecc1d27b0d303c89c666d949f7afee5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoSFB.td
Log Message:
-----------
[RISCV] Fix the operand types for shift instructions in RISCVInstrInfoSFB.td. NFC
Due to a copy paste mistake we used simm12 instead of the correct
type. This doesn't matter in practice because we only generate these
instructions with C++ code and we expand them before the AsmPrinter.
Commit: 60199ee5396c2242c7d3cfa882e28312e6895c2a
https://github.com/llvm/llvm-project/commit/60199ee5396c2242c7d3cfa882e28312e6895c2a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang] Use DenseMap::insert_range (NFC) (#133655)
Commit: 2fc08d4c31285ecec64fda7e0833d583503f10d0
https://github.com/llvm/llvm-project/commit/2fc08d4c31285ecec64fda7e0833d583503f10d0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[Vectorize] Use DenseMap::insert_range (NFC) (#133656)
Commit: fff8f035ac781a60f42f5ca88bdcdcdf5ed74d76
https://github.com/llvm/llvm-project/commit/fff8f035ac781a60f42f5ca88bdcdcdf5ed74d76
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M polly/include/polly/CodeGen/IRBuilder.h
M polly/lib/CodeGen/BlockGenerators.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
Log Message:
-----------
[polly] Use DenseMap::insert_range (NFC) (#133657)
Commit: d63cc4c87689a79d25521c9aa2ce4a335e5984e3
https://github.com/llvm/llvm-project/commit/d63cc4c87689a79d25521c9aa2ce4a335e5984e3
Author: T-Gruber <100079402+T-Gruber at users.noreply.github.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/Store.cpp
M clang/test/Analysis/ArrayBound/assumption-reporting.c
A clang/test/Analysis/lvalue_elements.c
Log Message:
-----------
[analyzer] Unknown array lvalue element in Store (#133381)
Remove the early return for BaseRegions of type ElementRegion. Return
meaningful MemRegionVal for these cases as well.
Previous discussion:
https://discourse.llvm.org/t/lvalueelement-returns-unknownval-for-multi-dimensional-arrays/85476
Commit: 809f857d2c8edffe1dac317982b68a467710f877
https://github.com/llvm/llvm-project/commit/809f857d2c8edffe1dac317982b68a467710f877
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
Log Message:
-----------
[VPlan] Support early-exit loops in optimizeForVFAndUF. (#131539)
Update optimizeForVFAndUF to support early-exit loops by handling
BranchOnCond(Or(..., CanonicalIV == TripCount)) via SCEV
PR: https://github.com/llvm/llvm-project/pull/131539
Commit: 842b57b77520abf202999946d3bb01b5dcabb179
https://github.com/llvm/llvm-project/commit/842b57b77520abf202999946d3bb01b5dcabb179
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/Basic/ABI.h
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/Modules/vtable-windows.cppm
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
Log Message:
-----------
Reland [MS][clang] Add support for vector deleting destructors (#133451)
Whereas it is UB in terms of the standard to delete an array of objects
via pointer whose static type doesn't match its dynamic type, MSVC
supports an extension allowing to do it.
Aside from array deletion not working correctly in the mentioned case,
currently not having this extension implemented causes clang to generate
code that is not compatible with the code generated by MSVC, because
clang always puts scalar deleting destructor to the vftable. This PR
aims to resolve these problems.
It was reverted due to link time errors in chromium with sanitizer
coverage enabled,
which is fixed by https://github.com/llvm/llvm-project/pull/131929 .
The second commit of this PR also contains a fix for a runtime failure
in chromium reported
in
https://github.com/llvm/llvm-project/pull/126240#issuecomment-2730216384
.
Fixes https://github.com/llvm/llvm-project/issues/19772
Commit: 5c65a321778b99f745d193629975fb6ced34fe07
https://github.com/llvm/llvm-project/commit/5c65a321778b99f745d193629975fb6ced34fe07
Author: MingYan <99472920+NexMing at users.noreply.github.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
M llvm/test/CodeGen/RISCV/rvv/riscv-codegenprepare-asm.ll
M llvm/test/CodeGen/RISCV/rvv/riscv-codegenprepare.ll
Log Message:
-----------
[RISCV] Vectorize phi for loop carried @llvm.vp.reduce.* (#131974)
LLVM vector predication reduction intrinsics return a scalar result, but
on RISC-V vector reduction instructions write the result in the first
element of a vector register. So when a reduction in a loop uses a
scalar phi, we end up with unnecessary scalar moves:
```asm
loop:
vmv.s.x v8, zero
vredsum.vs v8, v10, v8
vmv.x.s a0, v8
````
This mainly affects vector predication reduction. This tries to
vectorize any scalar phis that feed into a vector predication reduction
in RISCVCodeGenPrepare, converting:
```llvm
vector.body:
%red.phi = phi i32 [ ..., %entry ], [ %red, %vector.body ]
%red = tail call i32 @llvm.vp.reduce.add.nxv4i32(i32 %red.phi, <vscale x 4 x i32> %wide.load, <vscale x 4 x i1> splat (i1 true), i32 %evl)
```
to
```llvm
vector.body:
%red.phi = phi <vscale x 2 x i32> [ ..., %entry ], [ %acc.vec, %vector.body]
%phi.scalar = extractelement <vscale x 2 x i32> %red.phi, i64 0
%acc = tail call i32 @llvm.vp.reduce.add.nxv4i32(i32 %phi.scalar, <vscale x 4 x i32> %wide.load, <vscale x 4 x i1> splat (i1 true), i32 %evl)
%acc.vec = insertelement <vscale x 2 x i32> poison, float %acc, i64 0
```
Which eliminates the scalar -> vector -> scalar crossing during
instruction selection.
---------
Co-authored-by: yanming <ming.yan at terapines.com>
Commit: 9d61eaa9ecd9a46d22a8a4efc67d31b9abba3616
https://github.com/llvm/llvm-project/commit/9d61eaa9ecd9a46d22a8a4efc67d31b9abba3616
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
[lldb] Make GetRowForFunctionOffset compatible with discontinuous functions (#133250)
The function had special handling for -1, but that is incompatible with
functions whose entry point is not the first address. Use std::nullopt
instead.
Commit: 0ec94983c4cf9183f0768d6e76b363e5ebc6b255
https://github.com/llvm/llvm-project/commit/0ec94983c4cf9183f0768d6e76b363e5ebc6b255
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
A lld/test/ELF/loongarch-relax-tlsdesc.s
Log Message:
-----------
[lld][LoongArch] Relax TLSDESC code sequence (#123677)
Relax TLSDESC code sequence.
Original code sequence:
* pcalau12i $a0, %desc_pc_hi20(sym_desc)
* addi.d $a0, $a0, %desc_pc_lo12(sym_desc)
* ld.d $ra, $a0, %desc_ld(sym_desc)
* jirl $ra, $ra, %desc_call(sym_desc)
Cannot convert to LE/IE, but relax:
* pcaddi $a0, %desc_pcrel_20(sym_desc)
* ld.d $ra, $a0, %desc_ld(sym_desc)
* jirl $ra, $ra, %desc_call(sym_desc)
TODO: The transition from TLSDESC GD/LD to IE/LE will implement in a
future patch.
Commit: 1dee12531d6070170ed1e90a654b744d365cc56e
https://github.com/llvm/llvm-project/commit/1dee12531d6070170ed1e90a654b744d365cc56e
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/MPI/IR/MPI.td
M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
A mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
R mlir/test/Conversion/MPIToLLVM/ops.mlir
A mlir/test/Dialect/MPI/mpiops.mlir
R mlir/test/Dialect/MPI/ops.mlir
Log Message:
-----------
[mlir][mpi] Lowering MPI_Allreduce (#133133)
Lowering of mpi.all_reduce to LLVM function call
Commit: 606e0b4806b92481e8be35f4e0cfccd0074c6ee7
https://github.com/llvm/llvm-project/commit/606e0b4806b92481e8be35f4e0cfccd0074c6ee7
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
A llvm/test/CodeGen/AArch64/arm64ec-alias.ll
M llvm/test/CodeGen/AArch64/dllexport.ll
Log Message:
-----------
[ARM64EC] Add support for function aliases on ARM64EC (#132295)
Required for mingw-w64, which uses the alias attribute in its CRT.
Follows ARM64EC mangling rules by mangling the alias symbol and emitting
an unmangled anti-dependency alias. Since metadata is not allowed on
GlobalAlias objects, extend arm64ec_unmangled_name to support multiple
unmangled names and attach the alias anti-dependency name to the target
function's metadata.
Commit: f82283a84ed897f06a1aaac028accbad0d5057c7
https://github.com/llvm/llvm-project/commit/f82283a84ed897f06a1aaac028accbad0d5057c7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/Delta.cpp
Log Message:
-----------
llvm-reduce: Use 80 dashes for section separator in status printing (#133686)
Commit: 78777a204ad9a3f17f04f90040f88855f47aa50f
https://github.com/llvm/llvm-project/commit/78777a204ad9a3f17f04f90040f88855f47aa50f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance.ll
M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
Log Message:
-----------
[LV]Split store-load forward distance analysis from other checks, NFC (#121156)
The patch splits the store-load forwarding distance analysis from other
dependency analysis in LAA. Currently it supports only power-of-2
distances, required to support non-power-of-2 distances in future.
Part of #100755
Commit: f4d25c498a20d73b9d3e4828023486a7b2591f38
https://github.com/llvm/llvm-project/commit/f4d25c498a20d73b9d3e4828023486a7b2591f38
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
Log Message:
-----------
[LV][NFC] Regenerate some SVE tests using --filter-out-after option (#132174)
I recently added a new option to update_test_checks.py that can
filter out all CHECK lines after a certain point. We usually don't
care about checking for the original scalar loop after the vector
loop because it doesn't change. Cutting out unnecessary CHECK
lines makes the files smaller and hopefully the tests run quicker.
Commit: aad9630e42d70b4cbfd6bc544576bd96844e737d
https://github.com/llvm/llvm-project/commit/aad9630e42d70b4cbfd6bc544576bd96844e737d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineINSERT_SUBVECTOR - pull out common variables. NFC. (#133705)
Reduces diff for an updated version of #133083
Commit: 2e54b4f9ea3fb7e83b5fc5fe19235ea82f0d4549
https://github.com/llvm/llvm-project/commit/2e54b4f9ea3fb7e83b5fc5fe19235ea82f0d4549
Author: David Green <david.green at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
[ARM] Silence signed comparison warning. NFC
After f4ec179bf5295f92aa0346392a58fad54f9b458e, AbsImm is no longer signed and cannot be < 0.
Commit: b9b9addae6c79c72394c8260106f8ba5281e9747
https://github.com/llvm/llvm-project/commit/b9b9addae6c79c72394c8260106f8ba5281e9747
Author: David Green <david.green at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/bitcast-extend.ll
Log Message:
-----------
[AArch64] Add bitcast + extend tests. NFC
Commit: 9b32f3d0966723f443328d8b49c149bde6725899
https://github.com/llvm/llvm-project/commit/9b32f3d0966723f443328d8b49c149bde6725899
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/load-local-redundant-copies.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
Log Message:
-----------
[DAG] visitEXTRACT_SUBVECTOR - don't return early on failure of EXTRACT_SUBVECTOR(INSERT_SUBVECTOR()) -> BITCAST fold (#133695)
Always allow later folds to try to match as well.
Commit: cb54026d92191e347629265d4082f5cc2cc28020
https://github.com/llvm/llvm-project/commit/cb54026d92191e347629265d4082f5cc2cc28020
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/unittests/Format/FormatTestVerilog.cpp
Log Message:
-----------
[clang-format] Recognize wait fork in Verilog (#132042)
before
```Verilog
wait fork
;
wait fork
;
wait fork
;
```
after
```Verilog
wait fork;
wait fork;
wait fork;
```
The `wait fork` statement should not start a block. Previously the
formatter treated the `fork` part as the start of a new block. Now the
problem is fixed.
Commit: ab7cee8a0ecf29fdb47c64c8d431a694d63390d2
https://github.com/llvm/llvm-project/commit/ab7cee8a0ecf29fdb47c64c8d431a694d63390d2
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJava.cpp
Log Message:
-----------
[clang-format] Handle C++ keywords in other languages better (#132941)
There is some code to make sure that C++ keywords that are identifiers
in the other languages are not treated as keywords. Right now, the kind
is set to identifier, and the identifier info is cleared. The latter is
probably so that the code for identifying C++ structures does not
recognize those structures by mistake when formatting a language that
does not have those structures. But we did not find an instance where
the language can have the sequence of tokens, the code tries to parse
the structure as if it is C++ using the identifier info instead of the
token kind, but without checking for the language setting. However,
there are places where the code checks whether the identifier info field
is null or not. They are places where an identifier and a keyword are
treated the same way. For example, the name of a function in
JavaScript. This patch removes the lines that clear the identifier
info. This way, a C++ keyword gets treated in the same way as an
identifier in those places.
JavaScript
New
```JavaScript
async function
union(
myparamnameiswaytooloooong) {
}
```
Old
```JavaScript
async function
union(
myparamnameiswaytooloooong) {
}
```
Java
New
```Java
enum union { ABC, CDE }
```
Old
```Java
enum
union { ABC, CDE }
```
Commit: 0794d5cfba4b78b1bf7980a5f9434382a697df23
https://github.com/llvm/llvm-project/commit/0794d5cfba4b78b1bf7980a5f9434382a697df23
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/SemaCXX/ms_struct.cpp
M clang/test/SemaCXX/offsetof-0x.cpp
M clang/test/SemaCXX/offsetof.cpp
Log Message:
-----------
[clang][Sema] Fix typo in 'offsetof' diagnostics (#133448)
Before:
```
offset of on non-POD type
```
After:
```
offsetof on non-POD type
```
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 96efb21e8865e8f43192979991fdccf08f1a6da4
https://github.com/llvm/llvm-project/commit/96efb21e8865e8f43192979991fdccf08f1a6da4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A llvm/test/CodeGen/X86/insert-subvector-broadcast.ll
Log Message:
-----------
[X86] Add regression test for insert_subvector(x,extract_subvector(broadcast)) pattern identified in #133083
Infinite loop check
Commit: 8d69e953b5a894c215b0cff7c6b0687b2b492318
https://github.com/llvm/llvm-project/commit/8d69e953b5a894c215b0cff7c6b0687b2b492318
Author: Stefan Pintilie <pintilie at synopsys.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll
Log Message:
-----------
[RISCV] Add combine for shadd family of instructions. (#130829)
For example for the following situation:
%6:gpr = SLLI %2:gpr, 2
%7:gpr = ADDI killed %6:gpr, 24
%8:gpr = ADD %0:gpr, %7:gpr
If we swap the two add instrucions we can merge the shift and add. The
final code will look something like this:
%7 = SH2ADD %0, %2
%8 = ADDI %7, 24
Commit: c7572ae213d215d54a10c8a03db75cc01f6291bd
https://github.com/llvm/llvm-project/commit/c7572ae213d215d54a10c8a03db75cc01f6291bd
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/test/Driver/x86-target-features.c
Log Message:
-----------
[X86][AVX10] Re-target mavx10.1 and emit warning for mavx10.x-256/512 and m[no-]evex512 (#132542)
The 256-bit maximum vector register size control was removed from AVX10
whitepaper, ref: https://cdrdv2.intel.com/v1/dl/getContent/784343
- Re-target m[no-]avx10.1 to enable AVX10.1 with 512-bit maximum vector
register size;
- Emit warning for mavx10.x-256, noting AVX10/256 is not supported;
- Emit warning for mavx10.x-512, noting to use m[no-]avx10.x instead;
- Emit warning for m[no-]evex512, noting AVX10/256 is not supported;
This patch only changes Clang driver behavior. The features
avx10.x-256/512 keep unchanged and will be removed in the next release.
Commit: 8078665bca1e16e33a09aea0310102077d429ada
https://github.com/llvm/llvm-project/commit/8078665bca1e16e33a09aea0310102077d429ada
Author: Tejas Vipin <alissxlace at proton.me>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/cast.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/hypotf16.cpp
A libc/src/math/hypotf16.h
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/HypotTest.h
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/hypotf16_test.cpp
A libc/test/src/math/hypotf16_test.cpp
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/hypotf16_perf.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/hypotf16_test.cpp
Log Message:
-----------
[libc][math][c23] Add hypotf16 function (#131991)
Implement hypot for Float16 along with tests.
Commit: a61cc1b99a50d832c650132cc9956320bfe594f5
https://github.com/llvm/llvm-project/commit/a61cc1b99a50d832c650132cc9956320bfe594f5
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
A llvm/test/CodeGen/AMDGPU/dpp_combine-true16.mir
M llvm/test/CodeGen/AMDGPU/dpp_combine.ll
A llvm/test/CodeGen/AMDGPU/vopc_dpp-true16.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] Skip combineDpp with t16 instructions (#128918)
We only emits v_mov_b32/64_dpp. Don't combine t16 instructions with mov
dpp. Update the test inputs to be legal.
It is future work to emit v_mov_b16_dpp, and then update GCNDPPCombine
to combine it with the 16-bit instructions.
Commit: 4007de00a0574141695ace7a8d34aaf740a2c2e4
https://github.com/llvm/llvm-project/commit/4007de00a0574141695ace7a8d34aaf740a2c2e4
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
M clang/test/CXX/class/p2-0x.cpp
M clang/test/SemaCXX/MicrosoftExtensions.cpp
M clang/test/SemaCXX/warn-final-dtor-non-final-class.cpp
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Enable unnecessary-virtual-specifier by default (#133265)
This turns on the unnecessary-virtual-specifier warning in general, but
disables it when building LLVM. It also tweaks the warning description
to be slightly more accurate.
Background: I've been working on cleaning up this warning in two
codebases: LLVM and chromium (plus its dependencies). The chromium
cleanup has been straightforward. Git archaeology shows that there are
two reasons for the warnings: classes to which `final` was added after
they were initially committed, and classes with virtual destructors that
nobody remarks on. Presumably the latter case is because people are just
very used to destructors being virtual.
The LLVM cleanup was more surprising: I discovered that we have an [old
policy](https://llvm.org/docs/CodingStandards.html#provide-a-virtual-method-anchor-for-classes-in-headers)
about including out-of-line virtual functions in every class with a
vtable, even `final` ones. This means our codebase has many virtual
"anchor" functions which do nothing except control where the vtable is
emitted, and which trigger the warning. I looked into alternatives to
satisfy the policy, such as using destructors instead of introducing a
new function, but it wasn't clear if they had larger implications.
Overall, it seems like the warning is genuinely useful in most codebases
(evidenced by chromium and its dependencies), and LLVM is an unusual
case. Therefore we should enable the warning by default, and turn it off
only for LLVM builds.
Commit: 68947342b75cc71f3ac9041d11db086d8d074336
https://github.com/llvm/llvm-project/commit/68947342b75cc71f3ac9041d11db086d8d074336
Author: Tom Tromey <tromey at adacore.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/Metadata.def
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Verifier.cpp
A llvm/test/Bitcode/fixedpoint_type.ll
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
Add support for fixed-point types (#129596)
This adds DWARF generation for fixed-point types. This feature is needed
by Ada.
Note that a pre-existing GNU extension is used in one case. This has
been emitted by GCC for years, and is needed because standard DWARF is
otherwise incapable of representing these types.
Commit: 74b7abf15452574808834c0a08dd2af6bada2648
https://github.com/llvm/llvm-project/commit/74b7abf15452574808834c0a08dd2af6bada2648
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/MVETailPredication.cpp
M llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/KCFI.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/GuardUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[IRBuilder] Add new overload for CreateIntrinsic (#131942)
Add a new `CreateIntrinsic` overload with no `Types`, useful for
creating calls to non-overloaded intrinsics that don't need additional
mangling.
Commit: 50949ebf523cc09cc911a12691fb79b6ac97102a
https://github.com/llvm/llvm-project/commit/50949ebf523cc09cc911a12691fb79b6ac97102a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A lldb/bindings/interface/SBMutexExtensions.i
M lldb/bindings/interfaces.swig
M lldb/include/lldb/API/LLDB.h
M lldb/include/lldb/API/SBDefines.h
A lldb/include/lldb/API/SBMutex.h
M lldb/include/lldb/API/SBTarget.h
M lldb/source/API/CMakeLists.txt
A lldb/source/API/SBMutex.cpp
M lldb/source/API/SBTarget.cpp
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/unittests/API/CMakeLists.txt
A lldb/unittests/API/SBMutexTest.cpp
Log Message:
-----------
[lldb] Expose the Target API mutex through the SB API (#133295)
Expose u target API mutex through the SB API. This is motivated by
lldb-dap, which is built on top of the SB API and needs a way to execute
a series of SB API calls in an atomic manner (see #131242).
We can solve this problem by either introducing an additional layer of
locking at the DAP level or by exposing the existing locking at the SB
API level. This patch implements the second approach.
This was discussed in an RFC on Discourse [0]. The original
implementation exposed a move-only lock rather than a mutex [1] which
doesn't work well with SWIG 4.0 [2]. This implement the alternative
solution of exposing the mutex rather than the lock. The SBMutex
conforms to the BasicLockable requirement [3] (which is why the methods
are called `lock` and `unlock` rather than Lock and Unlock) so it can be
used as `std::lock_guard<lldb::SBMutex>` and
`std::unique_lock<lldb::SBMutex>`.
[0]: https://discourse.llvm.org/t/rfc-exposing-the-target-api-lock-through-the-sb-api/85215/6
[1]: https://github.com/llvm/llvm-project/pull/131404
[2]: https://discourse.llvm.org/t/rfc-bumping-the-minimum-swig-version-to-4-1-0/85377/9
[3]: https://en.cppreference.com/w/cpp/named_req/BasicLockable
Commit: 945c494e2c3c078e26ff521ef3e9455e0ff764ac
https://github.com/llvm/llvm-project/commit/945c494e2c3c078e26ff521ef3e9455e0ff764ac
Author: Yuval Deutscher <yuvald at sweet.security>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/tools/lldb-server/lldb-platform.cpp
Log Message:
-----------
[lldb] Use correct path for lldb-server executable (#131519)
Hey,
This solves an issue where running lldb-server-20 with a non-absolute
path (for example, when it's installed into `/usr/bin` and the user runs
it as `lldb-server-20 ...` and not `/usr/bin/lldb-server-20 ...`) fails
with `error: spawn_process failed: execve failed: No such file or
directory`. The underlying issue is that when run that way, it attempts
to execute a binary named `lldb-server-20` from its current directory.
This is also a mild security hazard because lldb-server is often being
run as root in the directory /tmp, meaning that an unprivileged user can
create the file /tmp/lldb-server-20 and lldb-server will execute it as
root. (although, well, it's a debugging server we're talking about, so
that may not be a real concern)
I haven't previously contributed to this project; if you want me to
change anything in the code please don't hesitate to let me know.
Commit: b91f978647c1468ae3dd469971a8185c0b788830
https://github.com/llvm/llvm-project/commit/b91f978647c1468ae3dd469971a8185c0b788830
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
Log Message:
-----------
[gn build] Port 50949ebf523c
Commit: c20bea09c25214e15cf704ea3749894b6d531ce1
https://github.com/llvm/llvm-project/commit/c20bea09c25214e15cf704ea3749894b6d531ce1
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
Log Message:
-----------
[LV] Regen a test with UTC (#133432)
Commit: bd862a459d75ef137235853c994dea97a0bc7794
https://github.com/llvm/llvm-project/commit/bd862a459d75ef137235853c994dea97a0bc7794
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Add subtarget feature for v_lshl_add_u64. NFC. (#133723)
Commit: 799e9053641a6478d3144866a97737b37b87c260
https://github.com/llvm/llvm-project/commit/799e9053641a6478d3144866a97737b37b87c260
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Progress.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
Log Message:
-----------
[lldb] Create a default rate limit constant in Progress (NFC) (#133506)
In #133211, Greg suggested making the rate limit configurable through a
setting. Although adding the setting is easy, the two places where we
currently use rate limiting aren't tied to a particular debugger.
Although it'd be possible to hook up, given how few progress events
currently implement rate limiting, I don't think it's worth threading
this through, if that's even possible.
I still think it's a good idea to be consistent and make it easy to pick
the same rate limiting value, so I've moved it into a constant in the
Progress class.
Commit: ea06f7f96fb1ce5a77439cf1a26f97c2f2488648
https://github.com/llvm/llvm-project/commit/ea06f7f96fb1ce5a77439cf1a26f97c2f2488648
Author: Paul Bowen-Huggett <paulhuggett at mac.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
A llvm/test/MC/Disassembler/RISCV/c_slli.txt
Log Message:
-----------
[RISCV] For RV32C, disassembly of c.slli should fail when immediate > 31 (#133713)
Fixes #133712.
The change causes `c.slli` instructions whose immediate has bit 5 set to
be rejected when disassembling RV32C. Added a test to exhaustively cover
c.slli for 32 bit targets. A minor tweak to make the debug output a
little more readable.
The spec. (20240411) says:
> For RV32C, shamt[5] must be zero; the code points with shamt[5]=1 are
designated for custom extensions. For RV32C and RV64C, the shift amount
must be non-zero; the code points with shamt=0 are HINTs. For all base
ISAs, the code points with rd=x0 are HINTs, except those with shamt[5]=1
in RV32C.
Commit: 3fd0eaae52503ee2bbdffc75753acc4bcc72fe60
https://github.com/llvm/llvm-project/commit/3fd0eaae52503ee2bbdffc75753acc4bcc72fe60
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M libclc/amdgpu/lib/SOURCES
A libclc/amdgpu/lib/math/native_exp2.cl
Log Message:
-----------
[libclc][amdgpu] Implement native_exp2 via AMD builtin (#133696)
This came up during a discussion on #129679, which has been split out as
a preparatory commit.
An example of the AMDGPU codegen is:
define <2 x float> @_Z10native_expDv2_f(<2 x float> %val) {
%mul = fmul afn <2 x float> %val, splat (float 0x3FF7154760000000)
%0 = extractelement <2 x float> %mul, i64 0
%1 = tail call float @llvm.amdgcn.exp2.f32(float %0)
%vecinit.i = insertelement <2 x float> poison, float %1, i64 0
%2 = extractelement <2 x float> %mul, i64 1
%3 = tail call float @llvm.amdgcn.exp2.f32(float %2)
%vecinit2.i = insertelement <2 x float> %vecinit.i, float %3, i64 1
ret <2 x float> %vecinit2.i
}
define <2 x float> @_Z11native_exp2Dv2_f(<2 x float> %x) {
%0 = extractelement <2 x float> %x, i64 0
%1 = tail call float @llvm.amdgcn.exp2.f32(float %0)
%vecinit = insertelement <2 x float> poison, float %1, i64 0
%2 = extractelement <2 x float> %x, i64 1
%3 = tail call float @llvm.amdgcn.exp2.f32(float %2)
%vecinit2 = insertelement <2 x float> %vecinit, float %3, i64 1
ret <2 x float> %vecinit2
}
Commit: 87602f6d03ada10d0de7f1440320ffec4eb86790
https://github.com/llvm/llvm-project/commit/87602f6d03ada10d0de7f1440320ffec4eb86790
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/math/clc_log_base.h
Log Message:
-----------
[libclc] Fix unresolved reference to missing table (#133691)
Splitting the 'ln_tbl' into two in db98e292 wasn't done thoroughly
enough as some references to the old table still remained. This commit
fixes the unresolved references by updating to the new split table.
Commit: c180e249d0013474d502cd779ec65b33cf7e9468
https://github.com/llvm/llvm-project/commit/c180e249d0013474d502cd779ec65b33cf7e9468
Author: 3405691582 <dsk at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
Log Message:
-----------
Fix crash lowering stack guard on OpenBSD/aarch64. (#125416)
TargetLoweringBase::getIRStackGuard refers to a platform-specific guard
variable. Before this change, TargetLoweringBase::getSDagStackGuard only
referred to a different variable.
This means that SelectionDAGBuilder's getLoadStackGuard does not get
memory operands. However, AArch64InstrInfo::expandPostRAPseudo assumes
that the passed MachineInstr has nonzero memoperands, causing a
segfault.
We have two possible options here: either disabling the LOAD_STACK_GUARD
node entirely in AArch64TargetLowering::useLoadStackGuardNode or just
making the platform-specific values match across TargetLoweringBase.
Here, we try the latter.
Commit: 66b0b0466bbd995146aadaf2cd18de5476c19941
https://github.com/llvm/llvm-project/commit/66b0b0466bbd995146aadaf2cd18de5476c19941
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/include/mlir-c/Rewrite.h
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
M mlir/include/mlir/IR/AsmState.h
M mlir/include/mlir/IR/BuiltinAttributes.h
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CommonAttrConstraints.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/include/mlir/IR/EnumAttr.td
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/Properties.td
M mlir/include/mlir/IR/TypeRange.h
M mlir/include/mlir/IR/ValueRange.h
M mlir/include/mlir/Interfaces/SideEffectInterfaces.td
M mlir/include/mlir/Pass/PassOptions.h
M mlir/include/mlir/Tools/PDLL/AST/Nodes.h
M mlir/include/mlir/Tools/PDLL/AST/Types.h
M mlir/lib/Analysis/CallGraph.cpp
M mlir/lib/AsmParser/AsmParserState.cpp
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/lib/Conversion/PDLToPDLInterp/Predicate.cpp
M mlir/lib/Conversion/PDLToPDLInterp/Predicate.h
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/IR/BuiltinDialectBytecode.cpp
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/IR/PDL/PDLPatternMatch.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/IR/SymbolTable.cpp
M mlir/lib/IR/TypeRange.cpp
M mlir/lib/IR/ValueRange.cpp
M mlir/lib/Pass/PassRegistry.cpp
M mlir/lib/Rewrite/ByteCode.cpp
M mlir/lib/TableGen/CodeGenHelpers.cpp
M mlir/lib/Tools/PDLL/AST/Nodes.cpp
M mlir/lib/Tools/PDLL/AST/Types.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/mlir-lsp-server/LSPServer.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
M mlir/lib/Tools/tblgen-lsp-server/LSPServer.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/Inliner.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/test/lib/Dialect/Test/TestEnumDefs.td
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/mlir-tblgen/op-format-invalid.td
M mlir/test/mlir-tblgen/op-format-spec.td
M mlir/test/mlir-tblgen/op-format.td
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/FormatGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[MLIR][NFC] Fix incomplete boundary comments. (#133516)
I observed that we have the boundary comments in the codebase like:
```
//===----------------------------------------------------------------------===//
// ...
//===----------------------------------------------------------------------===//
```
I also observed that there are incomplete boundary comments. The
revision is generated by a script that completes the boundary comments.
```
//===----------------------------------------------------------------------===//
// ...
...
```
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 94b04b411903e97bd228c6bdbdb845c29f6de6a1
https://github.com/llvm/llvm-project/commit/94b04b411903e97bd228c6bdbdb845c29f6de6a1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Debugger.cpp
M lldb/source/Utility/LLDBAssert.cpp
Log Message:
-----------
[lldb] Include the version in the lldbassert error message (#133740)
Include the LLDB version in the lldbassert error message, and prompt
users to include it in the bug report. The majority of users that bother
filing a bug report just copy past the stack trace and often forget to
include this important detail. By putting it after the backtrace and
before the prompt, I'm hoping it'll get copy-pasted in.
rdar://146793016
Commit: c5b3fe209408c89c1ca21f103a8fd45fb48c3138
https://github.com/llvm/llvm-project/commit/c5b3fe209408c89c1ca21f103a8fd45fb48c3138
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGen/2003-08-20-vfork-bug.c
M clang/test/CodeGen/setjmp.c
Log Message:
-----------
[clang] Automatically add the `returns_twice` attribute to certain functions even if `-fno-builtin` is set (#133511)
Certain functions require the `returns_twice` attribute in order to
produce correct codegen. However, `-fno-builtin` removes all knowledge
of functions that require this attribute, so this PR modifies Clang to
add the `returns_twice` attribute even if `-fno-builtin` is set. This
behavior is also consistent with what GCC does.
It's not (easily) possible to get the builtin information from
`Builtins.td` because `-fno-builtin` causes Clang to never initialize
any builtins, so functions never get tokenized as functions/builtins
that require `returns_twice`. Therefore, the most straightforward
solution is to explicitly hard code the function names that require
`returns_twice`.
Fixes #122840
Commit: 9cdab16da99ad9fdb823853fbc634008229e284f
https://github.com/llvm/llvm-project/commit/9cdab16da99ad9fdb823853fbc634008229e284f
Author: David Green <david.green at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/shuffle-transpose.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
Log Message:
-----------
[AArch64] Remove CODE llc run lines from costmodel tests. NFC
The code is already tested in CodeGen/AArch64 tests such as neon-perm.ll and
the select- tests.
Commit: 11dd7d98a6ecd2374289b6a217e358e503d4778a
https://github.com/llvm/llvm-project/commit/11dd7d98a6ecd2374289b6a217e358e503d4778a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
A clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
R clang/test/AST/ByteCode/codegen-mutable-read.cpp
Log Message:
-----------
[clang][bytecode] Reject constexpr-unknown values from comparisons (#133701)
Commit: a0e1e680d28c4ef5f87be948d1d223fbfda2950c
https://github.com/llvm/llvm-project/commit/a0e1e680d28c4ef5f87be948d1d223fbfda2950c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Return Invalid() on non-constexpr builtins (#133700)
So the diagnostic output matches with the current interpreter
Commit: f0b3bdd6dfa035653de5ead7b8d0582a8c0c158e
https://github.com/llvm/llvm-project/commit/f0b3bdd6dfa035653de5ead7b8d0582a8c0c158e
Author: David Peixotto <peix at meta.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/source/Core/PluginManager.cpp
Log Message:
-----------
[lldb] Remove raw access to PluginInstances vector (#132884)
Remove raw access to PluginInstances vector
This commit modifies the PluginInstances class to remove direct access
to the m_instances vector. Instead, we expose a new `GetSnapshot` method
that returns a copy of the current state of the instances vector. All
external iteration over the instances is updated to use the new method.
The motivation for the change is to allow modifying the way we store
instances without having to change all the clients. This is a
preliminary change to allow enabling/disabling of plugins in which case
we want to iterate over only enabled plugins.
We also considered using a custom iterator that wraps the vector
iterator and can skip over disabled instances. That works, but the
iterator code is a bit messy with all template and typedefs to make a
compliant iterator.
Commit: 514f984a8d28abf095df0a293294a40a2e811b8f
https://github.com/llvm/llvm-project/commit/514f984a8d28abf095df0a293294a40a2e811b8f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
Log Message:
-----------
[CIR][NFC] Fix warnings in ClangIR code (#133134)
This fixes unused variable warnings that have crept into the ClangIR
code. In some cases the variable will be needed later, but all unused
variables are being removed here. They can be reintroduced when they are
needed.
Commit: dcc2faecd8aebc64eb541aebe0005ecceffef558
https://github.com/llvm/llvm-project/commit/dcc2faecd8aebc64eb541aebe0005ecceffef558
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/test/CodeGenHLSL/cbuffer.hlsl
Log Message:
-----------
[HLSL] Fix codegen to support classes in `cbuffer` (#132828)
Fixes #132309
Commit: 42d1a1cb849195304dc93004f5808ef82904cd89
https://github.com/llvm/llvm-project/commit/42d1a1cb849195304dc93004f5808ef82904cd89
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
Log Message:
-----------
[WebAssembly] Fix signatures of frexpf family of libcalls (#133289)
Fixes: https://github.com/emscripten-core/emscripten/issues/23997
Commit: 8b06da16827829c9b142f591303d3c66aab926b9
https://github.com/llvm/llvm-project/commit/8b06da16827829c9b142f591303d3c66aab926b9
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
M mlir/test/Integration/Dialect/MemRef/subview-runtime-verification.mlir
Log Message:
-----------
[mlir][memref] Improve runtime verification for `memref.subview` (#132545)
This commit addresses a TODO in the runtime verification of
`memref.subview`. Each dimension is now verified: the offset must be
in-bounds and the slice must not run out-of-bounds.
This commit aligns runtime verification with static op verification
(which was improved in #133086).
Commit: e4b9486056fab7a262fdafbe70acf393c9767d12
https://github.com/llvm/llvm-project/commit/e4b9486056fab7a262fdafbe70acf393c9767d12
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/LexHLSLRootSignature.h
A clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/CMakeLists.txt
A clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
A clang/unittests/Parse/CMakeLists.txt
A clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
A llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
[HLSL][RootSignature] Implement parsing of a DescriptorTable with empty clauses (#133302)
- defines the Parser class and an initial set of helper methods to
support consuming tokens. functionality is demonstrated through a simple
empty descriptor table test case
- defines an initial in-memory representation of a DescriptorTable
- implements a test harness that will be used to validate the correct
diagnostics are generated. it will construct a dummy pre-processor with
diagnostics consumer to do so
Implements the first part of
https://github.com/llvm/llvm-project/issues/126569
Commit: 5edf12738441d54239a5043e727b4dac709728c7
https://github.com/llvm/llvm-project/commit/5edf12738441d54239a5043e727b4dac709728c7
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Dialect/Linalg/promote.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/subview.mlir
M mlir/test/Transforms/canonicalize.mlir
M mlir/test/Transforms/compose-subview.mlir
Log Message:
-----------
[mlir][memref] Verify out-of-bounds access for memref.subview (#133086)
* Improve the verifier of `memref.subview` to detect out-of-bounds
extractions.
* Improve the documentation of `memref.subview` to make clear that
out-of-bounds extractions are not allowed. Rewrite examples to use the
new `strided<>` notation instead of `affine_map` layout maps. Also
remove all unrelated operations (`memref.alloc`) from the examples.
* Fix various test cases where `memref.subview` ops ran out-of-bounds.
* Update canonicalizations patterns to ensure that they do not fold IR
if it would generate IR that no longer verifies.
Related discussion on Discourse:
https://discourse.llvm.org/t/out-of-bounds-semantics-of-memref-subview/85293
This is a re-upload of #131876, which was reverted due to failing GPU
tests. These tests were faulty and fixed in #133051.
Commit: e9a3ea2218b754a96be4f44240c3f8ee9cbd26c9
https://github.com/llvm/llvm-project/commit/e9a3ea2218b754a96be4f44240c3f8ee9cbd26c9
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZCopyPhysRegs.cpp
M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
M llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp
A llvm/test/CodeGen/SystemZ/Large/debug-instrref-brct.py
A llvm/test/CodeGen/SystemZ/debug-instrref-copyphysregs.mir
A llvm/test/CodeGen/SystemZ/debug-instrref-elimcompare.mir
A llvm/test/CodeGen/SystemZ/debug-instrref-postrewrite.mir
Log Message:
-----------
[SystemZ, DebugInfo] Instrument SystemZ backend passes for Instr-Ref DebugInfo (#133061)
This PR instruments the optimization passes in the SystemZ backend with
calls to `MachineFunction::substituteDebugValuesForInst` where
instruction substitutions are made to instructions that may compute
tracked values.
Tests are also added for each of the substitutions that were inserted.
Details on the individual passes follow.
### systemz-copy-physregs
When a copy targets an access register, we redirect the copy via an
auxiliary register. This leads to the final result being written by a
newly inserted SAR instruction, rather than the original MI, so we need
to update the debug value tracking to account for this.
### systemz-long-branch
This pass relaxes relative branch instructions based on the actual
locations of blocks. Only one of the branch instructions qualifies for
debug value tracking: BRCT, i.e. branch-relative-on-count, which
subtracts 1 from a register and branches if the result is not zero. This
is relaxed into an add-immediate and a conditional branch, so any
`debug-instr-number` present must move to the add-immediate instruction.
### systemz-post-rewrite
This pass replaces `LOCRMux` and `SELRMux` pseudoinstructions with
either the real versions of those instructions, or with branching
programs that implement the intent of the Pseudo. In all these cases,
any `debug-instr-number` attached to the pseudo needs to be reallocated
to the appropriate instruction in the result, either LOCR, SELR, or a
COPY.
### systemz-elim-compare
Similar to systemz-long-branch, for this pass, only few substitutions
are necessary, since it mainly deals with conditional branch
instructions. The only exceptiona are again branch-relative-on-count, as
it modifies a counter as part of the instruction, as well as any of the
load instructions that are affected.
Commit: bc3b1b06c6e59a0de5b4b3607816a9255ca01df9
https://github.com/llvm/llvm-project/commit/bc3b1b06c6e59a0de5b4b3607816a9255ca01df9
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
Log Message:
-----------
[mlir][memref] Fix build after #132545 (#133760)
There was a typo in the error message.
Commit: 7eb99b85995a49972f7a3d5c68cf3543014a787b
https://github.com/llvm/llvm-project/commit/7eb99b85995a49972f7a3d5c68cf3543014a787b
Author: Wael Yehia <wyehia at ca.ibm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A compiler-rt/test/profile/AIX/pgo-lto-bcdtor-function-section.test
Log Message:
-----------
[AIX][PGO] Add testcase for D136192
Reviewed By: mandlebug
Differential Revision: https://reviews.llvm.org/D136192
Commit: 143c37123b93a3dbd0fafd0296516ac1ab2afc36
https://github.com/llvm/llvm-project/commit/143c37123b93a3dbd0fafd0296516ac1ab2afc36
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Lowering/global-var-simple.cpp
M clang/test/CIR/Lowering/hello.c
M clang/test/CIR/global-var-simple.cpp
Log Message:
-----------
[CIR] Upstream zero init for global variables (#133100)
This change adds zero initialization for global variables
Commit: 2d7add6e2e56baf46504a8a22dec42b61f63360f
https://github.com/llvm/llvm-project/commit/2d7add6e2e56baf46504a8a22dec42b61f63360f
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/OutputSections.h
M lld/ELF/ScriptParser.cpp
M lld/test/ELF/linkerscript/overlay.test
Log Message:
-----------
[LLD][ELF] Allow memory region in OVERLAY (#133540)
This allows the contents of OVERLAYs to be attributed to memory regions.
This is the only clean way to overlap VMAs in linker scripts that choose
to primarily use memory regions to lay out addresses.
This also simplifies OVERLAY expansion to better match GNU LD.
Expressions for the first section's LMA and VMA are not generated if the
user did not provide them. This allows the LMA/VMA offset to be
preserved across multiple overlays in the same region, as with regular
sections.
Closes #129816
Commit: bfd8cc0a3e82c5e6345a66dd5db5242accb6874b
https://github.com/llvm/llvm-project/commit/bfd8cc0a3e82c5e6345a66dd5db5242accb6874b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/cmp-values-non-full-registers.ll
Log Message:
-----------
[SLP]Fix a check for the whole register use
Need to check the value type, not the return type, of the instructions,
when doing the analysis for the whole register use to prevent a compiler
crash.
Fixes #133751
Commit: 980d66caae62de9b56422a2fdce3f535c2ab325f
https://github.com/llvm/llvm-project/commit/980d66caae62de9b56422a2fdce3f535c2ab325f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Error.cpp
M llvm/tools/llvm-exegesis/lib/Error.h
M llvm/tools/llvm-exegesis/lib/PerfHelper.cpp
Log Message:
-----------
[llvm-exegesis] Error Out If Perf Counter is Not Fully Enabled (#132892)
Perf counters can be multiplexed if there are too many that need to be
scheduled on a core at the same time (and they exceed the available
PMUs). Other processes (especially system ones in certain environments,
not commonly on Desktop Linux from what I've seen) can also interfere.
This will impact the measurement fidelity as the counter is not actually
counting cycles/uops the entire time. This patch makes it so that we
error out in these cases so the user gets a visible indication things
have gone wrong rather than things failing silently.
Commit: 668edb43a0e7d8fb13564d6966c250b93b2130db
https://github.com/llvm/llvm-project/commit/668edb43a0e7d8fb13564d6966c250b93b2130db
Author: David Green <david.green at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/bitreverse.ll
M llvm/test/Analysis/CostModel/AArch64/bswap.ll
M llvm/test/Analysis/CostModel/AArch64/cost-scalable-vector-gep.ll
M llvm/test/Analysis/CostModel/AArch64/ctlz.ll
M llvm/test/Analysis/CostModel/AArch64/ctpop.ll
M llvm/test/Analysis/CostModel/AArch64/cttz.ll
M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
M llvm/test/Analysis/CostModel/AArch64/no-sve-no-neon.ll
M llvm/test/Analysis/CostModel/AArch64/store.ll
M llvm/test/Analysis/CostModel/AArch64/vec3-ops.ll
M llvm/test/Analysis/CostModel/AArch64/vector-reverse.ll
Log Message:
-----------
[AArch64] Update more costmodel tests with -cost-kind=all. NFC
Commit: 5877bef3854d5dc5eaeb308636bcc31b12240563
https://github.com/llvm/llvm-project/commit/5877bef3854d5dc5eaeb308636bcc31b12240563
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Remove unneeded findValue calls (NFC).
Use findLeader directly instead if going through findValue,
getLeaderValue. This is simpler and more efficient.
Commit: cc2b4326142e6df6755472edaf264a0af4fe599a
https://github.com/llvm/llvm-project/commit/cc2b4326142e6df6755472edaf264a0af4fe599a
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
A clang/lib/CodeGen/TargetBuiltins/CMakeLists.txt
A clang/lib/CodeGen/Targets/CMakeLists.txt
Log Message:
-----------
[Clang][Cmake] fix libtool duplicate member name warnings (#133619)
fixes #133199
PR #132252 Created a second file that shared `<TargetName>.cpp` in
`clang/lib/CodeGen/CMakeLists.txt`
For example There were two `AMDGPU.cpp`'s one in `TargetBuiltins` and
the other in `Targets`. Even though these were in different directories
`libtool` warns that it might not distinguish them because they share
the same base name.
There are two potential fixes. The easy fix is to rename one of them and
keep one cmake file. That solution though doesn't future proof this
problem in the event of a third `<TargetName>.cpp` and it seems teams
want to just use the target name
https://github.com/llvm/llvm-project/pull/132252#issuecomment-2758178483.
The alternative fix is to seperate the cmake files into their own sub
directories. I chose to create static libraries. It might of been
possible to build an OBJECT, but I only saw examples of this in
compiler-rt and test directories so assumed there was a reason it wasn't
used.
Commit: 514536731f7adb05ab6ffaaf9f2912b8df418b75
https://github.com/llvm/llvm-project/commit/514536731f7adb05ab6ffaaf9f2912b8df418b75
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after e4b9486056fab7a262fdafbe70acf393c9767d12
Commit: a415b7f86e8c50e4e789d4651f3231d5078c5859
https://github.com/llvm/llvm-project/commit/a415b7f86e8c50e4e789d4651f3231d5078c5859
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/test/CodeGen/WebAssembly/wide-arithmetic.ll
Log Message:
-----------
[WebAssembly] Add more lowerings for wide-arithmetic (#132430)
This commit is the result of investigation and discussion on
WebAssembly/wide-arithmetic#6 where alternatives to the `i64.add128`
instruction were discussed but ultimately deferred to a future proposal.
In spite of this though I wanted to apply a few changes to the LLVM
backend here with `wide-arithmetic` enabled for a few minor changes:
* A lowering for the `ISD::UADDO` node is added which uses `add128`
where the upper bits of the two operands are constant zeros and the
result of the 128-bit addition is the result of the overflowing
addition.
* The high bits of a `I64_ADD128` node are now flagged as "known zero"
if the upper bits of the inputs are also zero, assisting this `UADDO`
lowering to ensure the backend knows that the carry result is a 1-bit
result.
A few tests were then added to showcase various lowerings for various
operations that can be done with wide-arithmetic. They don't all
optimize super well at this time but I wanted to add them as a reference
here regardless to have them on-hand for future evaluations if
necessary.
Commit: c1bf5e62877cf3a769886505a687def47cd65e05
https://github.com/llvm/llvm-project/commit/c1bf5e62877cf3a769886505a687def47cd65e05
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
Log Message:
-----------
[DirectX] Fix build break caused by bitcode writer changes (#133770)
commit:
https://github.com/llvm/llvm-project/commit/68947342b75cc71f3ac9041d11db086d8d074336
added a new `writeDIFixedPointType` function.
However, `DIFixedPointType` is not supported in DXIL so we need to add a
fail fast case for this to fix the build.
this change fixes a build break introduced by
https://github.com/llvm/llvm-project/pull/129596
Commit: 0ac8cb1b3df724f549a62f6b277745af3d50b23a
https://github.com/llvm/llvm-project/commit/0ac8cb1b3df724f549a62f6b277745af3d50b23a
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M flang/docs/ArrayRepacking.md
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
A flang/test/Transforms/loop-versioning-with-repack-arrays.fir
Log Message:
-----------
[flang] Recognize fir.pack_array in LoopVersioning. (#133191)
This change enables LoopVersioning when `fir.pack_array` is met
in the def-use chain. It fixes a couple of huge performance regressions
caused by enabling `-frepack-arrays`.
Commit: 5f268d04f9898cb0f8d4a1371a7b22dc3c35e5fc
https://github.com/llvm/llvm-project/commit/5f268d04f9898cb0f8d4a1371a7b22dc3c35e5fc
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
A flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
M flang/test/HLFIR/elemental-codegen.fir
A flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang] Code generation for fir.pack/unpack_array. (#132080)
The code generation relies on `ShallowCopyDirect` runtime
to copy data between the original and the temporary arrays
(both directions). The allocations are done by the compiler
generated code. The heap allocations could have been passed
to `ShallowCopy` runtime, but I decided to expose the allocations
so that the temporary descriptor passed to `ShallowCopyDirect`
has `nocapture` - maybe this will be better for LLVM optimizations.
Commit: 76e7bddf9d36074e0d67c21c5d67c2171abd70c4
https://github.com/llvm/llvm-project/commit/76e7bddf9d36074e0d67c21c5d67c2171abd70c4
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M libcxx/include/__system_error/error_category.h
Log Message:
-----------
[libc++][NFC] Replace __attribute__((__const__)) with [[__gnu__::__const__]]
Commit: 0bdc9e6d080009dc87b9458181c5a41cc13f26ae
https://github.com/llvm/llvm-project/commit/0bdc9e6d080009dc87b9458181c5a41cc13f26ae
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
Log Message:
-----------
[lldb-dap] Replace GetBreakpointLabel with kDAPBreakpointLabel constant (NFC) (#133746)
Replace GetBreakpointLabel with kDAPBreakpointLabel constant to avoid an
unnecessary function call.
Commit: 2653eb52d1c700740a96ae61484bb1899e783c82
https://github.com/llvm/llvm-project/commit/2653eb52d1c700740a96ae61484bb1899e783c82
Author: David Green <david.green at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/sve-arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cast.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-ext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fpext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptoi.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-insert-extract.ll
M llvm/test/Analysis/CostModel/AArch64/sve-itofp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-ldst.ll
M llvm/test/Analysis/CostModel/AArch64/sve-math.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
M llvm/test/Analysis/CostModel/AArch64/sve-shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/AArch64/sve-trunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-vscale.ll
Log Message:
-----------
[AArch64] Add -cost-kind=all coverage for sve cost tests. NFC
Commit: b46c60272ef4163d3174cfd0fb48ab1cf63b4f62
https://github.com/llvm/llvm-project/commit/b46c60272ef4163d3174cfd0fb48ab1cf63b4f62
Author: Sandeep Dasgupta <sdasgup at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
Log Message:
-----------
Remove unused function from StripFuncQuantTypes (#121594)
`StripFuncQuantTypes::isLegalType` is unused and can be safely removed.
Commit: 8e390dedd71d0c2bcbe8775aee2e234ef7a5b787
https://github.com/llvm/llvm-project/commit/8e390dedd71d0c2bcbe8775aee2e234ef7a5b787
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[EquivalenceClasses] Replace findValue with contains (NFC).
Replace remaining use of findValue with more compact and limited
contains().
Commit: 5a3079421ba7645b8c604709de397c6091611f2a
https://github.com/llvm/llvm-project/commit/5a3079421ba7645b8c604709de397c6091611f2a
Author: AnastasiyaChernikova <anastasiya.chernikova at syntacore.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/tools/llvm-exegesis/README.md
Log Message:
-----------
Add RISC-V support information to readme (#132699)
Commit: 89c25c54f96623e0e973b678a24f572fd204e132
https://github.com/llvm/llvm-project/commit/89c25c54f96623e0e973b678a24f572fd204e132
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaCallingConv.td
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
M llvm/lib/Target/Xtensa/XtensaFrameLowering.h
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaMachineFunctionInfo.h
M llvm/lib/Target/Xtensa/XtensaOperators.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
A llvm/test/CodeGen/Xtensa/aligned_alloc.ll
A llvm/test/CodeGen/Xtensa/calling-conv-windowed.ll
A llvm/test/CodeGen/Xtensa/callw.ll
M llvm/test/CodeGen/Xtensa/saverestore.ll
Log Message:
-----------
[Xtensa] Implement windowed register call ABI. (#130001)
Implement base windowed register call ABI. By defaullt use
rotation window by 8 registers.
Commit: b01e5b23dd880e9686cc4151c7d1b1737cbdd98e
https://github.com/llvm/llvm-project/commit/b01e5b23dd880e9686cc4151c7d1b1737cbdd98e
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
Log Message:
-----------
[ctxprof][nfc] Refactor `__llvm_ctx_profile_start_context` (#133744)
Most of the functionality will be reused with the auto-root detection mechanism (which is introduced subsequently in PR #133147).
Commit: 616f447fc84bdc7655117f1b303d895dc3b93e4d
https://github.com/llvm/llvm-project/commit/616f447fc84bdc7655117f1b303d895dc3b93e4d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
Revert "[EquivalenceClasses] Replace findValue with contains (NFC)."
Breaks clang builds.
This reverts commit 8e390dedd71d0c2bcbe8775aee2e234ef7a5b787.
Commit: 225f6ddb32f7ac56b7f66b47d99fdcb54f2843ca
https://github.com/llvm/llvm-project/commit/225f6ddb32f7ac56b7f66b47d99fdcb54f2843ca
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
Log Message:
-----------
[ctxprof][nfc] Remove redundant `SANITIZER_NO_THREAD_SAFETY_ANALYSIS` (#133784)
With the refactoring in PR #133744, `__llvm_ctx_profile_start_context` doesn't need to be marked `SANITIZER_NO_THREAD_SAFETY_ANALYSIS` because `tryStartContextGivenRoot` (where the bulk of the logic went) is.
Commit: c63246645eeb3fddcf86b36e815c30e8b2af6d44
https://github.com/llvm/llvm-project/commit/c63246645eeb3fddcf86b36e815c30e8b2af6d44
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Log Message:
-----------
[WebAssembly] Add a missing `break` statement (#133783)
This fixes an issue introduced in #132430 where a `break;` statement was
accidentally missing causing unintended fall-through.
Commit: b739a3cb651dd4af2f1a47fe1f0427fe2d9460ef
https://github.com/llvm/llvm-project/commit/b739a3cb651dd4af2f1a47fe1f0427fe2d9460ef
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Add m_Deferred. NFC (#133736)
This copies over the implementation of m_Deferred which allows matching
values that were bound in the pattern, and uses it for the (X && Y) ||
(X && !Y) -> X simplifcation.
Commit: 0b31f08537746beff4d5e0df44221cbe5a9237c5
https://github.com/llvm/llvm-project/commit/0b31f08537746beff4d5e0df44221cbe5a9237c5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/memory.cpp
M flang-rt/lib/runtime/environment.cpp
Log Message:
-----------
[flang][cuda] Add support for NV_CUDAFOR_DEVICE_IS_MANAGED (#133778)
Add support for the environment variable `NV_CUDAFOR_DEVICE_IS_MANAGED`
as described in the documentation:
https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#controlling-device-data-is-managed.
This mainly switch device allocation to managed allocation.
Commit: 4e8fbc60710ebec25d9d456eccf28678e04415c9
https://github.com/llvm/llvm-project/commit/4e8fbc60710ebec25d9d456eccf28678e04415c9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
Log Message:
-----------
[LV] Add epilogue vectorization tests for FindLastIV reductions.
Add missing test coverage for #126836.
Commit: 6afe5e5d1a6dcbf7ba83acf4c57b964f58c364a1
https://github.com/llvm/llvm-project/commit/6afe5e5d1a6dcbf7ba83acf4c57b964f58c364a1
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
Log Message:
-----------
[LV][EVL] Peek through combination tail-folded + predicated masks (#133430)
If a recipe was predicated and tail folded at the same time, it will
have a mask like
EMIT vp<%header-mask> = icmp ule canonical-iv, backedge-tc
EMIT vp<%mask> = logical-and vp<%header-mask>, vp<%pred-mask>
When converting to an EVL recipe, if the mask isn't exactly just the
header-mask we copy the whole logical-and.
We can remove this redundant logical-and (because it's now covered by
EVL) and just use vp<%pred-mask> instead.
This lets us remove the widened canonical IV in more places.
Commit: a8d2d169c7add4b0106ae76e186cf815c0b84825
https://github.com/llvm/llvm-project/commit/a8d2d169c7add4b0106ae76e186cf815c0b84825
Author: Tom Yang <zhenyutyang at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/include/lldb/Target/Target.h
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
Log Message:
-----------
Parallelize module loading in POSIX dyld code (#130912)
This patch improves LLDB launch time on Linux machines for **preload
scenarios**, particularly for executables with a lot of shared library
dependencies (or modules). Specifically:
* Launching a binary with `target.preload-symbols = true`
* Attaching to a process with `target.preload-symbols = true`.
It's completely controlled by a new flag added in the first commit
`plugin.dynamic-loader.posix-dyld.parallel-module-load`, which *defaults
to false*. This was inspired by similar work on Darwin #110646.
Some rough numbers to showcase perf improvement, run on a very beefy
machine:
* Executable with ~5600 modules: baseline 45s, improvement 15s
* Executable with ~3800 modules: baseline 25s, improvement 10s
* Executable with ~6650 modules: baseline 67s, improvement 20s
* Executable with ~12500 modules: baseline 185s, improvement 85s
* Executable with ~14700 modules: baseline 235s, improvement 120s
A lot of targets we deal with have a *ton* of modules, and unfortunately
we're unable to convince other folks to reduce the number of modules, so
performance improvements like this can be very impactful for user
experience.
This patch achieves the performance improvement by parallelizing
`DynamicLoaderPOSIXDYLD::RefreshModules` for the launch scenario, and
`DynamicLoaderPOSIXDYLD::LoadAllCurrentModules` for the attach scenario.
The commits have some context on their specific changes as well --
hopefully this helps the review.
# More context on implementation
We discovered the bottlenecks by via `perf record -g -p <lldb's pid>` on
a Linux machine. With an executable known to have 1000s of shared
library dependencies, I ran
```
(lldb) b main
(lldb) r
# taking a while
```
and showed the resulting perf trace (snippet shown)
```
Samples: 85K of event 'cycles:P', Event count (approx.): 54615855812
Children Self Command Shared Object Symbol
- 93.54% 0.00% intern-state libc.so.6 [.] clone3
clone3
start_thread
lldb_private::HostNativeThreadBase::ThreadCreateTrampoline(void*) r
std::_Function_handler<void* (), lldb_private::Process::StartPrivateStateThread(bool)::$_0>::_M_invoke(std::_Any_data const&)
lldb_private::Process::RunPrivateStateThread(bool) n
- lldb_private::Process::HandlePrivateEvent(std::shared_ptr<lldb_private::Event>&)
- 93.54% lldb_private::Process::ShouldBroadcastEvent(lldb_private::Event*)
- 93.54% lldb_private::ThreadList::ShouldStop(lldb_private::Event*)
- lldb_private::Thread::ShouldStop(lldb_private::Event*) *
- 93.53% lldb_private::StopInfoBreakpoint::ShouldStopSynchronous(lldb_private::Event*) t
- 93.52% lldb_private::BreakpointSite::ShouldStop(lldb_private::StoppointCallbackContext*) i
lldb_private::BreakpointLocationCollection::ShouldStop(lldb_private::StoppointCallbackContext*) k
lldb_private::BreakpointLocation::ShouldStop(lldb_private::StoppointCallbackContext*) b
lldb_private::BreakpointOptions::InvokeCallback(lldb_private::StoppointCallbackContext*, unsigned long, unsigned long) i
DynamicLoaderPOSIXDYLD::RendezvousBreakpointHit(void*, lldb_private::StoppointCallbackContext*, unsigned long, unsigned lo
- DynamicLoaderPOSIXDYLD::RefreshModules() O
- 93.42% DynamicLoaderPOSIXDYLD::RefreshModules()::$_0::operator()(DYLDRendezvous::SOEntry const&) const u
- 93.40% DynamicLoaderPOSIXDYLD::LoadModuleAtAddress(lldb_private::FileSpec const&, unsigned long, unsigned long, bools
- lldb_private::DynamicLoader::LoadModuleAtAddress(lldb_private::FileSpec const&, unsigned long, unsigned long, boos
- 83.90% lldb_private::DynamicLoader::FindModuleViaTarget(lldb_private::FileSpec const&) o
- 83.01% lldb_private::Target::GetOrCreateModule(lldb_private::ModuleSpec const&, bool, lldb_private::Status*
- 77.89% lldb_private::Module::PreloadSymbols()
- 44.06% lldb_private::Symtab::PreloadSymbols()
- 43.66% lldb_private::Symtab::InitNameIndexes()
...
```
We saw that majority of time was spent in `RefreshModules`, with the
main culprit within it `LoadModuleAtAddress` which eventually calls
`PreloadSymbols`.
At first, `DynamicLoaderPOSIXDYLD::LoadModuleAtAddress` appears fairly
independent -- most of it deals with different files and then getting or
creating Modules from these files. The portions that aren't independent
seem to deal with ModuleLists, which appear concurrency safe. There were
members of `DynamicLoaderPOSIXDYLD` I had to synchronize though: namely
`m_loaded_modules` which `DynamicLoaderPOSIXDYLD` maintains to map its
loaded modules to their link addresses. Without synchronizing this, I
ran into SEGFAULTS and other issues when running `check-lldb`. I also
locked the assignment and comparison of `m_interpreter_module`, which
may be unnecessary.
# Alternate implementations
When creating this patch, another implementation I considered was
directly background-ing the call to `Module::PreloadSymbol` in
`Target::GetOrCreateModule`. It would have the added benefit of working
across platforms generically, and appeared to be concurrency safe. It
was done via `Debugger::GetThreadPool().async` directly. However, there
were a ton of concurrency issues, so I abandoned that approach for now.
# Testing
With the feature active, I tested via `ninja check-lldb` on both Debug
and Release builds several times (~5 or 6 altogether?), and didn't spot
additional failing or flaky tests.
I also tested manually on several different binaries, some with around
14000 modules, but just basic operations: launching, reaching main,
setting breakpoint, stepping, showing some backtraces.
I've also tested with the flag off just to make sure things behave
properly synchronously.
Commit: 5e2860a8d375ded2d2912894e380fefc8cb1f23a
https://github.com/llvm/llvm-project/commit/5e2860a8d375ded2d2912894e380fefc8cb1f23a
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/LexHLSLRootSignature.h
R clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/CMakeLists.txt
R clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
R clang/unittests/Parse/CMakeLists.txt
R clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
R llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
Revert "[HLSL][RootSignature] Implement parsing of a DescriptorTable with empty clauses" (#133790)
Reverts llvm/llvm-project#133302
Reverting to inspect build failures that were introduced from use of the
`clang::Preprocessor` in unit testing, as well as, the warning about an
unused declaration. See linked issue for failures.
Commit: baacd1287bfb17608068485c2554dd4455ac29a0
https://github.com/llvm/llvm-project/commit/baacd1287bfb17608068485c2554dd4455ac29a0
Author: Sandeep Dasgupta <sdasgup at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/test/CAPI/quant.c
Log Message:
-----------
Fix printing of `mlirUniformQuantizedSubChannelTypeGetNumBlockSizes` in 32-bit machine. (#133763)
Fixes the issue reported in
https://github.com/llvm/llvm-project/pull/120172#issuecomment-2763212827
cc @mgorny
Commit: eefefb5da798a5e51b864235007e89043fcea16a
https://github.com/llvm/llvm-project/commit/eefefb5da798a5e51b864235007e89043fcea16a
Author: Sandeep Dasgupta <sdasgup at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Quant/IR/QuantBase.td
Log Message:
-----------
Fix sub-channel quantized type documentation (#133765)
fixes the issue reported in
https://github.com/llvm/llvm-project/pull/120172#issuecomment-2748367578
Commit: cb7c223625f950c5ad14fed39aad8b358874fcf0
https://github.com/llvm/llvm-project/commit/cb7c223625f950c5ad14fed39aad8b358874fcf0
Author: Paul Osmialowski <pawel.osmialowski at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/fveclib.c
M flang/test/Driver/fveclib.f90
Log Message:
-----------
[clang][driver] Fix -fveclib=ArmPL issue: with -nostdlib do not link against libm (#133578)
Although combining -fveclib=ArmPL with -nostdlib is a rare situation, it
should still be supported correctly and should effect in avoidance of
linking against libm.
Commit: bdae91b08b5b7fcd13f55db7f36ccaebd5c0b571
https://github.com/llvm/llvm-project/commit/bdae91b08b5b7fcd13f55db7f36ccaebd5c0b571
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
R clang/lib/CodeGen/TargetBuiltins/CMakeLists.txt
R clang/lib/CodeGen/Targets/CMakeLists.txt
Log Message:
-----------
Revert "[Clang][Cmake] fix libtool duplicate member name warnings" (#133795)
Reverts llvm/llvm-project#133619
Commit: 32f24029c72dae175c9e2cc81f931f065a2ba347
https://github.com/llvm/llvm-project/commit/32f24029c72dae175c9e2cc81f931f065a2ba347
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M polly/lib/Analysis/ScopBuilder.cpp
Log Message:
-----------
Reapply "[EquivalenceClasses] Replace findValue with contains (NFC)."
This reverts the revert commit 616f447fc84bdc7655117f1b303d895dc3b93e4d.
It includes updates to remaining users in Polly and Clang, to avoid
failures when building those projects.
Commit: f30c6a047d73322ce7f4fba4367eadc49565827d
https://github.com/llvm/llvm-project/commit/f30c6a047d73322ce7f4fba4367eadc49565827d
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang-tools-extra/include-cleaner/BUILD.bazel
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/Dialect/BUILD.bazel
Log Message:
-----------
[bazel] Format BUILD files with buildifier (#133802)
Commit: 6ff33edcdc29be049829934399b2fb2585252439
https://github.com/llvm/llvm-project/commit/6ff33edcdc29be049829934399b2fb2585252439
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
Log Message:
-----------
[alpha.webkit.NoUnretainedMemberChecker] Ignore system-header-defined ivar / property of a forward declared type (#133755)
Prior to this PR, we were emitting warnings for Objective-C ivars and
properties if the forward declaration of the type appeared first in a
non-system header. This PR fixes the checker so tha we'd ignore ivars
and properties defined for a forward declared type.
Commit: 7793bae97d2bad36d870c6df438a6fc034f15112
https://github.com/llvm/llvm-project/commit/7793bae97d2bad36d870c6df438a6fc034f15112
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/llvm-tests.yml
Log Message:
-----------
[workflows] Add missing -y option to apt-get for abi tests (#133337)
Commit: 4492632432190ed8ab3bc39ff8ee5ba9a89256cf
https://github.com/llvm/llvm-project/commit/4492632432190ed8ab3bc39ff8ee5ba9a89256cf
Author: John Harrison <harjohn at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Do not take ownership of stdin. (#133811)
There isn't any benefit to taking ownership of stdin and it may cause
issues if `Transport` is dealloced.
Commit: 40c859a704399c04c74311bdd25144a78e2eb093
https://github.com/llvm/llvm-project/commit/40c859a704399c04c74311bdd25144a78e2eb093
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Use size returned by encodeULEB128 to simplify some code. NFC (#133750)
We can use the length to insert all the bytes at once instead of
partially decoding them to insert one byte at a time.
Commit: 46457ed1dfbfaf4ccc9245813450ba3fd561f067
https://github.com/llvm/llvm-project/commit/46457ed1dfbfaf4ccc9245813450ba3fd561f067
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/Breakpoint.h
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/DAPForward.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/ExceptionBreakpoint.h
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/FunctionBreakpoint.h
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.h
M lldb/tools/lldb-dap/Watchpoint.cpp
M lldb/tools/lldb-dap/Watchpoint.h
Log Message:
-----------
[lldb] Convert Breakpoint & Watchpoints structs to classes (NFC) (#133780)
Convert Breakpoint & Watchpoints structs to classes to provide proper
access control. This is in preparation for adopting SBMutex to protect
the underlying SBBreakpoint and SBWatchpoint.
Commit: 5d1f27f349f5b63646c714e8c26cc5716a4b5abc
https://github.com/llvm/llvm-project/commit/5d1f27f349f5b63646c714e8c26cc5716a4b5abc
Author: Matthias Braun <matze at braunis.de>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
A llvm/test/CodeGen/AArch64/GlobalISel/combine-neg-and-one-to-sext-inreg.mir
Log Message:
-----------
GlobalISel: neg (and x, 1) --> SIGN_EXTEND_INREG x, 1 (#131367)
The pattern
```LLVM
%shl = shl i32 %x, 31
%ashr = ashr i32 %shl, 31
```
would be combined to `G_EXT_INREG %x, 1` by GlobalISel. However
InstCombine normalizes this pattern to:
```LLVM
%and = and i32 %x, 1
%neg = sub i32 0, %and
```
This adds a combiner for this variant as well.
Commit: 348374028970c956f2e49ab7553b495d7408ccd9
https://github.com/llvm/llvm-project/commit/348374028970c956f2e49ab7553b495d7408ccd9
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/test/tools/llvm-symbolizer/skip-line-zero.s
M llvm/test/tools/llvm-symbolizer/sym-verbose.test
M offload/test/sanitizer/kernel_crash_many.c
M offload/test/sanitizer/kernel_trap.c
M offload/test/sanitizer/kernel_trap.cpp
M offload/test/sanitizer/kernel_trap_many.c
Log Message:
-----------
Reland "Symbolize line zero as if no source info is available (#124846)" (#133798)
This land commits 23aca2f88dd5d2447e69496c89c3ed42a56f9c31 and
1b15a89a23c631a8e2d096dad4afe456970572c0.
https://github.com/llvm/llvm-project/pull/128619 makes symbolizer to
always use debug info when available so we can reland this chagnge.
Commit: 5b8d8bb90a2c9674364e35803e45370c35c35c4a
https://github.com/llvm/llvm-project/commit/5b8d8bb90a2c9674364e35803e45370c35c35c4a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/Transforms/Inline/no-inline-incompatible-gc.ll
Log Message:
-----------
Inliner: Fix missing test coverage for incompatible gc rejection (#133708)
Commit: cf6a452cc734e00a1207514bb1fc2b123e31bb5f
https://github.com/llvm/llvm-project/commit/cf6a452cc734e00a1207514bb1fc2b123e31bb5f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
M llvm/test/Transforms/SLPVectorizer/revec-reduction-logical.ll
Log Message:
-----------
[SLP]Fix same/alternate analysis in split node analysis for compares
getSameOpcode in some cases may consider 2 compares as having same
opcode, even though previously they were considered as alternate. It may
happen, because getSameOpcode looses info about previous instructions
and their states. Need to use isAlternateInstruction function instead
for the correct analysis.
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/133769
Commit: 66db3ccd8c370e56d8f34a55f8cb137dd21b7ced
https://github.com/llvm/llvm-project/commit/66db3ccd8c370e56d8f34a55f8cb137dd21b7ced
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/include/mlir/Interfaces/ViewLikeInterface.td
Log Message:
-----------
[mlir] Update vector return types for `.getMixed`* methods (NFC) (#133821)
Drop small size to make vector types match the generic helper
`getMixedValues` in `StaticValueUtils.h`.
This saves some needles vector copies. I didn't find any local variables
that need updating.
Commit: de053bb4b0db64aebdff7719ff6ce75487f6ba5d
https://github.com/llvm/llvm-project/commit/de053bb4b0db64aebdff7719ff6ce75487f6ba5d
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/fminimumnum.ll
Log Message:
-----------
LLVM/Test: Add vectorizing testcases for fminimumnum and fminimumnum (#133690)
Vectorizing of fminimumnum and fminimumnum have not support yet. Let's
add the testcase for it now, and we will update the testcase when we
support it.
Commit: 02837acaaf2cfdfcbf77e4a7f6629575edb6ffb4
https://github.com/llvm/llvm-project/commit/02837acaaf2cfdfcbf77e4a7f6629575edb6ffb4
Author: Mariusz Borsa <wrotki at msn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp
Log Message:
-----------
[Sanitizers][Darwin][Test] Remove community incompliant internal link from sources (#133187)
The malloc_zone.cpp test currently fails on Darwin hosts, in
SanitizerCommon
tests with lsan enabled.
Need to XFAIL this test to buy time to investigate this failure. Also
we're trying to bring the number of test failing on Darwin bots to 0, to
get clearer signal of any new failures.
rdar://145873843
Co-authored-by: Mariusz Borsa <m_borsa at apple.com>
Commit: 091051fb7f48dd9f1d3f119aa7dcbd38d9d6f076
https://github.com/llvm/llvm-project/commit/091051fb7f48dd9f1d3f119aa7dcbd38d9d6f076
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M libc/Maintainers.rst
Log Message:
-----------
[libc] Add myself as maintainer of the riscv port (#133757)
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 0248d277cabab370b48114cc62aff393b273971b
https://github.com/llvm/llvm-project/commit/0248d277cabab370b48114cc62aff393b273971b
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Headers/__clang_hip_math.h
Log Message:
-----------
Reland [HIP] fix host min/max in header (#133590)
CUDA defines min/max functions for host in global namespace. HIP header
needs to define them too to be compatible. Currently only min/max(int,
int) is defined. This causes wrong result for arguments that are out of
range for int. This patch defines host min/max functions to be
compatible with CUDA.
Since some HIP apps defined min/max functions by themselves, newly added
min/max function are under the control of macro
`__HIP_DEFINE_EXTENDED_HOST_MIN_MAX__`, which is 0 by default. In the
future, this will change to 1 by
default after most existing HIP apps adopt this change.
Also allows users to define
`__HIP_NO_HOST_MIN_MAX_IN_GLOBAL_NAMESPACE__` to disable host max/min in
global namespace.
min/max functions with mixed signed/unsigned integer parameters are not
defined unless
`__HIP_DEFINE_MIXED_HOST_MIN_MAX__` is defined.
Fixes: SWDEV-446564
Commit: f77f2b9c566858b3c6605ab02f4bbd56000f732f
https://github.com/llvm/llvm-project/commit/f77f2b9c566858b3c6605ab02f4bbd56000f732f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/Attributes.h
M llvm/lib/IR/Attributes.cpp
A llvm/test/tools/llvm-reduce/reduce-operands-to-args-metadata-to-attributes.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Try to preserve instruction metadata as argument attributes (#133557)
Fixes #131825
Commit: f9282475b305c0d2428640fa6586fe70f9b9f8d6
https://github.com/llvm/llvm-project/commit/f9282475b305c0d2428640fa6586fe70f9b9f8d6
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
R llvm/test/Transforms/LoopVectorize/fminimumnum.ll
Log Message:
-----------
Revert "LLVM/Test: Add vectorizing testcases for fminimumnum and fminimumnum (#133690)"
This reverts commit de053bb4b0db64aebdff7719ff6ce75487f6ba5d.
Commit: 508a6b2e01069f12150321ec779b3d30d4e76a6e
https://github.com/llvm/llvm-project/commit/508a6b2e01069f12150321ec779b3d30d4e76a6e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
Log Message:
-----------
[RISCV] Use decodeUImmLog2XLenNonZeroOperand in decodeRVCInstrRdRs1UImm. NFC (#133759)
decodeUImmLog2XLenNonZeroOperand already contains the uimm5 check for
RV32 so we can reuse it. This makes C_SLLI_HINT code more similar to the
tblgen code for C_SLLI.
Commit: b2d272ccfb9407ded7e54d1eabd5b5743aa9dd1b
https://github.com/llvm/llvm-project/commit/b2d272ccfb9407ded7e54d1eabd5b5743aa9dd1b
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/X86/lite-mode-target-expr.s
Log Message:
-----------
[BOLT][X86] Fix getTargetSymbol() (#133834)
In 96e5ee2, I inadvertently broke the way non-trivial symbol references
got updated from non-optimized code. The breakage was a consequence of
`getTargetSymbol(MCExpr *)` not returning a symbol when the parameter
was a binary expression. Fix `getTargetSymbol()` to cover such cases.
Commit: 0b8c8ed04211dae629811f24e6033e5c2185508f
https://github.com/llvm/llvm-project/commit/0b8c8ed04211dae629811f24e6033e5c2185508f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/unittests/API/SBMutexTest.cpp
Log Message:
-----------
[lldb] Fix use-after-free in SBMutexTest (#133840)
The `locked` variable can be accessed from the asynchronous thread until
the call to f.wait() completes. However, the variable is scoped in a
lexical block that ends before that, leading to a use-after-free.
Commit: a417a868cd2dad41765e43715379a54289f7da67
https://github.com/llvm/llvm-project/commit/a417a868cd2dad41765e43715379a54289f7da67
Author: John Harrison <harjohn at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
Log Message:
-----------
[lldb-dap] Enable runInTerminal tests on macOS. (#133824)
These tests are currently filtered on macOS if your on an M1 (or newer)
device. These tests do work on macOS, for me at least on M1 Max with
macOS 15.3.2 and Xcode 16.2.
Enabling them again, but if we have CI problems with them we can keep
them disabled.
Commit: 145b4a39504b88a695f1f85f4d9da991bb9a2656
https://github.com/llvm/llvm-project/commit/145b4a39504b88a695f1f85f4d9da991bb9a2656
Author: Shoreshen <372660931 at qq.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-mul24.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
A llvm/test/CodeGen/AMDGPU/narrow_math_for_and.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
Log Message:
-----------
[AMDGPU][CodeGenPrepare] Narrow 64 bit math to 32 bit if profitable (#130577)
For Add, Sub, Mul with Int64 type, if profitable, then do:
1. Trunc operands to Int32 type
2. Apply 32 bit Add/Sub/Mul
3. Zext to Int64 type
Commit: 71cf59219162be67392b435dfcb9b280e1ff8681
https://github.com/llvm/llvm-project/commit/71cf59219162be67392b435dfcb9b280e1ff8681
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/IR/Attributes.cpp
Log Message:
-----------
[IR] Fix -Wunused-but-set-variable
Commit: dd862356e20d2d7e0d0356dff5bd80623c14febc
https://github.com/llvm/llvm-project/commit/dd862356e20d2d7e0d0356dff5bd80623c14febc
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
R llvm/test/CodeGen/ARM/plt-relative-reloc.ll
A llvm/test/CodeGen/ARM/relative-reloc.ll
R llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
A llvm/test/CodeGen/RISCV/relative-reloc.ll
A llvm/test/CodeGen/X86/relative-reloc-32.ll
A llvm/test/CodeGen/X86/relative-reloc-64.ll
R llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
R llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll
Log Message:
-----------
AsmPrinter: Remove ELF's special lowerRelativeReference for unnamed_addr function
https://reviews.llvm.org/D17938 introduced lowerRelativeReference to
give ConstantExpr sub (A-B) special semantics in ELF: when `A` is an
`unnamed_addr` function, create a PLT-generating relocation. This was
intended for C++ relative vtables, but C++ relative vtable ended up
using DSOLocalEquivalent (lowerDSOLocalEquivalent).
This special treatment of `unnamed_addr` seems unusual.
Let's remove it. Only COFF needs an overload to generate a @IMGREL32
relocation specifier (llvm/test/MC/COFF/cross-section-relative.ll).
Pull Request: https://github.com/llvm/llvm-project/pull/132684
Commit: 27b49288f7678d19cbda31904b6b5dbaa86124e7
https://github.com/llvm/llvm-project/commit/27b49288f7678d19cbda31904b6b5dbaa86124e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/MC/Disassembler/RISCV/c_slli.txt
Log Message:
-----------
[RISCV] Add exhaustive diassember tests for c.slli64. NFC (#133820)
The c.slli encoding with a shift of 0 is c.slli64 for RV128 and a hint
for RV32 and RV64. Add a test for this encoding to the exhaustive c.slli
test.
Commit: ea68b228816dfbe27f3e1ba1149116587758d56c
https://github.com/llvm/llvm-project/commit/ea68b228816dfbe27f3e1ba1149116587758d56c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/test/MC/RISCV/rve-invalid.s
Log Message:
-----------
[RISCV] Prevent disassembling RVC hint instructions with x16-x31 for RVE. (#133805)
We can't ignore the return value form the GPR decode function, as it
contains the RVE check.
Commit: 386aca4a3c9ed55c8fe2d9738dff4bcf57fb4f10
https://github.com/llvm/llvm-project/commit/386aca4a3c9ed55c8fe2d9738dff4bcf57fb4f10
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
A llvm/test/MC/RISCV/rv32e-xqccmp-invalid.s
A llvm/test/MC/RISCV/rv32e-zcmp-invalid.s
A llvm/test/MC/RISCV/rv64e-xqccmp-invalid.s
A llvm/test/MC/RISCV/rv64e-zcmp-invalid.s
Log Message:
-----------
[RISCV] Correct disassembly of cm.push/pop for RVE. (#133816)
We shouldn't disassemble any encoding that refers to registers x16-x31
with RV32E.
Commit: b3c7d5951673cf45150f80744a89866c6646eb71
https://github.com/llvm/llvm-project/commit/b3c7d5951673cf45150f80744a89866c6646eb71
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lld/COFF/DebugTypes.cpp
Log Message:
-----------
[lld] Use DenseMap::insert_range (NFC) (#133845)
Commit: e3adf6bbfc72de043cffb3144079a9eb85e9ca40
https://github.com/llvm/llvm-project/commit/e3adf6bbfc72de043cffb3144079a9eb85e9ca40
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/test/MC/Disassembler/RISCV/c_lui_disasm.txt
Log Message:
-----------
[RISCV] Use decodeCLUIImmOperand when disassembling C_LUI_HINT. (#133789)
This correctly rejects imm==0 and prints 1048575 instead of -1.
I've modified the test to only have each hex pattern once with different
check lines before it. This ensures we don't have more invalid messages
printed than we're checking for.
Commit: eb2aba4a648c055533db10f5348e483ead4561ec
https://github.com/llvm/llvm-project/commit/eb2aba4a648c055533db10f5348e483ead4561ec
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Remove extra call to MatchRegisterName in parseRegListCommon. NFC
Update RegEnd after each call to MatchRegisterName end of calling it
again.
Commit: ee3c892b3570281698170130a435f9c6b32c3ef5
https://github.com/llvm/llvm-project/commit/ee3c892b3570281698170130a435f9c6b32c3ef5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
Log Message:
-----------
[clang-tidy] Use DenseMap::insert_range (NFC) (#133844)
We can safely switch to insert_range here because
SyntheticStmtSourceMap starts out empty in the constructor. Also
TheCFG->synthetic_stmts() comes from DenseMap, so we know that the
keys are unique. That is, operator[] and insert are equivalent in
this particular case.
Commit: 4d68cf384df6be405598ec23be0e23e0837db3a3
https://github.com/llvm/llvm-project/commit/4d68cf384df6be405598ec23be0e23e0837db3a3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/source/Plugins/ABI/X86/ABIX86.cpp
Log Message:
-----------
[lldb] Use DenseMap::insert_range (NFC) (#133846)
Commit: 2de7b6ca4e978e5acb9530ed5495d490fb3c9501
https://github.com/llvm/llvm-project/commit/2de7b6ca4e978e5acb9530ed5495d490fb3c9501
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
Log Message:
-----------
[ExecutionEngine] Use DenseMap::insert_range (NFC) (#133847)
We can safely switch to insert_range here because LR starts out empty.
Also, *Result is a DenseMap, so we know that the keys are unique.
Commit: 091dcb8fc2b6ccb88c2975076e94f3cb6530db46
https://github.com/llvm/llvm-project/commit/091dcb8fc2b6ccb88c2975076e94f3cb6530db46
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/OpenMP/copyin.f90
Log Message:
-----------
[Flang] Make a private copy for the common block variables in copyin clause (#111359)
Fixes: https://github.com/llvm/llvm-project/issues/82949
Commit: bae3577002b6bda92837723a06a4ca5c498d300f
https://github.com/llvm/llvm-project/commit/bae3577002b6bda92837723a06a4ca5c498d300f
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/docs/Intrinsics.md
M flang/lib/Evaluate/intrinsics.cpp
A flang/test/Lower/Intrinsics/erf.f90
M flang/test/Lower/Intrinsics/erf_real16.f90
M flang/test/Lower/Intrinsics/erfc.f90
M flang/test/Lower/Intrinsics/erfc_real16.f90
M flang/test/Lower/Intrinsics/erfc_scaled.f90
A flang/test/Lower/Intrinsics/erfc_scaled_real16.f90
A flang/test/Semantics/erf.f90
A flang/test/Semantics/erfc.f90
A flang/test/Semantics/erfc_scaled.f90
Log Message:
-----------
[flang] Define ERF, ERFC and ERFC_SCALED intrinsics with Q and D prefix (#125217)
`ERF`, `ERFC` and `ERFC_SCALED` intrinsics prefixed by `Q` and `D` are
missing. Codes such as `CP2K`(https://github.com/cp2k/cp2k) and
`TurboRVB`(https://github.com/sissaschool/turborvb) use these intrinsics
just like defined in the GNU standard and here:
https://www.ibm.com/docs/fr/xl-fortran-aix/16.1.0?topic=reference-intrinsic-procedures
These intrinsics are based on the existing intrinsics but apply a
restriction on the type kind.
- `DERF`, `DERFC` and `DERFC_SCALED` are for double précision only.
- `QERF`, `QERFC` and `QERFC_SCALED` are for quad précision only.
Commit: d3be29642fa65e5ade434d860cfcc193f8278d4e
https://github.com/llvm/llvm-project/commit/d3be29642fa65e5ade434d860cfcc193f8278d4e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate pointer/reference in _Generic (#133673)
Fix #133663
Commit: fe3e9c2b46504e7b197245b3946abfec563e77d4
https://github.com/llvm/llvm-project/commit/fe3e9c2b46504e7b197245b3946abfec563e77d4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#133045)
Commit: aa889ed129ff26d9341c50a9eaba4db728ca6212
https://github.com/llvm/llvm-project/commit/aa889ed129ff26d9341c50a9eaba4db728ca6212
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Statusline.h
M lldb/source/Core/Statusline.cpp
Log Message:
-----------
[lldb] Fix statusline terminal resizing
Simplify and fix the logic to clear the old statusline when the terminal
window dimensions have changed. I accidentally broke the terminal
resizing behavior when addressing code review feedback.
I'd really like to figure out a way to test this. PExpect isn't a good
fit for this, because I really need to check the result, rather than the
control characters, as the latter doesn't tell me whether any part of
the old statusline is still visible.
Commit: 49f080afc4466ddf415d7fc7e98989c0bd07d8ea
https://github.com/llvm/llvm-project/commit/49f080afc4466ddf415d7fc7e98989c0bd07d8ea
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
M mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
M mlir/test/Conversion/MeshToMPI/convert-mesh-to-mpi.mlir
M mlir/test/Dialect/MPI/mpiops.mlir
Log Message:
-----------
[mlir][mpi] Mandatory Communicator (#133280)
This is replacing #125361
- communicator is mandatory
- new mpi.comm_world
- new mp.comm_split
- lowering and test
---------
Co-authored-by: Sergio Sánchez Ramírez <sergio.sanchez.ramirez+git at bsc.es>
Commit: 7267dbfe1032f5ebd698403848fab4bbfcbe0b19
https://github.com/llvm/llvm-project/commit/7267dbfe1032f5ebd698403848fab4bbfcbe0b19
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Fix comparing the addresses of union members (#133852)
Union members get the same address, so we can't just use
`Pointer::getByteOffset()`.
Commit: 36978fadb8e14c944b71fa63b876012cb2c444c2
https://github.com/llvm/llvm-project/commit/36978fadb8e14c944b71fa63b876012cb2c444c2
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCParser/MCAsmLexer.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/test/MC/RISCV/pseudo-jump-invalid.s
M llvm/test/MC/RISCV/rv32i-aliases-invalid.s
M llvm/test/MC/RISCV/rv64i-aliases-invalid.s
Log Message:
-----------
[MC] Add UseAtForSpecifier
Some ELF targets don't use @ for relocation specifiers.
We should not report `error: invalid variant` when @ is used.
Attempt to make expr at specifier parsing less hacky.
Commit: 6b647de031a7d590663a791a503525f21cb98d03
https://github.com/llvm/llvm-project/commit/6b647de031a7d590663a791a503525f21cb98d03
Author: Ningning Shi(史宁宁) <shiningning at iscas.ac.cn>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Transforms/Instrumentation/PGOForceFunctionAttrs.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[NFC] Remove the unused hasMinSize() (#133838)
The 'hasOptSize()' is 'hasFnAttribute(Attribute::OptimizeForSize) ||
hasMinSize()', so we don't need another 'hasMinSize()'.
Commit: 5ff8c036063d83c6eff495de7709b12875113d62
https://github.com/llvm/llvm-project/commit/5ff8c036063d83c6eff495de7709b12875113d62
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
A llvm/test/MC/AArch64/execute-only-memtag.ll
Log Message:
-----------
[AArch64] Bugfix when using execute-only and memtag sanitizer together (#133084)
Support for execute-only code generation (#125687) introduced a bug in
the case where the memtag sanitizer is used in a module containing a mix
of execute-only and non-execute-only functions.
The bug is caused by using `return` instead of `break` to short-circuit
a loop, which meant that the rest of the function dealing with memtag
sanitizer logic wasn't run.
Commit: c5afcfe0bb44067b2cd050ed9cff311eada9cc37
https://github.com/llvm/llvm-project/commit/c5afcfe0bb44067b2cd050ed9cff311eada9cc37
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/insert-subvector-broadcast.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
Log Message:
-----------
[X86] combineINSERT_SUBVECTOR - fold insert_subvector(base,extract_subvector(broadcast)) -> blend shuffle(base,broadcast) (REAPPLIED) (#133724)
If the broadcast is already the full vector width, try to prefer a blend/vshuff64x2 over a vector insertion which is usually lower latency (and sometimes a lower uop count), and reduces changes in vector sizes that can interfere with further combines.
Updated version of #133083 - which lead to infinite loops due to shuffle lowering recreating the INSERT_SUBVECTOR pattern, this variant creates the BLENDI/SHUF128 nodes directly.
Commit: 64d493f987dc24b3d7e45daade9b0e8bfa1cc471
https://github.com/llvm/llvm-project/commit/64d493f987dc24b3d7e45daade9b0e8bfa1cc471
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
Log Message:
-----------
[EquivalenceClasses] Return ECValue directly from insert (NFC).
Removes a redundant lookup in the mapping.:
Commit: 14c50986405731030b001d85cc8cd4a2c9f86388
https://github.com/llvm/llvm-project/commit/14c50986405731030b001d85cc8cd4a2c9f86388
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Use takeName when moving arguments in operands-to-args (#133851)
Commit: fd0785e67ca66fb7f59ae504b637285d27d4e5c9
https://github.com/llvm/llvm-project/commit/fd0785e67ca66fb7f59ae504b637285d27d4e5c9
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Reorder ERF op to align with TOSA spec (#133814)
Minor non-functional change of the dialect to better align with the
operator order from the TOSA specification:
https://www.mlplatform.org/tosa/tosa_spec.html
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 7a2b160e76e23d8fa62750af20e1e25f08803784
https://github.com/llvm/llvm-project/commit/7a2b160e76e23d8fa62750af20e1e25f08803784
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_rootn.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_rootn.cl
A libclc/clc/lib/generic/math/clc_rootn.inc
M libclc/clspv/lib/SOURCES
M libclc/generic/include/clc/math/rootn.h
R libclc/generic/include/clc/math/rootn.inc
R libclc/generic/include/math/clc_rootn.h
R libclc/generic/include/math/clc_rootn.inc
M libclc/generic/lib/SOURCES
R libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/rootn.cl
R libclc/generic/lib/math/rootn.inc
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move rootn to the CLC library; optimize (#133735)
The function was already nominally in the CLC namespace; this commit
just moves it over.
This commit also vectorizes the builtin to avoid scalarization.
Commit: ad48fffb53003333456b327a2a3f22bd81a77a00
https://github.com/llvm/llvm-project/commit/ad48fffb53003333456b327a2a3f22bd81a77a00
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/amdgpu/lib/SOURCES
R libclc/amdgpu/lib/math/native_exp.cl
R libclc/amdgpu/lib/math/native_exp.inc
R libclc/amdgpu/lib/math/native_exp2.cl
R libclc/amdgpu/lib/math/native_log.cl
R libclc/amdgpu/lib/math/native_log.inc
R libclc/amdgpu/lib/math/native_log10.cl
R libclc/amdgpu/lib/math/native_log10.inc
A libclc/clc/include/clc/math/clc_native_cos.h
A libclc/clc/include/clc/math/clc_native_exp.h
A libclc/clc/include/clc/math/clc_native_exp2.h
A libclc/clc/include/clc/math/clc_native_log.h
A libclc/clc/include/clc/math/clc_native_log10.h
A libclc/clc/include/clc/math/clc_native_log2.h
A libclc/clc/include/clc/math/clc_native_rsqrt.h
A libclc/clc/include/clc/math/clc_native_sin.h
A libclc/clc/include/clc/math/clc_native_sqrt.h
R libclc/clc/include/clc/math/unary_intrin.inc
M libclc/clc/lib/amdgpu/SOURCES
A libclc/clc/lib/amdgpu/math/clc_native_exp.cl
A libclc/clc/lib/amdgpu/math/clc_native_exp.inc
A libclc/clc/lib/amdgpu/math/clc_native_exp2.cl
A libclc/clc/lib/amdgpu/math/clc_native_log10.cl
A libclc/clc/lib/amdgpu/math/clc_native_log10.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_native_cos.cl
A libclc/clc/lib/generic/math/clc_native_exp.cl
A libclc/clc/lib/generic/math/clc_native_exp2.cl
A libclc/clc/lib/generic/math/clc_native_log.cl
A libclc/clc/lib/generic/math/clc_native_log10.cl
A libclc/clc/lib/generic/math/clc_native_log2.cl
A libclc/clc/lib/generic/math/clc_native_rsqrt.cl
A libclc/clc/lib/generic/math/clc_native_rsqrt.inc
A libclc/clc/lib/generic/math/clc_native_sin.cl
A libclc/clc/lib/generic/math/clc_native_sqrt.cl
M libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_native_rsqrt.cl
M libclc/generic/lib/math/native_cos.cl
M libclc/generic/lib/math/native_exp.cl
M libclc/generic/lib/math/native_exp2.cl
M libclc/generic/lib/math/native_log.cl
M libclc/generic/lib/math/native_log10.cl
M libclc/generic/lib/math/native_log2.cl
M libclc/generic/lib/math/native_rsqrt.cl
R libclc/generic/lib/math/native_rsqrt.inc
M libclc/generic/lib/math/native_sin.cl
M libclc/generic/lib/math/native_sqrt.cl
R libclc/generic/lib/math/native_unary_intrinsic.inc
M libclc/r600/lib/SOURCES
R libclc/r600/lib/math/native_rsqrt.cl
Log Message:
-----------
[libclc] Move several 'native' builtins to CLC library (#129679)
This commit moves the 'native' builtins that use asm statements to
generate LLVM intrinsics to the CLC library. In doing so it converts
them to use the appropriate elementwise builtin to generate the same
intrinsic; there are no codegen changes to any target except to AMDGPU
targets where `native_log` is no longer custom implemented and instead
used the clang elementwise builtin.
This work forms part of #127196 and indeed with this commit there are no
'generic' builtins using/abusing asm statements - the remaining builtins
are specific to the amdgpu and r600 targets.
Commit: 1cf6786e322ddc787d793dbb48d59b4f9827fef3
https://github.com/llvm/llvm-project/commit/1cf6786e322ddc787d793dbb48d59b4f9827fef3
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/test/IR/invalid-builtin-attributes.mlir
Log Message:
-----------
[mlir] Improve error handling for dense attribute parsing in complex types (#133220)
- For splat dense attributes, the number of parsed elements must be 2.
- For non-splat dense attributes, the number of parsed elements must be
twice the number of elements in the type.
Fixes #132859.
Commit: af0b0ce665e2a36dd60c2aa70e78cc54cf20b7e3
https://github.com/llvm/llvm-project/commit/af0b0ce665e2a36dd60c2aa70e78cc54cf20b7e3
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir
Log Message:
-----------
[AMDGPU] Fix SIFoldOperandsImpl::tryFoldZeroHighBits when met non-reg src1 operand. (#133761)
This happens when a constant is propagated to a V_AND 0xFFFF, reg
instruction.
Fixes failures like:
```
llc: /github/llvm-project/llvm/include/llvm/CodeGen/MachineOperand.h:366: llvm::Register llvm::MachineOperand::getReg() const: Assertion `isReg() && "This is not a register operand!"' failed.
Stack dump:
0. Program arguments: /github/llvm-project/build/Debug/bin/llc -mtriple=amdgcn -mcpu=gfx1101 -verify-machineinstrs -run-pass si-fold-operands /github/llvm-project/llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir -o -
1. Running pass 'Function Pass Manager' on module '/github/llvm-project/llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir'.
2. Running pass 'SI Fold Operands' on function '@test_tryFoldZeroHighBits_skips_nonreg'
...
#12 0x00007f5a55005cfc llvm::MachineOperand::getReg() const /github/llvm-project/llvm/include/llvm/CodeGen/MachineOperand.h:0:5
#13 0x00007f5a555c6bf5 (anonymous namespace)::SIFoldOperandsImpl::tryFoldZeroHighBits(llvm::MachineInstr&) const /github/llvm-project/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp:1459:36
#14 0x00007f5a555c63ad (anonymous namespace)::SIFoldOperandsImpl::run(llvm::MachineFunction&) /github/llvm-project/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp:2455:11
#15 0x00007f5a555c6780 (anonymous namespace)::SIFoldOperandsLegacy::runOnMachineFunction
```
Commit: 9e5bfbf77db0945f59c0d18012a8e6d43c711b3a
https://github.com/llvm/llvm-project/commit/9e5bfbf77db0945f59c0d18012a8e6d43c711b3a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[EquivalenceClasses] Update member_begin to take ECValue (NFC).
Remove a level of indirection and update code to use range-based for
loops.
Commit: 6c3adaafe3f2139fba5ef3865cbcbba93dbab645
https://github.com/llvm/llvm-project/commit/6c3adaafe3f2139fba5ef3865cbcbba93dbab645
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/arm_neon.td
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/test/CodeGen/AArch64/bf16-dotprod-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
M clang/test/CodeGen/AArch64/neon-2velem.c
M clang/test/CodeGen/AArch64/neon-extract.c
M clang/test/CodeGen/AArch64/neon-fma.c
M clang/test/CodeGen/AArch64/neon-fp16fml.c
M clang/test/CodeGen/AArch64/neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-ldst-one-rcpc3.c
M clang/test/CodeGen/AArch64/neon-ldst-one.c
M clang/test/CodeGen/AArch64/neon-misc-constrained.c
M clang/test/CodeGen/AArch64/neon-misc.c
M clang/test/CodeGen/AArch64/neon-perm.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem-constrained.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
M clang/test/CodeGen/AArch64/neon-vcmla.c
M clang/test/CodeGen/AArch64/poly-add.c
M clang/test/CodeGen/AArch64/poly128.c
M clang/test/CodeGen/AArch64/poly64.c
M clang/test/CodeGen/AArch64/v8.1a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/AArch64/v8.6a-neon-intrinsics.c
M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
M clang/test/CodeGen/arm-bf16-getset-intrinsics.c
M clang/test/CodeGen/arm-neon-directed-rounding.c
M clang/test/CodeGen/arm-neon-fma.c
M clang/test/CodeGen/arm-neon-numeric-maxmin.c
M clang/test/CodeGen/arm-neon-vcvtX.c
M clang/test/CodeGen/arm-neon-vst.c
M clang/test/CodeGen/arm64-vrnd-constrained.c
M clang/test/CodeGen/arm64-vrnd.c
M clang/test/CodeGen/arm64_vcreate.c
M clang/test/CodeGen/arm64_vdupq_n_f64.c
M clang/test/CodeGen/arm_neon_intrinsics.c
M clang/utils/TableGen/NeonEmitter.cpp
A llvm/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.ll
Log Message:
-----------
[AARCH64][Neon] switch to using bitcasts in arm_neon.h where appropriate (#127043)
Currently arm_neon.h emits C-style casts to do vector type casts. This
relies on implicit conversion between vector types to be enabled, which
is currently deprecated behaviour and soon will disappear. To ensure
NEON code will keep working afterwards, this patch changes all this
vector type casts into bitcasts.
Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Commit: e47d3a30881794c99a6de3aa9adc806bf3dc79f6
https://github.com/llvm/llvm-project/commit/e47d3a30881794c99a6de3aa9adc806bf3dc79f6
Author: Peter Smith <peter.smith at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Thunks.cpp
M lld/test/ELF/aarch64-call26-thunk.s
M lld/test/ELF/aarch64-cortex-a53-843419-thunk.s
M lld/test/ELF/aarch64-jump26-thunk.s
M lld/test/ELF/aarch64-range-thunk-extension-plt32.s
A lld/test/ELF/aarch64-thunk-align.s
M lld/test/ELF/aarch64-thunk-bti-multipass.s
M lld/test/ELF/aarch64-thunk-bti.s
Log Message:
-----------
[LLD][AArch64] Increase alignment of AArch64AbsLongThunk to 8 (#133738)
This permits an AArch64AbsLongThunk to be used in an environment where
unaligned accesses are disabled.
The AArch64AbsLongThunk does a load of an 8-byte address. When unaligned
accesses are disabled this address must be 8-byte aligned.
The vast majority of AArch64 systems will have unaligned accesses
enabled in userspace. However, after a reset, before the MMU has been
enabled, all memory accesses are to "device" memory, which requires
aligned accesses. In systems with multi-stage boot loaders a thunk may
be required to a later stage before the MMU has been enabled.
As we only want to increase the alignment when the ldr is used we delay
the increase in thunk alignment until we know we are going to write an
ldr. We also need to account for the ThunkSection alignment increase
when this happens.
In some of the test updates, particularly those with shared CHECK lines
with position independent thunks it was easier to ensure that the thunks
started at an 8-byte aligned address in all cases.
Commit: 197ead75fb7a3c57f7a41cdbcff48ef3841e3832
https://github.com/llvm/llvm-project/commit/197ead75fb7a3c57f7a41cdbcff48ef3841e3832
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86] splitVector - split concat_vectors(a,b,c,d) -> concat_vectors(a,b) + concat_vectors(c,d) (#133753)
Similar to what we already for build_vectors during subvector extraction, when splitting concat_vectors nodes, attempt to create a pair of half size concat_vectors nodes to see if these can fold.
Commit: da5fb4213ff210f0d49c4ec837b72997cb9e69f5
https://github.com/llvm/llvm-project/commit/da5fb4213ff210f0d49c4ec837b72997cb9e69f5
Author: Nathan Gauër <brioche at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
Log Message:
-----------
[Clang][SPIR-V] Fix convergence tokens for dtor (#133469)
Destructor calls were emitted without convergence intrinsics when building for SPIR-V, which means invalid IR since we
mixed controlled and non-controlled convergence.
Commit: 7581cb68f9fbff7a4628da594580d81a803129ee
https://github.com/llvm/llvm-project/commit/7581cb68f9fbff7a4628da594580d81a803129ee
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/tools/lldb-server/lldb-platform.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Remove lldb-server min and max gdbserver port options (#133275)
Since lldb 20, these have had no effect:
https://releases.llvm.org/20.1.0/docs/ReleaseNotes.html#changes-to-lldb
> lldb-server now listens to a single port for gdbserver connections and
> provides that port to the connection handler processes. This means
that
> only 2 ports need to be opened in the firewall (one for the
lldb-server
> platform, one for gdbserver connections). In addition, due to this
work,
lldb-server now works on Windows in the server mode.
Remove them.
Commit: dca7e0370e9684c00d95fb810c4efd31af0a3a9f
https://github.com/llvm/llvm-project/commit/dca7e0370e9684c00d95fb810c4efd31af0a3a9f
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
Log Message:
-----------
[lldb] add --platform-available-ports option to the dotest.py (#112555)
This patch adds --platform-available-ports option to the dotest.py
script to avoid hardcoded gdb ports in lldb testsuite.
Currently, this option could be helpful in GdbRemoteTestCases (e.g.
TestLldbGdbServer, TestNonStop, TestGdbRemoteThreadsInStopReply,
TestGdbRemotePlatformFile, TestGdbRemote_vCont)
Commit: e17d864f55133d46e12614280951ddb2dc43cc74
https://github.com/llvm/llvm-project/commit/e17d864f55133d46e12614280951ddb2dc43cc74
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
M flang/test/Lower/OpenMP/target.f90
A flang/test/Lower/OpenMP/task-depend-array-section.f90
M flang/test/Lower/OpenMP/task.f90
Log Message:
-----------
[flang][OpenMP][Lower] lower array subscripts for task depend (#132994)
The OpenMP standard says that all dependencies in the same set of
inter-dependent tasks must be non-overlapping. This simplification means
that the OpenMP only needs to keep track of the base addresses of
dependency variables. This can be seen in kmp_taskdeps.cpp, which stores
task dependency information in a hash table, using the base address as a
key.
This patch generates a rebox operation to slice boxed arrays, but only
the box data address is used for the task dependency. The extra box is
optimized away by LLVM at O3.
Vector subscripts are TODO (I will address in my next patch).
This also fixes a bug for ordinary subscripts when the symbol was mapped
to a box:
Fixes #132647
Commit: 66fca0674d83254c70af4a6289496b8acc4377df
https://github.com/llvm/llvm-project/commit/66fca0674d83254c70af4a6289496b8acc4377df
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M offload/DeviceRTL/src/Workshare.cpp
Log Message:
-----------
[OpenMP] Fix num_iters in __kmpc_*_loop DeviceRTL functions (#133435)
This patch removes the addition of 1 to the number of iterations when
calling the following DeviceRTL functions:
- `__kmpc_distribute_for_static_loop*`
- `__kmpc_distribute_static_loop*`
- `__kmpc_for_static_loop*`
Calls to these functions are currently only produced by the OMPIRBuilder
from flang, which already passes the correct number of iterations to
these functions. By adding 1 to the received `num_iters` variable,
worksharing can produce incorrect results. This impacts flang OpenMP
offloading of `do`, `distribute` and `distribute parallel do`
constructs.
Expecting the application to pass `tripcount - 1` as the argument seems
unexpected as well, so rather than updating flang I think it makes more
sense to update the runtime.
Commit: 7f14b2a9eb4792155ed31da7bc16cc58cbb1b0fc
https://github.com/llvm/llvm-project/commit/7f14b2a9eb4792155ed31da7bc16cc58cbb1b0fc
Author: Shoreshen <372660931 at qq.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-mul24.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
R llvm/test/CodeGen/AMDGPU/narrow_math_for_and.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
Log Message:
-----------
Revert "[AMDGPU][CodeGenPrepare] Narrow 64 bit math to 32 bit if profitable" (#133880)
Reverts llvm/llvm-project#130577
Commit: 337bad3921356fba89409e03793f7d2df846c0e9
https://github.com/llvm/llvm-project/commit/337bad3921356fba89409e03793f7d2df846c0e9
Author: Afanasyev Ivan <ivafanas at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/EarlyIfConversion.cpp
A llvm/test/CodeGen/AArch64/early-ifcvt-on-double-killed-reg.mir
A llvm/test/CodeGen/Hexagon/early-if-predicator-reg-killed-everywhere.mir
Log Message:
-----------
[EarlyIfConverter] Fix reg killed twice after early-if-predicator and ifcvt (#133554)
Bug relates to `early-if-predicator` and `early-ifcvt` passes. If
virtual register has "killed" flag in both basic blocks to be merged
into head, both instructions in head basic block will have "killed" flag
for this register. It makes MIR incorrect.
Example:
```
bb.0: ; if
...
%0:intregs = COPY $r0
J2_jumpf %2, %bb.2, implicit-def dead $pc
J2_jump %bb.1, implicit-def dead $pc
bb.1: ; if.then
...
S4_storeiri_io killed %0, 0, 1
J2_jump %bb.3, implicit-def dead $pc
bb.2: ; if.else
...
S4_storeiri_io killed %0, 0, 1
J2_jump %bb.3, implicit-def dead $pc
```
After early-if-predicator will become:
```
bb.0:
%0:intregs = COPY $r0
S4_storeirif_io %1, killed %0, 0, 1
S4_storeirit_io %1, killed %0, 0, 1
```
Having `killed` flag set twice in bb.0 for `%0` is an incorrect MIR.
Commit: 4a687024559d5ef10abe6ed10555c5f5c2cfcb40
https://github.com/llvm/llvm-project/commit/4a687024559d5ef10abe6ed10555c5f5c2cfcb40
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/XRayInstrumentation.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/XRayInstrumentation.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/X86/xray-empty-firstmbb.mir
M llvm/test/CodeGen/X86/xray-multiplerets-in-blocks.mir
Log Message:
-----------
[CodeGen][NPM] Port XRayInstrumentation to NPM (#129865)
Commit: 518102f2592e8b1d4f74510b97cb2d0e2bb1d66a
https://github.com/llvm/llvm-project/commit/518102f2592e8b1d4f74510b97cb2d0e2bb1d66a
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
M clang/test/CodeGen/arm-neon-directed-rounding-constrained.c
M clang/test/CodeGen/arm-poly-add.c
M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.6a-neon-intrinsics.c
Log Message:
-----------
Fix test failures caused by #127043 (#133895)
Commit: b0a79065178db615b9aaff50337185ad8ee78054
https://github.com/llvm/llvm-project/commit/b0a79065178db615b9aaff50337185ad8ee78054
Author: offsetof <offsetof at mailo.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/test/SemaCXX/invalid-std-initializer-list.cpp
Log Message:
-----------
[clang] Fix crash on invalid `std::initializer_list<T>` template-id (#132284)
In `Sema::BuildStdInitializerList`, check that the synthesized
template-id `std::initializer_list<T>` is valid (which might not be the
case if the template has associated constraints or subsequent parameters
with default arguments) before forming the type.
Fixes #132256
Commit: 19a319667b567a26a20f9829a0ae7e6a5c259cba
https://github.com/llvm/llvm-project/commit/19a319667b567a26a20f9829a0ae7e6a5c259cba
Author: Alexey Moksyakov <alexey.moksyakov at huawei.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
A bolt/test/AArch64/jmp-table-unsupported.s
Log Message:
-----------
[bolt][aarch64] Adding test with unsupported indirect branches (#127655)
This test contains the set of common indirect branch patterns.
Adding the support will be step by step
Commit: 1d9ad99305753a11a28e61edb130d9c63859f42e
https://github.com/llvm/llvm-project/commit/1d9ad99305753a11a28e61edb130d9c63859f42e
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/IR/Block.cpp
M mlir/lib/Transforms/Utils/InliningUtils.cpp
Log Message:
-----------
[mlir] Use llvm::hasSingleElement (NFC) (#133881)
Commit: 13a313fe582a3c41fb5c50ca2325c0987c0af6d7
https://github.com/llvm/llvm-project/commit/13a313fe582a3c41fb5c50ca2325c0987c0af6d7
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libclc/CMakeLists.txt
A libclc/clc/include/clc/math/clc_cospi.h
A libclc/clc/include/clc/math/clc_native_divide.h
A libclc/clc/include/clc/math/clc_native_recip.h
M libclc/clc/include/clc/math/clc_sincos_helpers.inc
A libclc/clc/include/clc/math/clc_sincos_piby4.h
A libclc/clc/include/clc/math/clc_sincos_piby4.inc
A libclc/clc/include/clc/math/clc_sinpi.h
A libclc/clc/include/clc/math/clc_tanpi.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_cospi.cl
A libclc/clc/lib/generic/math/clc_cospi.inc
A libclc/clc/lib/generic/math/clc_native_divide.cl
A libclc/clc/lib/generic/math/clc_native_divide.inc
A libclc/clc/lib/generic/math/clc_native_recip.cl
A libclc/clc/lib/generic/math/clc_native_recip.inc
M libclc/clc/lib/generic/math/clc_sincos_helpers.cl
M libclc/clc/lib/generic/math/clc_sincos_helpers.inc
A libclc/clc/lib/generic/math/clc_sinpi.cl
A libclc/clc/lib/generic/math/clc_sinpi.inc
A libclc/clc/lib/generic/math/clc_tanpi.cl
A libclc/clc/lib/generic/math/clc_tanpi.inc
M libclc/clspv/lib/SOURCES
M libclc/generic/lib/SOURCES
M libclc/generic/lib/math/clc_tan.cl
R libclc/generic/lib/math/clc_tanpi.cl
M libclc/generic/lib/math/cospi.cl
M libclc/generic/lib/math/native_divide.cl
R libclc/generic/lib/math/native_divide.inc
M libclc/generic/lib/math/native_recip.cl
R libclc/generic/lib/math/native_recip.inc
R libclc/generic/lib/math/sincosD_piby4.h
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
R libclc/generic/lib/math/sincospiF_piby4.h
M libclc/generic/lib/math/sinpi.cl
M libclc/generic/lib/math/tanpi.cl
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move sinpi/cospi/tanpi to the CLC library (#133889)
Additionally, these builtins are now vectorized.
This also moves the native_recip and native_divide builtins as they are
used by the tanpi builtin.
Commit: 191e0622e84a215c1d632412561c2fe6ccd86170
https://github.com/llvm/llvm-project/commit/191e0622e84a215c1d632412561c2fe6ccd86170
Author: Lang Hames <lhames at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ptrauth_noolloc_sections.yaml
Log Message:
-----------
[JITLink][MachO][arm64] Don't lower ptrauth edges in noalloc-lifetime sections.
Ptrauth relocations can only be fixed up in the executing process, but noalloc
sections do not have any memory in the executing process. Failure to skip
ptrauth edges results in signing instructions that operate on invalid addresses,
leading to segfaults or data corruption.
Ignoring noalloc sections for ptrauth lowering purposes allows the ptrauth
edges to persist until they reach the applyFixup method, at which point they
raise a useful error and cleanly terminate linking.
Commit: 290d7b82cb5d3fd9fb433ede0eef7f3a524d89cd
https://github.com/llvm/llvm-project/commit/290d7b82cb5d3fd9fb433ede0eef7f3a524d89cd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.h
Log Message:
-----------
llvm-reduce: Prune some unneeded includes and forward declares (#133883)
Commit: 41b83b48e37aa0c7f9e0458638567f37d6dbc924
https://github.com/llvm/llvm-project/commit/41b83b48e37aa0c7f9e0458638567f37d6dbc924
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-args.c
Log Message:
-----------
No longer assert on incorrect attribute argument index (#133766)
Fixes an assertion when referencing an out-of-bounds parameter via a
function attribute whose argument list refers to parameters by index and
the function is variadic. e.g.,
__attribute__ ((__format_arg__(2))) void test (int i, ...) { }
Fixes #61635
Commit: ba7feaab92ca807419de6f2b80dda2a1d1759d97
https://github.com/llvm/llvm-project/commit/ba7feaab92ca807419de6f2b80dda2a1d1759d97
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][Docs] Fix and update AMDGPUUsage.rst (#133894)
- Fix notes about SALU float and src1 SGPRs for dpp instructions
- Add split between gfx11 and gfx12 sections, update references.
Commit: c192737009584377d99b18bfbc8298c8e58bcd02
https://github.com/llvm/llvm-project/commit/c192737009584377d99b18bfbc8298c8e58bcd02
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Log Message:
-----------
[LLVM][InstCombine][AArch64] Refactor common SVE intrinsic combines. (#126928)
Introduce SVEIntrinsicInfo to store properties common across SVE
intrinsics. This allows a seperation between intrinsic IDs and the
transformations that can be applied to them, which reduces the layering
problems we hit when adding new combines.
This PR is mostly refactoring to bring in the concept and port the most
common combines (e.g. dead code when all false). This will be followed
up with new combines where I plan to reuse much of the existing
instruction simplifcation logic to significantly improve our ability to
constant fold SVE intrinsics.
Commit: 8f56394487a4d454be0637667267ad37bd636d0f
https://github.com/llvm/llvm-project/commit/8f56394487a4d454be0637667267ad37bd636d0f
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Interpreter/Wasm.h
Log Message:
-----------
[clang-repl] Implement LoadDynamicLibrary for clang-repl wasm use cases (#133037)
**Currently we don't make use of the JIT for the wasm use cases so the
approach using the execution engine won't work in these cases.**
Rather if we use dlopen. We should be able to do the following
(demonstrating through a toy project)
1) Make use of LoadDynamicLibrary through the given implementation
```
extern "C" EMSCRIPTEN_KEEPALIVE int load_library(const char *name) {
auto Err = Interp->LoadDynamicLibrary(name);
if (Err) {
llvm::logAllUnhandledErrors(std::move(Err), llvm::errs(), "load_library error: ");
return -1;
}
return 0;
}
```
2) Add a button to call load_library once the library has been added in
our MEMFS (currently we have symengine built as a SIDE MODULE and we are
loading it)
Commit: 6892d5428600113dade7b4ecf6b70bbab3198c90
https://github.com/llvm/llvm-project/commit/6892d5428600113dade7b4ecf6b70bbab3198c90
Author: Virginia Cangelosi <virginia.cangelosi at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
A clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_1x1.ll
Log Message:
-----------
[Clang][LLVM] Implement single-single vectors MOP4{A/S} (#127797)
Implement all single-single {BF/F/S/U/SU/US}MOP4{A/S} instructions in
clang and llvm following the acle in
https://github.com/ARM-software/acle/pull/381/files
Commit: a338f80ddcb97edd275c8bf949b1fab0c7d1049e
https://github.com/llvm/llvm-project/commit/a338f80ddcb97edd275c8bf949b1fab0c7d1049e
Author: Pablo Antonio Martinez <pablo.antonio.martinez at huawei.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
A mlir/test/Dialect/Linalg/transform-op-linalg-copy-to-memref.mlir
Log Message:
-----------
[mlir][Linalg] Add transform to convert linalg.copy into memref.copy (#132422)
Targeted rewrite of a linalg.copy on memrefs to a memref.copy.
This is useful when bufferizing copies to a linalg.copy, applying some
transformations, and then rewriting the copy into a memref.copy.
If the element types of the source and destination differ, or if the
source is a scalar, the transform produces a silenceable failure.
Commit: 2c0b888359c6c5976054bb423ba1d7b37bae9f1a
https://github.com/llvm/llvm-project/commit/2c0b888359c6c5976054bb423ba1d7b37bae9f1a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
Log Message:
-----------
[X86] combineX86ShuffleChain - prefer combining to X86ISD::SHUF128 if PERMQ operands are splittable (#133900)
If the 512-bit unary shuffle is a concatenation of 128/256-bit subvectors then we're better off using a X86ISD::SHUF128 node so we can fold the concatenation into the shuffle as well.
Commit: 3a66760d9b0aa9ec31df591e87dbf0dedb4c466d
https://github.com/llvm/llvm-project/commit/3a66760d9b0aa9ec31df591e87dbf0dedb4c466d
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/reduction-crash.ll
Log Message:
-----------
[LV] Improve a test, regen with UTC (#130092)
Commit: a1e041b64648789897c96eca5d6270e253773d16
https://github.com/llvm/llvm-project/commit/a1e041b64648789897c96eca5d6270e253773d16
Author: Samuel Tebbs <samuel.tebbs at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
Log Message:
-----------
[NFC][AArch64] Pre-commit high register pressure dot product test
Commit: 1ebc308bba0e1403b9fb3ba0fbadc66e182138e0
https://github.com/llvm/llvm-project/commit/1ebc308bba0e1403b9fb3ba0fbadc66e182138e0
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/test/Integration/debug-local-var-2.f90
M llvm/docs/LangRef.rst
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/lib/IRPrinter/IRPrintingPasses.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
M llvm/test/Bitcode/DIExpression-aggresult.ll
A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll
A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll.bc
M llvm/test/Bitcode/dbg-label-record-bc.ll
M llvm/test/Bitcode/dbg-record-roundtrip.ll
M llvm/test/Bitcode/upgrade-dbg-addr.ll
M llvm/test/CodeGen/Generic/MIRDebugify/locations-and-values.mir
M llvm/test/DebugInfo/X86/undef-dbg-val.ll
R llvm/test/DebugInfo/print-non-instruction-debug-info.ll
R llvm/test/DebugInfo/roundtrip-non-instruction-debug-info.ll
M llvm/test/DebugInfo/salvage-cast-debug-info.ll
M llvm/test/Transforms/GlobalOpt/localize-constexpr-debuginfo.ll
M llvm/test/Transforms/Scalarizer/dbginfo.ll
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.globals.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.noglobals.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.transitiveglobals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.noglobals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.transitiveglobals.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/various_ir_values.test
M llvm/test/tools/llvm-reduce/remove-dp-values.ll
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
M mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
M mlir/test/lib/Dialect/Test/TestToLLVMIRTranslation.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Remove debug-intrinsic printing cmdline options (#131855)
During the transition from debug intrinsics to debug records, we used
several different command line options to customise handling: the
printing of debug records to bitcode and textual could be independent of
how the debug-info was represented inside a module, whether the
autoupgrader ran could be customised. This was all valuable during
development, but now that totally removing debug intrinsics is coming
up, this patch removes those options in favour of a single flag
(experimental-debuginfo-iterators), which enables autoupgrade, in-memory
debug records, and debug record printing to bitcode and textual IR.
We need to do this ahead of removing the
experimental-debuginfo-iterators flag, to reduce the amount of
test-juggling that happens at that time.
There are quite a number of weird test behaviours related to this --
some of which I simply delete in this commit. Things like
print-non-instruction-debug-info.ll , the test suite now checks for
debug records in all tests, and we don't want to check we can print as
intrinsics. Or the update_test_checks tests -- these are duplicated with
write-experimental-debuginfo=false to ensure file writing for intrinsics
is correct, but that's something we're imminently going to delete.
A short survey of curious test changes:
* free-intrinsics.ll: we don't need to test that debug-info is a zero
cost intrinsic, because we won't be using intrinsics in the future.
* undef-dbg-val.ll: apparently we pinned this to non-RemoveDIs in-memory
mode while we sorted something out; it works now either way.
* salvage-cast-debug-info.ll: was testing intrinsics-in-memory get
salvaged, isn't necessary now
* localize-constexpr-debuginfo.ll: was producing "dead metadata"
intrinsics for optimised-out variable values, dbg-records takes the
(correct) representation of poison/undef as an operand. Looks like we
didn't update this in the past to avoid spurious test differences.
* Transforms/Scalarizer/dbginfo.ll: this test was explicitly testing
that debug-info affected codegen, and we deferred updating the tests
until now. This is just one of those silent gnochange issues that get
fixed by RemoveDIs.
Finally: I've added a bitcode test, dbg-intrinsics-autoupgrade.ll.bc,
that checks we can autoupgrade debug intrinsics that are in bitcode into
the new debug records.
Commit: bcf0f8d8aa27910545762e2cc7733a11a00954d0
https://github.com/llvm/llvm-project/commit/bcf0f8d8aa27910545762e2cc7733a11a00954d0
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_exp10.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_exp10.cl
A libclc/clc/lib/generic/math/clc_exp10.inc
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/clspv/lib/SOURCES
M libclc/generic/lib/SOURCES
R libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/exp10.cl
M libclc/generic/lib/math/tables.cl
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move exp10 to the CLC library (#133899)
The builtin was already nominally in the CLC library; this commit just
moves it over. It also vectorizes the builtin on its way.
Commit: 513a91a5f155746c7323a555a6e5ad0505627ca7
https://github.com/llvm/llvm-project/commit/513a91a5f155746c7323a555a6e5ad0505627ca7
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Runtime/extensions.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
A flang/test/Lower/Intrinsics/perror.f90
Log Message:
-----------
[flang/flang-rt] Implement PERROR intrinsic form GNU Extension (#132406)
Add the implementation of the `PERROR(STRING) ` intrinsic from the GNU
Extension to prints on the stderr a newline-terminated error message
corresponding to the last system error prefixed by `STRING`.
(https://gcc.gnu.org/onlinedocs/gfortran/PERROR.html)
Commit: 15cfe4a77495a6053cc9818247fe520da2bb3e5f
https://github.com/llvm/llvm-project/commit/15cfe4a77495a6053cc9818247fe520da2bb3e5f
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
A mlir/test/Target/LLVMIR/Import/call-attributes.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR] Adding 'no_inline' and 'always_inline' attributes on LLMV::CallOp (#133726)
Addition of `no_inline` and `always_inline` attributes for CallOps in
MLIR in order to be able to inline or not directly the call of a
function without having the attribute on the `FuncOp`.
The addition of these attributes will be used in a future PR in Flang
(`[NO]INLINE` directive).
Commit: c1efd8b663b7db3c717fae8a1991dcc4b8304c8f
https://github.com/llvm/llvm-project/commit/c1efd8b663b7db3c717fae8a1991dcc4b8304c8f
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
R libclc/generic/include/math/clc_exp10.h
R libclc/generic/include/math/clc_tanpi.h
Log Message:
-----------
[libclc][NFC] Delete two unused headers
These should have been deleted when the respective builtins were moved
to the CLC library.
Commit: e92ff64bad38835a497f9eb928967bca6a295b28
https://github.com/llvm/llvm-project/commit/e92ff64bad38835a497f9eb928967bca6a295b28
Author: Virginia Cangelosi <virginia.cangelosi at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
M clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M clang/utils/TableGen/SveEmitter.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_1x2.ll
Log Message:
-----------
[Clang][LLVM] Implement single-multi vectors MOP4{A/S} (#128854)
Implement all single-multi {BF/F/S/U/SU/US}MOP4{A/S} instructions in
clang and llvm following the acle in
https://github.com/ARM-software/acle/pull/381/files.
This PR depends on https://github.com/llvm/llvm-project/pull/127797
This patch updates the semantics of template arguments in intrinsic
names for clarity and ease of use. Previously, template argument numbers
indicated which character in the prototype string determined the final
type suffix, which was confusing—especially for intrinsics using
multiple prototype modifiers per operand (e.g., intrinsics operating on
arrays of vectors). The number had to reference the correct character in
the prototype (e.g., the ‘u’ in “2.u”), making the system cumbersome and
error-prone.
With this patch, template argument numbers now refer to the operand
number that determines the final type suffix, providing a more intuitive
and consistent approach.
Commit: 173eb32b756ad62c4243e6631198cd22fc079cef
https://github.com/llvm/llvm-project/commit/173eb32b756ad62c4243e6631198cd22fc079cef
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Construct SmallVector with ArrayRef (NFC) (#133860)
Commit: c30776ab9a1404adff6022c65b92fb8cd3cfc097
https://github.com/llvm/llvm-project/commit/c30776ab9a1404adff6022c65b92fb8cd3cfc097
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
Log Message:
-----------
[AArch64] Use ArrayRef::slice (NFC) (#133862)
Commit: 664745cf381b4a153b16ef9e38d3e01dbb1e7d4f
https://github.com/llvm/llvm-project/commit/664745cf381b4a153b16ef9e38d3e01dbb1e7d4f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512-vselect.ll
Log Message:
-----------
[X86] avx512-vselect.ll - regenerate VPTERNLOG comments
Commit: 8741412bdfc0a60719f116add7d828694ef48c02
https://github.com/llvm/llvm-project/commit/8741412bdfc0a60719f116add7d828694ef48c02
Author: lntue <lntue at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/math/CMakeLists.txt
A libc/src/math/atan2f128.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/atan2f128.cpp
M libc/src/math/generic/atan_utils.h
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/atan2f128_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/atan2f128_test.cpp
Log Message:
-----------
[libc][math] Implement a fast pass for atan2f128 with 1ULP error using DyadicFloat<128>. (#133150)
Part of https://github.com/llvm/llvm-project/issues/131642.
Commit: 19fb4b04a605c4a5759c72f61e8e5f5cac406a0b
https://github.com/llvm/llvm-project/commit/19fb4b04a605c4a5759c72f61e8e5f5cac406a0b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Validate the end of register ranges in Zcmp register lists. (#133866)
We were only checking that the last register was a register, not that it
was a legal register for a register list. This caused the encoder
function to hit an llvm_unreachable.
The error messages are not good, but this only one of multiple things
that need to be fixed in this function. I'll focus on error messages
later once I have the other issues fixed.
Commit: 4e6c48f1e74c46e62342f24ac879fd32d9a6c783
https://github.com/llvm/llvm-project/commit/4e6c48f1e74c46e62342f24ac879fd32d9a6c783
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Merge RegStart with RegEnd in parseRegListCommon. NFC (#133867)
We only need to keep track of the last register seen. We never need the
first register once we've parsed. Currently if s0/x8 is used RegStart
will point to that and not ra/s1 so it already isn't the start.
Commit: 1ab3a4f234e38904f9935d02a696a52d1e5dff71
https://github.com/llvm/llvm-project/commit/1ab3a4f234e38904f9935d02a696a52d1e5dff71
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
Log Message:
-----------
[flang-rt][NFC] Work around CTK12.8 compilation failure. (#133833)
It happened in https://lab.llvm.org/buildbot/#/builders/152/builds/1131
when the buildbot was switched from CTK12.3 to CTK12.8.
The logs are gone by now, so the above link is useless.
The error was:
error: ‘auto’ not permitted in template argument
This workaround helps, but I also reported the issue to NVCC devs.
Commit: aa73124e51d89a22b2ba89380d3a1403e4f1c385
https://github.com/llvm/llvm-project/commit/aa73124e51d89a22b2ba89380d3a1403e4f1c385
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CodeGen/promoted-complex-div.c
Log Message:
-----------
Fix complex long double division with -mno-x87. (#133152)
The combination of `-fcomplex-arithmetic=promoted` and `mno-x87` for
`double` complex division is leading to a crash.
See https://godbolt.org/z/189G957oY
This patch fixes that.
Commit: 664e847916ff7329da9e5295ecc17ec169e647eb
https://github.com/llvm/llvm-project/commit/664e847916ff7329da9e5295ecc17ec169e647eb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-operands-to-args-token.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix invalid reduction on tokens in operands-to-args (#133855)
Commit: ac55688482637ce625edaa8a25ad6eced8992a22
https://github.com/llvm/llvm-project/commit/ac55688482637ce625edaa8a25ad6eced8992a22
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-operands-skip-token.ll
Log Message:
-----------
llvm-reduce: Add test for token handling in operands-skip (#133857)
Seems to work correctly but wasn't tested.
Commit: 4cb41d136cd4e2caef724e35b337f888036f8645
https://github.com/llvm/llvm-project/commit/4cb41d136cd4e2caef724e35b337f888036f8645
Author: David Green <david.green at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/andorxor.ll
M llvm/test/CodeGen/AArch64/bitcast-promote-widen.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/extract-subvec-combine.ll
M llvm/test/CodeGen/AArch64/neon-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
M llvm/test/CodeGen/AArch64/zext.ll
Log Message:
-----------
[AArch64] Prefer zip over ushll for anyext. (#133433)
Many CPUs have a higher throughput of ZIP instructions vs USHLL. This
adds some tablegen patterns for preferring zip in anyext patterns.
Commit: a8a33bab69ccdeca9b0e1e6730ad17230431d2ab
https://github.com/llvm/llvm-project/commit/a8a33bab69ccdeca9b0e1e6730ad17230431d2ab
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizerWrapper.h
M llvm/unittests/Target/SPIRV/SPIRVConvergenceRegionAnalysisTests.cpp
Log Message:
-----------
[NFC][SPIRV] Misc code cleanup in SPIRV Target (#133764)
- Use static instead of anonymous namespace for file local functions.
- Enclose file-local classes in anonymous namespace.
- Eliminate `llvm::` qualifier when file has `using namespace llvm`.
- Eliminate namespace surrounding entire code in
SPIRVConvergenceRegionAnalysis.cpp file.
- Eliminate call to `initializeSPIRVStructurizerPass` from the pass
constructor (https://github.com/llvm/llvm-project/issues/111767)
Commit: 65ad6267e82f6d8532e4b9de4716bb8fdbdd9ac0
https://github.com/llvm/llvm-project/commit/65ad6267e82f6d8532e4b9de4716bb8fdbdd9ac0
Author: lntue <lntue at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libc/test/src/math/atan2f128_test.cpp
Log Message:
-----------
[libc] Fix atan2f128 test for aarch64. (#133924)
Commit: 58551faaf130de52f574b15d053eca1afc83b82b
https://github.com/llvm/llvm-project/commit/58551faaf130de52f574b15d053eca1afc83b82b
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/test/Transforms/simplify-fir-operations.fir
Log Message:
-----------
[flang] Inline fir.is_contiguous_box in some cases. (#133812)
Added inlining for `rank == 1` and `innermost` cases.
Commit: 66b540d861ecc5fef0fc398c9c3590c3a7dc6ff9
https://github.com/llvm/llvm-project/commit/66b540d861ecc5fef0fc398c9c3590c3a7dc6ff9
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A clang/test/C/C11/n1518.c
M clang/www/c_status.html
Log Message:
-----------
[C11] Claim conformance to WG14 N1518 (#133749)
This paper introduced ranges of valid start and continuation characters
for identifiers. C23 made further changes to these sets.
Commit: a03fce4e200d47b9133897b8f0d4688b30b42689
https://github.com/llvm/llvm-project/commit/a03fce4e200d47b9133897b8f0d4688b30b42689
Author: Doeke Wartena <clankill3r at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/README.md
Log Message:
-----------
Update README.md - fixed invalid json in example (#133890)
A period (`,`) is required or you get an error.
Commit: 179062b2dc9405a81cf44dbe676817806a4e7c6a
https://github.com/llvm/llvm-project/commit/179062b2dc9405a81cf44dbe676817806a4e7c6a
Author: Jeremy Kun <jkun at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] add alwayslink=True to mlir-runner utils (#133787)
MacOS platforms using mlir-runner in lit tests consistently hit the
following error:
```
# .---command stderr------------
# | JIT session error: Symbols not found: [ __mlir_ciface_printMemrefI32 ]
# | Error: Failed to materialize symbols: { (main, { __mlir_printMemrefI32, ... }) }
# `-----------------------------
```
https://github.com/google/heir/issues/1521#issuecomment-2751303404
confirms the issue is fixed by using `alwayslink` on these two targets,
and I confirmed on a separate Apple M1 (OSX version Sequoia 15.3.2.).
I'm not an expert on the mlir runner internals, but given the
mlir-runner is purely for testing, and alwayslink at worst adds some
overhead by not removing symbols, it seems low risk.
Commit: e8711436b3419cc9e0e8a70c6eb41dbb2a1bf132
https://github.com/llvm/llvm-project/commit/e8711436b3419cc9e0e8a70c6eb41dbb2a1bf132
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
Log Message:
-----------
[SCEV] Remove EqCacheSCEV (#133186)
This was added in https://reviews.llvm.org/D26389 to help with extremely
deep SCEV expressions.
However, this is wrong since we may cache sub-SCEVs to be equivalent
that CompareValueComplexity returned 0 due to hitting the max comparison
depth.
This also improves compile time in some compiles:
https://llvm-compile-time-tracker.com/compare.php?from=34fa037c4fd7f38faada5beedc63ad234e904247&to=e241ecf999f4dd42d4b951d4a5d4f8eabeafcff0&stat=instructions:u
Similar to #100721.
Fixes #130688.
Commit: 558ce50ebc31bbcd5ec5bfad0c0126adfde8bbb0
https://github.com/llvm/llvm-project/commit/558ce50ebc31bbcd5ec5bfad0c0126adfde8bbb0
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
M clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_2x1.ll
Log Message:
-----------
[Clang][LLVM] Implement multi-single vectors MOP4{A/S} (#129226)
Implement all multi-single {BF/F/S/U/SU/US}MOP4{A/S} instructions in clang and
llvm following the ACLE in https://github.com/ARM-software/acle/pull/381/files
Commit: 105c8c38dcb7fd6077c92c5e0f838c9b7ad9971e
https://github.com/llvm/llvm-project/commit/105c8c38dcb7fd6077c92c5e0f838c9b7ad9971e
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.h
M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
Log Message:
-----------
[MLIR][NFC] Retire let constructor for EmitC (#133732)
`let constructor` is legacy (do not use in tree!) since the tableGen
backend emits most of the glue logic to build a pass.
Commit: 7e25b240731413d2cfca2b78ab1d0ed33d851622
https://github.com/llvm/llvm-project/commit/7e25b240731413d2cfca2b78ab1d0ed33d851622
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/IRNormalizer.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Utils/IRNormalizer.cpp
A llvm/test/Transforms/IRNormalizer/pass-parameters.ll
M llvm/test/Transforms/IRNormalizer/reordering.ll
Log Message:
-----------
IRNormalizer: Replace cl::opts with pass parameters (#133874)
Not sure why the "fold-all" option naming didn't match the
variable "FoldPreOutputs", but I've preserved the difference.
More annoyingly, the pass name "normalize" does not match the pass
name IRNormalizer and should probably be fixed one way or the other.
Also the existing test coverage for the flags is lacking. I've added
a test that shows they parse, but we should have tests that they
do something.
Commit: 1f194ff34e4e861a18f7108c7874bccbd6459f30
https://github.com/llvm/llvm-project/commit/1f194ff34e4e861a18f7108c7874bccbd6459f30
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir-c/AffineExpr.h
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/CAPI/IR/AffineExpr.cpp
M mlir/test/python/ir/affine_expr.py
Log Message:
-----------
[mlir] Expose `simplifyAffineExpr` through python api (#133926)
Commit: 00e6d4fe064bb48e16c1eda018e6ed5e9f99cba9
https://github.com/llvm/llvm-project/commit/00e6d4fe064bb48e16c1eda018e6ed5e9f99cba9
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
R libclc/generic/lib/clc_unary.inc
R libclc/generic/lib/math/binary_impl.inc
R libclc/generic/lib/math/clc_sw_binary.inc
Log Message:
-----------
[libclc][NFC] Delete three unused .inc files
Commit: 4b19db6db965d95d7259e224f518c5404a7989ba
https://github.com/llvm/llvm-project/commit/4b19db6db965d95d7259e224f518c5404a7989ba
Author: Petr Hosek <phosek at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
A llvm/test/CodeGen/ARM/plt-relative-reloc.ll
R llvm/test/CodeGen/ARM/relative-reloc.ll
A llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
R llvm/test/CodeGen/RISCV/relative-reloc.ll
R llvm/test/CodeGen/X86/relative-reloc-32.ll
R llvm/test/CodeGen/X86/relative-reloc-64.ll
A llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
A llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll
Log Message:
-----------
Revert "AsmPrinter: Remove ELF's special lowerRelativeReference for unnamed_addr function" (#133935)
Reverts llvm/llvm-project#132684
Commit: dd1d41f833c9b28d8a940ba5a0b85b0d47e44e43
https://github.com/llvm/llvm-project/commit/dd1d41f833c9b28d8a940ba5a0b85b0d47e44e43
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] fix moveToVALU with proper subreg access in true16 (#132089)
There are V2S copies between vpgr16 and spgr32 in true16 mode. This is
caused by vgpr16 and sgpr32 both selectable by 16bit src in ISel.
When a V2S copy and its useMI are lowered to VALU, this patch check
1. If the generated new VALU is used by a true16 inst. Add subreg access
if necessary.
2. Legalize the V2S copy by replacing it to subreg_to_reg
an example MIR looks like:
```
%2:sgpr_32 = COPY %1:vgpr_16
%3:sgpr_32 = S_OR_B32 %2:sgpr_32, ...
%4:vgpr_16 = V_ADD_F16_t16 %3:sgpr_32, ...
```
currently lowered to
```
%2:vgpr_32 = COPY %1:vgpr_16
%3:vgpr_32 = V_OR_B32 %2:vgpr_32, ...
%4:vgpr_16 = V_ADD_F16_t16 %3:vgpr_32, ...
```
after this patch
```
%2:vgpr_32 = SUBREG_TO_REG 0, %1:vgpr_16, lo16
%3:vgpr_32 = V_OR_B32 %2:vgpr_32, ...
%4:vgpr_16 = V_ADD_F16_t16 %3.lo16:vgpr_32, ...
```
Commit: ec290a43f68b469197abce65949fde84ecdc9146
https://github.com/llvm/llvm-project/commit/ec290a43f68b469197abce65949fde84ecdc9146
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-externally-initialized.ll
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
Log Message:
-----------
llvm-reduce: Reduce externally_initialized (#133859)
Not sure this is the right place to put it. This is a property
of GlobalVariable, not GlobalValue. But the ReduceGlobalVars
reduction tries to delete the value entirely.
Commit: 347c5a7af5adfe81b79dd77f7f88c626b09e8534
https://github.com/llvm/llvm-project/commit/347c5a7af5adfe81b79dd77f7f88c626b09e8534
Author: jimingham <jingham at apple.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/bindings/python/python-wrapper.swig
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/source/Core/Module.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
A lldb/test/API/macosx/dsym_modules/Makefile
A lldb/test/API/macosx/dsym_modules/TestdSYMModuleInit.py
A lldb/test/API/macosx/dsym_modules/has_dsym.py
A lldb/test/API/macosx/dsym_modules/main.c
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
Add a new affordance that the Python module in a dSYM (#133290)
So the dSYM can be told what target it has been loaded into.
When lldb is loading modules, while creating a target, it will run
"command script import" on any Python modules in Resources/Python in the
dSYM. However, this happens WHILE the target is being created, so it is
not yet in the target list. That means that these scripts can't act on
the target that they a part of when they get loaded.
This patch adds a new python API that lldb will call:
__lldb_module_added_to_target
if it is defined in the module, passing in the Target the module was
being added to, so that code in these dSYM's don't have to guess.
Commit: 5c4302442bb07de01c533f6ec766cf14dfdf8b02
https://github.com/llvm/llvm-project/commit/5c4302442bb07de01c533f6ec766cf14dfdf8b02
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/lib/IR/Globals.cpp
A llvm/test/tools/llvm-reduce/reduce-code-model.ll
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
Log Message:
-----------
llvm-reduce: Reduce global variable code model (#133865)
The current API doesn't have a way to unset it. The query returns
an optional, but the set doesn't. Alternatively I could switch the
set to also use optional.
Commit: 69c5049826711022f40d7ce699ffe1d81c3e6f08
https://github.com/llvm/llvm-project/commit/69c5049826711022f40d7ce699ffe1d81c3e6f08
Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
Log Message:
-----------
[NFC][mlir] Update generate script for conv_3d_ncdhw_fcdhw (#133927)
https://github.com/llvm/llvm-project/pull/129547 changed the IR directly
without updating the auto generate script.
Signed-off-by: Nirvedh <nirvedh at gmail.com>
Commit: 25622aa745671d8d1885250f559c6dac0a8c2aeb
https://github.com/llvm/llvm-project/commit/25622aa745671d8d1885250f559c6dac0a8c2aeb
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
A mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
Log Message:
-----------
[mlir][AMDGPU] Add gfx950 MFMAs to the amdgpu.mfma op (#133553)
This commit extends the lowering of amdgpu.mfma to handle the new
double-rate MFMAs in gfx950 and adds tests for these operations.
It also adds support for MFMAs on small floats (f6 and f4), which are
implented using the "scaled" MFMA intrinsic with a scale value of 0 in
order to have an unscaled MFMA.
This commit does not add a `amdgpu.scaled_mfma` operation, as that is
future work.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: f60eed934493c2d0305d4d597d39813a12db42ef
https://github.com/llvm/llvm-project/commit/f60eed934493c2d0305d4d597d39813a12db42ef
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-target-features-attr.ll
M llvm/tools/llvm-reduce/CMakeLists.txt
M llvm/tools/llvm-reduce/DeltaManager.cpp
M llvm/tools/llvm-reduce/DeltaPasses.def
A llvm/tools/llvm-reduce/deltas/ReduceTargetFeaturesAttr.cpp
A llvm/tools/llvm-reduce/deltas/ReduceTargetFeaturesAttr.h
M llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
Log Message:
-----------
llvm-reduce: Add target-features-attr reduction (#133887)
Try to reduce individual subtarget features in the "target-features"
attribute. This attempts a textual removal of the fields in the string,
not a semantic removal. Typically there's a lot of redundant feature spam
in the feature list implied by the target-cpu (which I really wish clang
would stop emitting). If we could parse these out, we could easily drop
the fields without testing anything.
Commit: 75242a8a1d38815b5533c3951d5beceb8033d9fa
https://github.com/llvm/llvm-project/commit/75242a8a1d38815b5533c3951d5beceb8033d9fa
Author: Paul Bowen-Huggett <paulhuggett at mac.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/test/MC/Disassembler/RISCV/c_slli.txt
Log Message:
-----------
[RISCV] Fix the c_slli disassembler test (NFC) (#133921)
This change fixes the exhaustive text for the c.slli instruction so that
each hex pattern now appears only once. The problem was spotted
[here](https://github.com/llvm/llvm-project/pull/133713#discussion_r2021577609)
by @topperc (for which, thank you).
Commit: 01889de8e9b16eeed7ed9f6cdc18636ad20a01ac
https://github.com/llvm/llvm-project/commit/01889de8e9b16eeed7ed9f6cdc18636ad20a01ac
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/stop.cpp
M flang/include/flang/Runtime/stop.h
Log Message:
-----------
[flang][device] Enable Stop functions on device build (#133803)
Update `StopStatement` and `StopStatementText` to be build for the
device.
Commit: 7003f7d23aeca97b0301e605ed8b02436b38f789
https://github.com/llvm/llvm-project/commit/7003f7d23aeca97b0301e605ed8b02436b38f789
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A clang/test/Driver/Inputs/SYCL/bar.ll
A clang/test/Driver/Inputs/SYCL/baz.ll
A clang/test/Driver/Inputs/SYCL/foo.ll
A clang/test/Driver/Inputs/SYCL/libsycl.ll
M clang/test/Driver/clang-sycl-linker-test.cpp
A clang/test/Driver/link-device-code.test
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/tools/clang-sycl-linker/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
Log Message:
-----------
[clang-sycl-linker] Replace llvm-link with API calls (#133797)
This PR has the following changes:
Replace llvm-link with calls to linkInModule to link device files Add
-print-linked-module option to dump linked module for testing Added a
test to verify that linking is working as expected. We will eventually
move to using thin LTO for linking device inputs.
Thanks
---------
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: 602d05fbe89a5663a07dc51862409778bfe6fec6
https://github.com/llvm/llvm-project/commit/602d05fbe89a5663a07dc51862409778bfe6fec6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
llvm-reduce: Make myself maintainer (#133919)
Commit: f14ff59da7f98a405999bcc8481b20446de0d0cd
https://github.com/llvm/llvm-project/commit/f14ff59da7f98a405999bcc8481b20446de0d0cd
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_exp.h
A libclc/clc/include/clc/math/clc_exp2.h
A libclc/clc/include/clc/math/clc_exp_helper.h
A libclc/clc/include/clc/math/clc_exp_helper.inc
A libclc/clc/include/clc/math/clc_expm1.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_exp.cl
A libclc/clc/lib/generic/math/clc_exp.inc
A libclc/clc/lib/generic/math/clc_exp2.cl
A libclc/clc/lib/generic/math/clc_exp2.inc
A libclc/clc/lib/generic/math/clc_exp_helper.cl
A libclc/clc/lib/generic/math/clc_exp_helper.inc
A libclc/clc/lib/generic/math/clc_expm1.cl
A libclc/clc/lib/generic/math/clc_expm1.inc
M libclc/clspv/lib/SOURCES
M libclc/generic/lib/SOURCES
M libclc/generic/lib/math/exp.cl
M libclc/generic/lib/math/exp2.cl
R libclc/generic/lib/math/exp_helper.cl
R libclc/generic/lib/math/exp_helper.h
M libclc/generic/lib/math/expm1.cl
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move exp, exp2 and expm1 to the CLC library (#133932)
These all share the use of a common helper function so are handled in
one go. These builtins are also now vectorized.
Commit: 44b87e42066064d74f4a9c69ea02aa9558ca6a1a
https://github.com/llvm/llvm-project/commit/44b87e42066064d74f4a9c69ea02aa9558ca6a1a
Author: lntue <lntue at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libc/test/src/math/exhaustive/hypotf_test.cpp
Log Message:
-----------
[libc] Reduce the range of hypotf exhaustive test to be run automatically. (#133944)
The current setup of `hypotf` exhaustive tests might take days to
finish.
Commit: 9586117c3ab6f16883a646847cfa65b065ad4ae3
https://github.com/llvm/llvm-project/commit/9586117c3ab6f16883a646847cfa65b065ad4ae3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] Fix a warning
This patch fixes:
clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp:127:13: error:
function 'getMainExecutable' is not needed and will not be emitted
[-Werror,-Wunneeded-internal-declaration]
Commit: d8bf0398e5d5a9b9f7f186c0535a069055a03150
https://github.com/llvm/llvm-project/commit/d8bf0398e5d5a9b9f7f186c0535a069055a03150
Author: David Green <david.green at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
Log Message:
-----------
[AArch64] Use tablegen HasOneUse. NFC
Commit: 7d91c4f3eb689c0dc5ae95acbf321fec7e96cca7
https://github.com/llvm/llvm-project/commit/7d91c4f3eb689c0dc5ae95acbf321fec7e96cca7
Author: David Green <david.green at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
Log Message:
-----------
[ARM] Use tablegen HasOneUse. NFC
Commit: a30caa6a73286eabe22983ce5a7cca27a25d0790
https://github.com/llvm/llvm-project/commit/a30caa6a73286eabe22983ce5a7cca27a25d0790
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/CodeGen/WebAssembly/libcalls64.ll
Log Message:
-----------
[WebAssembly] Add missing tests from #133289 (#133938)
Commit: afa32d3e0e1a2dddfc76f2e9b80c4a6cc5a5387f
https://github.com/llvm/llvm-project/commit/afa32d3e0e1a2dddfc76f2e9b80c4a6cc5a5387f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/stop.cpp
Log Message:
-----------
[flang][cuda] Fix char argument
This would fail with `error: argument of type "char" is incompatible with parameter of type "const char *"`
Commit: bd7585bea3906aa2d288f7238382e99b8d5506eb
https://github.com/llvm/llvm-project/commit/bd7585bea3906aa2d288f7238382e99b8d5506eb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/test/MC/RISCV/rv32e-xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32e-zcmp-invalid.s
M llvm/test/MC/RISCV/rv64e-xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64e-zcmp-invalid.s
Log Message:
-----------
[RISCV] Improve error for using x18-x27 in a register list with RVE. (#133936)
matchRegisterNameHelper returns MCRegister() for RVE so the first RVE
check was dead.
For the second check, I've moved the RVE check from the comma parsing to
the identifier parsing so the diagnostic points at the register. Note
we're using matchRegisterName instead of matchRegisterNameHelper to
avoid allowing ABI names so we don't get the RVE check that lives inside
matchRegisterNameHelper.
The errors for RVE in general should probably say something other than
"invalid register", but that's a problem throughout the assembler.
Commit: 4d1c82742302e205071a89ff42c0e90e548e861c
https://github.com/llvm/llvm-project/commit/4d1c82742302e205071a89ff42c0e90e548e861c
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/MC/WasmObjectWriter.cpp
A llvm/test/MC/WebAssembly/lto-set-conditional.s
Log Message:
-----------
[WebAssembly] Support parsing .lto_set_conditional (#126546)
In the split-LTO-unit mode in ThinLTO, a compilation module is split
into two and global variables that meet a specific criteria is moved to
the split module.
https://github.com/llvm/llvm-project/blob/d21fc58aeeaa7f0369a24dbe70a0360e0edbf76f/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp#L315-L366
And if there is an originally local-linkage global value defined in the
original module and referenced in the split module or the vice versa,
that value is _promoted_ by attaching a module ID to their names in
order to prevent name clashes because now they can be referenced from
other modules.
https://github.com/llvm/llvm-project/blob/d21fc58aeeaa7f0369a24dbe70a0360e0edbf76f/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp#L46-L100
And when that promoted global value is a function, a
`.lto_set_conditional` entry is written to the original module to avoid
breaking references from inline assembly:
https://github.com/llvm/llvm-project/blob/d21fc58aeeaa7f0369a24dbe70a0360e0edbf76f/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp#L84-L91
The syntax of this is, if the original function name is `symbolA` and
the module ID is `123`,
```ll
module asm ".lto_set_conditional symbolA,symbolA.123"
```
These symbols are parsed here:
https://github.com/llvm/llvm-project/blob/648981f913431749c4656268ed670677a88511f6/llvm/lib/MC/MCParser/AsmParser.cpp#L6467
The first function symbol in this `.lto_set_conditional` do not exist as
a function in the bitcode anymore because it was renamed to the second.
So they are not assigned as function symbols but they are not really
data either, so the object writer crashes here:
https://github.com/llvm/llvm-project/blob/5b9e6c7993359c16b4d645c851bb7fe2fd7b78c7/llvm/lib/MC/WasmObjectWriter.cpp#L1820
This PR makes the object writer just skip those symbols.
---
This problem was discovered when I was testing with
`-fwhole-program-vtables`. The reason we didn't have this problem before
with ThinLTO was because `-fsplit-lto-unit`, which splits LTO units when
possible, defaults to false, but it defaults to true when
`-fwhole-program-vtables` is used.
Commit: 79487757b7f4b33a0940753fb02e39d0388e733a
https://github.com/llvm/llvm-project/commit/79487757b7f4b33a0940753fb02e39d0388e733a
Author: Virginia Cangelosi <virginia.cangelosi at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
M clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_2x2.ll
Log Message:
-----------
[Clang][LLVM] Implement multi-multi vectors MOP4{A/S} (#129230)
Implement all multi-multi {BF/F/S/U/SU/US}MOP4{A/S} instructions in
clang and llvm following the acle in
https://github.com/ARM-software/acle/pull/381/files
Commit: 2b064108ed55af510379edc81622983385c7977f
https://github.com/llvm/llvm-project/commit/2b064108ed55af510379edc81622983385c7977f
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
Fix a build error (#133957)
This fixes error reported in post-commit testing of
https://github.com/llvm/llvm-project/pull/133797
LOG: https://lab.llvm.org/buildbot/#/builders/140/builds/20266
Thanks
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: 0e3049c562ccdea288c3b1f3b3d1ce5992d284b0
https://github.com/llvm/llvm-project/commit/0e3049c562ccdea288c3b1f3b3d1ce5992d284b0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/cast-operand-extracted.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
Log Message:
-----------
[SLP]Support revectorization of the previously vectorized scalars
If the scalar instructions is marked for the vectorization in the tree,
it cannot be vectorized as part of the another node in the same tree, in
general. It may prevent some potentially profitable vectorization
opportunities, since some nodes end up being buildvector/gather nodes,
which add to the total cost.
Patch allows revectorization of the previously vectorized scalars.
Reviewers: hiraditya, RKSimon
Reviewed By: RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/133091
Commit: 1407f5bee9aa8e2a8a4fcab63ab0a3030a8b0dcf
https://github.com/llvm/llvm-project/commit/1407f5bee9aa8e2a8a4fcab63ab0a3030a8b0dcf
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
[mlir] Canonicalize extract_slice(unpack) (#133777)
Canonicalizes a chain of `linalg.unpack -> tensor.extract_slice` into a
`linalg.unpack` with reduced dest sizes. This will only happen when the
unpack op's only user is a non rank-reducing slice with zero offset and
unit strides.
---------
Signed-off-by: Max Dawkins <max.dawkins at gmail.com>
Signed-off-by: Max Dawkins <maxdawkins19 at gmail.com>
Co-authored-by: Max Dawkins <maxdawkins19 at gmail.com>
Commit: ac0649a75a60743faa16b77396db617587d45fea
https://github.com/llvm/llvm-project/commit/ac0649a75a60743faa16b77396db617587d45fea
Author: Mark Danial <mark.danial at ibm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M openmp/runtime/src/z_Linux_util.cpp
Log Message:
-----------
[OpenMP] [AIX] Add missing } in openmp/runtime/src/z_Linux_util.cpp (#133973)
Changes from https://github.com/llvm/llvm-project/pull/133034 removed a
`}` presumably accidentally that are causing failures in the AIX flang
bot.
Commit: 23fb048ce35f672d8db3f466a2522354bbce66e5
https://github.com/llvm/llvm-project/commit/23fb048ce35f672d8db3f466a2522354bbce66e5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M .ci/monolithic-linux.sh
Log Message:
-----------
[CI] Fix Monolithic Linux Build in Ubuntu 24.04 (#133628)
This patch fixes the monolithic linux build in Ubuntu 24.04. Newer
versions of debian/ubuntu pass a warning when installing packages at the
system level using pip as it interferes with system package manager
installed python packages. We do not use any system package manager
installed python packages, so we just ignore the warning (that is an
error without passing the flag) by passing the --break-system-packages
flag.
Commit: 4a73c99329ed36712a6faa8e37aa895cfeac23ce
https://github.com/llvm/llvm-project/commit/4a73c99329ed36712a6faa8e37aa895cfeac23ce
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Serialization/ASTWriterDecl.cpp
Log Message:
-----------
[clang][Modules] Fix the Size of `RecordDecl`'s `BitCodeAbbrevOp` (#133500)
https://github.com/llvm/llvm-project/pull/102040/files#diff-125f472e690aa3d973bc42aa3c5d580226c5c47661551aca2889f960681aa64dR2477
added 1 bit to `RecordDecl`'s serialization format, but did not
increment its abbreviation size.
This can lead to rare cases where a record may overflow if the
`RecordDecl`'s `getArgPassingRestrictions()` returns something bigger
than 1 (see
[here](https://github.com/llvm/llvm-project/blob/b3f01a6aa45b00240cec1c64286b85d7ba87e2af/clang/lib/Serialization/ASTWriterDecl.cpp#L688)).
rdar://143763558
Commit: 782e0cef762c1346396eb7dd75462f842be350e3
https://github.com/llvm/llvm-project/commit/782e0cef762c1346396eb7dd75462f842be350e3
Author: David Peixotto <peix at meta.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/intelpt/intelpt_testcase.py
M lldb/source/Target/ProcessTrace.cpp
M lldb/test/API/commands/trace/TestTraceDumpFunctionCalls.py
M lldb/test/API/commands/trace/TestTraceEvents.py
M lldb/test/API/commands/trace/TestTraceSave.py
M lldb/test/API/commands/trace/TestTraceStartStop.py
M lldb/test/API/commands/trace/TestTraceTSC.py
M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
M lldb/unittests/Process/CMakeLists.txt
A lldb/unittests/Process/ProcessTraceTest.cpp
Log Message:
-----------
[lldb] Fix intel trace plugin tests (#133826)
The tests for the
[intel-pt](https://github.com/llvm/llvm-project/blob/348374028970c956f2e49ab7553b495d7408ccd9/lldb/docs/use/intel_pt.rst)
trace plugin were failing for multiple reasons.
On machines where tracing is supported many of the tests were crashing
because of a nullptr dereference. It looks like the `core_file`
parameter in `ProcessTrace::CreateInstance` was once ignored, but was
changed to always being dereferenced. This caused the tests to fail even
when tracing was supported.
On machines where tracing is not supported we would still run tests that
attempt to take a trace. These would obviously fail because the required
hardware is not present. Note that some of the tests simply read
serialized json as trace files which does not require any special
hardware.
This PR fixes these two issues by guarding the pointer dereference and
then skipping unsupported tests on machines. With these changes the
trace tests pass on both types of machines.
We also add a new unit test to validate that a process can be created
with a nullptr core_file through the generic process trace plugin path.
Commit: ce296f1ebac896d03bdb783d9c5d3c93ab76f1ac
https://github.com/llvm/llvm-project/commit/ce296f1ebac896d03bdb783d9c5d3c93ab76f1ac
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Exclude gn changes from running premerge (#133623)
These changes are mostly pushed by the gnsyncbot directly to main and
thus don't go through a PR, but we still test on main to see if main is
broken. Given these touch llvm/, they end up burning a decent amount of
testing time for no real benefit, so I think it makes sense to exclude
them from premerge testing explicitly.
Commit: 9f3d8e8fb8d389176e12c06de59cce3fd1ab8db2
https://github.com/llvm/llvm-project/commit/9f3d8e8fb8d389176e12c06de59cce3fd1ab8db2
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/Transforms/loop.cir
Log Message:
-----------
[CIR] Upstream support for while and do..while loops (#133157)
This adds basic support for while and do..while loops. Support for break
and continue are left for a subsequent patch.
Commit: 3c7a0e6c826b8bcfa4ec6154fd4247658ca3a03f
https://github.com/llvm/llvm-project/commit/3c7a0e6c826b8bcfa4ec6154fd4247658ca3a03f
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/atomics.ll
Log Message:
-----------
[NVPTX] Cleanup and refactor atomic lowering (#133781)
Cleanup lowering of atomic instructions and intrninsics. The TableGen
changes are primarily a refactor, though sub variants are now lowered
via operation legalization, potentially allowing for more DAG
optimization.
Commit: dc17429ae6961a6783371dcf6749eea657b5446a
https://github.com/llvm/llvm-project/commit/dc17429ae6961a6783371dcf6749eea657b5446a
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Sema/DeclSpec.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/tools/libclang/CIndex.cpp
M libcxx/test/std/containers/sequences/array/array.overview/nttp.verify.cpp
M libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.verify.cpp
M libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.verify.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
Log Message:
-----------
[clang] improved preservation of template keyword (#133610)
Commit: adba14acea99cc6a17d837763a3248c9d4a2fadf
https://github.com/llvm/llvm-project/commit/adba14acea99cc6a17d837763a3248c9d4a2fadf
Author: Matthias Braun <matze at braunis.de>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
Stop using __attribute__((retain)) in GCC builds (#133793)
GCC sometimes produces warnings about `__attribute__((retain))` despite
`__has_attribute(retain)` being 1. See:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99587
The amount of users who benefit from the attribute is probably very
small compared to the amount of `-Werror` enabled builds or the desire
to keep `-Wattributes` enabled in the LLVM build. So for now drop usage
of the `retain` attribute in GCC builds.
Commit: 537b6541e8067d7ef7aa38791989fca6303b7fdf
https://github.com/llvm/llvm-project/commit/537b6541e8067d7ef7aa38791989fca6303b7fdf
Author: Amy Huang <akhuang at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Fix libc BUILD.bazel after commit 8741412 (#133980)
Recent changes add dependencies to some atan functions. Edit bazel build
file to look more like the CMake file.
See
https://github.com/llvm/llvm-project/commit/8741412bdfc0a60719f116add7d828694ef48c02
Commit: ec59313c0416018dc008c586478b825fe42bf323
https://github.com/llvm/llvm-project/commit/ec59313c0416018dc008c586478b825fe42bf323
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
Log Message:
-----------
[EquivalenceClasses] Use range-based for loops (NFC).
Commit: bb179c483aa2f709a4e53a8c8860f90b8e2e6f47
https://github.com/llvm/llvm-project/commit/bb179c483aa2f709a4e53a8c8860f90b8e2e6f47
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/stop.cpp
M flang/include/flang/Runtime/stop.h
Log Message:
-----------
[flang][rt] Allow ReportFatalUserError to be build on device (#133979)
Commit: 16603d838c0dfa6881f9b8118c5a0b5ac2789752
https://github.com/llvm/llvm-project/commit/16603d838c0dfa6881f9b8118c5a0b5ac2789752
Author: Steven Perron <stevenperron at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
Log Message:
-----------
[HLSL] Add SPIR-V target type for RWStructuredBuffers (#133468)
This PR adds the target type for main storage for HLSL raw buffer types.
It does not handle the counter variables that are associated with those
buffers.
This is implementing part of
https://github.com/llvm/wg-hlsl/blob/main/proposals/0018-spirv-resource-representation.md.
We do not handle other HLSL raw buffer types.
Commit: 96d60c00e5ed5bddedad0eab83a089957a9cf388
https://github.com/llvm/llvm-project/commit/96d60c00e5ed5bddedad0eab83a089957a9cf388
Author: AdityaK <hiraditya at msn.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/test/Dialect/SPIRV/IR/function-decorations.mlir
Log Message:
-----------
[mlir][spirv] Verify matching of entry block arguments and function signature (#133167)
Fixes: #132894
Commit: 5ffd9bdb50b5753bbf668e4eab3647dfb46cd0d6
https://github.com/llvm/llvm-project/commit/5ffd9bdb50b5753bbf668e4eab3647dfb46cd0d6
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/ASTMatchers/CMakeLists.txt
M clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/CMakeLists.txt
M clang/unittests/CrossTU/CMakeLists.txt
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Frontend/CMakeLists.txt
M clang/unittests/Index/CMakeLists.txt
M clang/unittests/InstallAPI/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/CMakeLists.txt
M clang/unittests/Rewrite/CMakeLists.txt
M clang/unittests/Sema/CMakeLists.txt
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/Support/CMakeLists.txt
M clang/unittests/Tooling/CMakeLists.txt
M clang/unittests/Tooling/Syntax/CMakeLists.txt
M clang/unittests/libclang/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
Log Message:
-----------
[cmake] Refactor clang unittest cmake (#133545)
Pass all the dependencies into add_clang_unittest. This is consistent
with how it is done for LLDB. I borrowed the same named argument list
structure from add_lldb_unittest. This is a necessary step towards
consolidating unit tests into fewer binaries, but seems like a good
refactoring in its own right.
Commit: b6edd25f1787fe7deb4491462227719fb7bda5b1
https://github.com/llvm/llvm-project/commit/b6edd25f1787fe7deb4491462227719fb7bda5b1
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
Log Message:
-----------
[flang][intrinsics] NFC: make comment consistent (#133972)
Just makes this named argument comment consistent with all the others in
the file.
Commit: 86e66d2820ff50d56544d7350761adbfe27aa164
https://github.com/llvm/llvm-project/commit/86e66d2820ff50d56544d7350761adbfe27aa164
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/tools/clang-sycl-linker/BUILD.gn
Log Message:
-----------
[gn] port 7003f7d23aeca
Commit: e55164ae1098bbf8ceb87b83a4b282b08bb7bef9
https://github.com/llvm/llvm-project/commit/e55164ae1098bbf8ceb87b83a4b282b08bb7bef9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Use AsmToken::getEndLoc(). NFC
Commit: 676755561d5a2f074411ad289fed55c977571a32
https://github.com/llvm/llvm-project/commit/676755561d5a2f074411ad289fed55c977571a32
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/LexHLSLRootSignature.h
A clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Parse/CMakeLists.txt
A clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
A clang/unittests/Parse/CMakeLists.txt
A clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
A llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
Reland "[HLSL][RootSignature] Implement parsing of a DescriptorTable with empty clauses" (#133958)
This pr relands https://github.com/llvm/llvm-project/pull/133302.
It resolves two issues:
- Linking error during build,
[here](https://github.com/llvm/llvm-project/pull/133302#issuecomment-2767259848).
There was a missing dependency for `clangLex` for the
`ParseHLSLRootSignatureTest.cpp` unit testing. This library was added to
the dependencies to resolve the error. It wasn't caught previously as
the library was transitively linked in most build environments
- Warning of unused declaration,
[here](https://github.com/llvm/llvm-project/pull/133302#issuecomment-2767091368).
There was a usability line in `LexHLSLRootSignature.h` of the form
`using TokenKind = enum RootSignatureToken::Kind` which causes this
error. The declaration is removed from the header file to be used
locally in the `.cpp` files that use it.
Notably, the original pr would also exposed `clang::hlsl::TokenKind` to
everywhere it was included, which had a name clash with
`tok::TokenKind`. This is another motivation to change to the proposed
resolution.
---------
Co-authored-by: Finn Plummer <finnplummer at microsoft.com>
Commit: e0c8fc793c2a6142ce86575290fe7933812b6f36
https://github.com/llvm/llvm-project/commit/e0c8fc793c2a6142ce86575290fe7933812b6f36
Author: Florian Mayer <fmayer at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
A compiler-rt/test/sanitizer_common/TestCases/Linux/getservent_r.cpp
M compiler-rt/test/sanitizer_common/lit.common.cfg.py
Log Message:
-----------
Reapply "[sanitizer] intercept getservent_r, getservbyname_r, getservbyport_r" (#133358) (#133528)
This reverts commit 52d7f14a895eb8669d72cd02754e5586de3e61d8.
Commit: 69f59d59cb02c06f1fac93ea5b19c2df9a684109
https://github.com/llvm/llvm-project/commit/69f59d59cb02c06f1fac93ea5b19c2df9a684109
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Transforms/DialectConversion.h
Log Message:
-----------
[mlir][IR] Delete `match` and `rewrite` functions (#130259)
The `match` and `rewrite` functions have been deprecated in #130031.
This commit deletes them entirely.
Note for LLVM integration: Update your patterns to use `matchAndRewrite`
instead of separate `match` / `rewrite`.
Commit: 7b2b3faeb1d82148872720e254cc34b3e6d48b31
https://github.com/llvm/llvm-project/commit/7b2b3faeb1d82148872720e254cc34b3e6d48b31
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Parse/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
A llvm/utils/gn/secondary/clang/unittests/Parse/BUILD.gn
Log Message:
-----------
[gn build] Port 676755561d5a (ParseTests)
Commit: c8764f0c655b2edb139896ecbb9f5bfd932fbe4b
https://github.com/llvm/llvm-project/commit/c8764f0c655b2edb139896ecbb9f5bfd932fbe4b
Author: Julian Lettner <yln at users.noreply.github.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/source/Target/Target.cpp
M lldb/test/API/commands/target/stop-hooks/TestStopHooks.py
Log Message:
-----------
Fix handling of auto_continue for stop hooks (#129622)
Follow-up fix discussed here:
https://github.com/llvm/llvm-project/pull/129578#issuecomment-2695838042
---------
Co-authored-by: Jim Ingham <jingham at apple.com>
Commit: 749535ba2808e133682074f712ac6829335f8875
https://github.com/llvm/llvm-project/commit/749535ba2808e133682074f712ac6829335f8875
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Use tablegen HasOneUse. NFC (#133974)
Commit: 07504afc42bd295ca290c8c462869759b97e0fdc
https://github.com/llvm/llvm-project/commit/07504afc42bd295ca290c8c462869759b97e0fdc
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/libc_assert.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Stop depending on .cpp files in libcxx_shared_headers library. (#133999)
Fix two instances of libcxx_shared_headers depending on .cpp files (in
Bazel build):
* Don't depend on exit syscall in LIBC_ASSERT implementation. This
dependency is not used, since LIBC_ASSERT always uses system <assert.h>
in the overlay mode, which is the only mode supported by Bazel.
* Don't depend on libc_errno in str-to-float and str-to-integer
conversions. We only need the ERANGE value, which can be obtained from
the proxy header instead.
Commit: d53555499f85b7aedb765c66d6f3850c7bc6126d
https://github.com/llvm/llvm-project/commit/d53555499f85b7aedb765c66d6f3850c7bc6126d
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
Log Message:
-----------
[lldb] Prefer PointerType::get with LLVMContext over Type (NFC) (#133869)
Part of #123569
Commit: d72be157823d41e7eaf457cc37ea99c07431a25c
https://github.com/llvm/llvm-project/commit/d72be157823d41e7eaf457cc37ea99c07431a25c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M .ci/monolithic-linux.sh
Log Message:
-----------
Revert "[CI] Fix Monolithic Linux Build in Ubuntu 24.04 (#133628)"
This reverts commit 23fb048ce35f672d8db3f466a2522354bbce66e5.
This broke the new premerge system as it appears the pip installations within
the CI image do not support this option. Buildkite was unaffected.
Commit: 1a4dc189ad26ced9d9a74e40fa50b7d81428edba
https://github.com/llvm/llvm-project/commit/1a4dc189ad26ced9d9a74e40fa50b7d81428edba
Author: Petr Sumbera <sumbera at volny.cz>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M openmp/runtime/CMakeLists.txt
M openmp/runtime/cmake/LibompGetArchitecture.cmake
M openmp/runtime/cmake/config-ix.cmake
M openmp/runtime/src/kmp_gsupport.cpp
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/kmp_platform.h
M openmp/runtime/src/kmp_runtime.cpp
Log Message:
-----------
[OpenMP] allow openmp build for sparc (#133239)
Commit: 2f25345670081f1ca460ea3f42a0585ef3f1e877
https://github.com/llvm/llvm-project/commit/2f25345670081f1ca460ea3f42a0585ef3f1e877
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaCXXScopeSpec.cpp
Log Message:
-----------
[clang] fix missing initialization msan failure
fixes msan failure reported here: https://lab.llvm.org/buildbot/#/builders/94/builds/5821/steps/17/logs/stdio
This was a regression introduced here: https://github.com/llvm/llvm-project/pull/133610
Commit: ad1ca5f4a2bc09f99fd82e5444f5da37c2985e97
https://github.com/llvm/llvm-project/commit/ad1ca5f4a2bc09f99fd82e5444f5da37c2985e97
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
M clang/unittests/AST/SourceLocationTest.cpp
Log Message:
-----------
[clang] Concepts: support pack expansions for type constraints (#132626)
This reverts an earlier attempt
(adb0d8ddceb143749c519d14b8b31b481071da77 and
50e5411e4247421fd606f0a206682fcdf0303ae3) to support these expansions,
which was limited to type arguments and which subverted the purpose
of SubstTemplateTypeParmType.
This propagates the ArgumentPackSubstitutionIndex along with the
AssociatedConstraint, so that the pack expansion works, without
needing any new transforms or otherwise any changes to the template
instantiation process.
This keeps the tests from the reverted commits, and adds a few more
showing the new solution also works for NTTPs.
Fixes https://github.com/llvm/llvm-project/issues/131798
Commit: e25187bc3e1459b4eee6d0acd4e46b475a347f5d
https://github.com/llvm/llvm-project/commit/e25187bc3e1459b4eee6d0acd4e46b475a347f5d
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
A llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
A llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/fminimumnum.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/fminimumnum.ll
A llvm/test/Transforms/SLPVectorizer/X86/fminimumnum.ll
Log Message:
-----------
LLVM/Test: Add vectorizing testcases for fminimumnum and fminimumnum (#133843)
Vectorizing of fminimumnum and fminimumnum have not support yet. Let's
add the testcase for it now, and we will update the testcase when we
support it.
Commit: ae8dd63681bf93b04ff8a29e3cbbd152bd97c5c7
https://github.com/llvm/llvm-project/commit/ae8dd63681bf93b04ff8a29e3cbbd152bd97c5c7
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 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] Add interface and lowering for all_sync (#134001)
Commit: 46968310cb837e4b32859edef2107080b828b117
https://github.com/llvm/llvm-project/commit/46968310cb837e4b32859edef2107080b828b117
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
R llvm/test/CodeGen/LoongArch/fix-tle-le-sym-type.ll
A llvm/test/MC/LoongArch/Relocations/relocation-specifier.s
Log Message:
-----------
[LoongArch] Move fix-tle-le-sym-type test to test/MC. NFC (#133839)
Commit: 222297b02034914499458cfa4772c412ea35573d
https://github.com/llvm/llvm-project/commit/222297b02034914499458cfa4772c412ea35573d
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
Log Message:
-----------
[mlir] Use Region::hasOneBlock (NFC) (#133879)
Commit: 55ac652745c6ec94477b1862018f477748faad15
https://github.com/llvm/llvm-project/commit/55ac652745c6ec94477b1862018f477748faad15
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-operand-bundles-convergencectrl.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
Log Message:
-----------
llvm-reduce: Do not delete convergencectrl in operand-bundles (#133858)
The IR verifier will fail if there are any convergent calls without
a convergencectrl bundle, if there are any convergencectrl bundles.
With the current verifier rules, we would need to drop all the instances
of convergencectrl in the function as a set, and strip all the
convergence
token intrinsics. As such, I think it would be more appropriate to have
a
separate convergence reduction pass.
Commit: 97dcbdef6089175c45e14fcbcf5c88b10233a79a
https://github.com/llvm/llvm-project/commit/97dcbdef6089175c45e14fcbcf5c88b10233a79a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJava.cpp
Log Message:
-----------
Revert "[clang-format] Handle C++ keywords in other languages better (#132941)"
This reverts commit ab7cee8a0ecf29fdb47c64c8d431a694d63390d2 which had
formatting errors.
Commit: 03a791f70364921ec3d3b7de8ddc6be8279c2fba
https://github.com/llvm/llvm-project/commit/03a791f70364921ec3d3b7de8ddc6be8279c2fba
Author: dpalermo <dan.palermo at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/ASTMatchers/CMakeLists.txt
M clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/CMakeLists.txt
M clang/unittests/CrossTU/CMakeLists.txt
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Frontend/CMakeLists.txt
M clang/unittests/Index/CMakeLists.txt
M clang/unittests/InstallAPI/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/CMakeLists.txt
M clang/unittests/Rewrite/CMakeLists.txt
M clang/unittests/Sema/CMakeLists.txt
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/Support/CMakeLists.txt
M clang/unittests/Tooling/CMakeLists.txt
M clang/unittests/Tooling/Syntax/CMakeLists.txt
M clang/unittests/libclang/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
Log Message:
-----------
Revert "[cmake] Refactor clang unittest cmake" (#134022)
Reverts llvm/llvm-project#133545
This change is breaking several buildbots as well as developer's builds.
Reverting to allow people to make progress.
Commit: d40bab359c408b0084cd3c115213205050401a9e
https://github.com/llvm/llvm-project/commit/d40bab359c408b0084cd3c115213205050401a9e
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/test/Analysis/DataFlow/test-liveness-analysis.mlir
Log Message:
-----------
[mlir][liveness] fix bugs in liveness analysis (#133416)
This patch fixes the following bugs:
- In SparseBackwardAnalysis, the setToExitState function should
propagate changes if it modifies the lattice. Previously, this issue was
masked because multi-block scenarios were not tested, and the traversal
order of backward data flow analysis starts from the end of the program.
- The method in liveness analysis for determining whether the
non-forwarded operand in branch/region branch operations is live is
incorrect, which may cause originally live variables to be marked as not
live.
Commit: 0cfabd37df9940346f3bf8a4d74c19e1f48a00e9
https://github.com/llvm/llvm-project/commit/0cfabd37df9940346f3bf8a4d74c19e1f48a00e9
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/MC/RISCV/insn_xqci-invalid.s
A llvm/test/MC/RISCV/insn_xqci.s
M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
Log Message:
-----------
[RISCV] Add Xqci Insn Formats (#132986)
Commit: adbe9e20bf157fda89a8896d3832dc9e3cd4351c
https://github.com/llvm/llvm-project/commit/adbe9e20bf157fda89a8896d3832dc9e3cd4351c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/simplify-conditionals-already-constant-brcond.ll
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.cpp
Log Message:
-----------
llvm-reduce: Skip setting br conditions on already constant branches (#133841)
If we are trying to simplify branch conditions to true, ignore branches
already set to a constant true. If we are simplifying to constant false,
ignore the already constant false cases. This saves steps in this edge
case, and avoids the side effect of running simplifycfg on blocks we
did not intend to modify.
Commit: 23d894e0a3cf5cbc1ac754761da4f82608e14747
https://github.com/llvm/llvm-project/commit/23d894e0a3cf5cbc1ac754761da4f82608e14747
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
Log Message:
-----------
llvm-reduce: Fix comment typo
Commit: 68fb7a5a1d203dde7badf67031bdd9eb650eef5d
https://github.com/llvm/llvm-project/commit/68fb7a5a1d203dde7badf67031bdd9eb650eef5d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
R llvm/test/MC/RISCV/insn_xqci-invalid.s
R llvm/test/MC/RISCV/insn_xqci.s
M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
Log Message:
-----------
Revert "[RISCV] Add Xqci Insn Formats (#132986)"
This reverts commit 0cfabd37df9940346f3bf8a4d74c19e1f48a00e9.
Multiple builtbot failures have been reported:
https://github.com/llvm/llvm-project/pull/132986
Commit: e060acbd3b0fe362b81b7edd8741eee854aa3d99
https://github.com/llvm/llvm-project/commit/e060acbd3b0fe362b81b7edd8741eee854aa3d99
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[Sema] Use llvm::erase_if (NFC) (#134017)
Commit: cc10896fa2cc4096387f5cff09c23ff22deabd97
https://github.com/llvm/llvm-project/commit/cc10896fa2cc4096387f5cff09c23ff22deabd97
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
Log Message:
-----------
[SandboxVectorizer] Use llvm::erase (NFC) (#134018)
Commit: 86c382514e68b9b58a6cad266d99ca0a1ba1c856
https://github.com/llvm/llvm-project/commit/86c382514e68b9b58a6cad266d99ca0a1ba1c856
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[Target] Construct SmallVector with ArrayRef (NFC) (#134019)
Commit: d760dbe6ebcf87c82aea7b1adb10d41e65c57830
https://github.com/llvm/llvm-project/commit/d760dbe6ebcf87c82aea7b1adb10d41e65c57830
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
Log Message:
-----------
[mlir] Remove extraneous calls to make_range (NFC) (#134020)
Commit: f1025c0e8752057dc19b922040055d81ce3b6f31
https://github.com/llvm/llvm-project/commit/f1025c0e8752057dc19b922040055d81ce3b6f31
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
Log Message:
-----------
[mlir] Construct SmallVector with ArrayRef (NFC) (#134023)
Commit: 28b300d546948baf4396c3467507dea8b9e34881
https://github.com/llvm/llvm-project/commit/28b300d546948baf4396c3467507dea8b9e34881
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
Log Message:
-----------
[lldb] Update ScriptInterpreterLua::LoadScriptingModule
Update the ScriptInterpreterLua::LoadScriptingModule signature after the
TargetSP argument was added in #133290.
Commit: e020fc18959a71c75257dd89ce3d6c86eb388043
https://github.com/llvm/llvm-project/commit/e020fc18959a71c75257dd89ce3d6c86eb388043
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/test/TableGen/HasNoUse.td
M llvm/test/TableGen/predicate-patfags.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Directly use SDNode functions to implement HasOneUse and HasNoUse. NFC (#133976)
The SDValue functions we were calling wrap SDNode functions we can call
directly.
Commit: 9d06e0879b5600b19cd8cebd98e4f92b5e62400f
https://github.com/llvm/llvm-project/commit/9d06e0879b5600b19cd8cebd98e4f92b5e62400f
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaBase.h
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/Misc/show-diag-options.c
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[Clang] [NFC] Introduce a helper for emitting compatibility diagnostics (#132348)
This is a follow-up to #132129.
Currently, only `Parser` and `SemaBase` get a `DiagCompat()` helper; I’m
planning to keep refactoring compatibility warnings and add more helpers
to other classes as needed. I also refactored a single parser compat
warning just to make sure everything works properly when diagnostics
across multiple components (i.e. Sema and Parser in this case) are
involved.
Commit: a2ca2f3f10002da61e9860d0ce11e0272482baba
https://github.com/llvm/llvm-project/commit/a2ca2f3f10002da61e9860d0ce11e0272482baba
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
Log Message:
-----------
[CIR] Fix cir-canonicalize pass upstreaming issues. NFC
- Fix typos in 'RemoveEmptyScope' pattern rewriting and combine 'match'
and 'rewrite' into 'matchAndRewrite' as they are deprecated.
Commit: 076397ff3217cf45fd08024dd7bcd2bc8fb229ab
https://github.com/llvm/llvm-project/commit/076397ff3217cf45fd08024dd7bcd2bc8fb229ab
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaBase.h
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/Misc/show-diag-options.c
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
Revert "[Clang] [NFC] Introduce a helper for emitting compatibility diagnostics" (#134036)
Reverts llvm/llvm-project#132348
Some tests are failing and I still need to figure out what is going on
here.
Commit: 964650b69e57d5e9e6102a4b400c8da16f6a1e27
https://github.com/llvm/llvm-project/commit/964650b69e57d5e9e6102a4b400c8da16f6a1e27
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-operands-target-ext-ty.ll
M llvm/tools/llvm-reduce/DeltaPasses.def
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperands.h
Log Message:
-----------
llvm-reduce: Add reduceOperandsToPoison reduction (#132862)
For now use it only for TargetExtTypes, which do not always support
zero initializers.
Commit: c47023dceb11fcb06c2405ea11eca10ea1139aa0
https://github.com/llvm/llvm-project/commit/c47023dceb11fcb06c2405ea11eca10ea1139aa0
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/CodeGenCXX/pragma-loop.cpp
Log Message:
-----------
[clang][CodeGen] Make pragma-loop test more rboust (NFC) (#133707)
pragma-loop.cpp contains tests for loop metadata generated by pragma
directives. These tests didn't work as (perhaps) expected. This is
because the regex `.*` consumes multiple elements in the metadata. For
example, there was a check directive like this.
```
// CHECK: ![[LOOP_9]] = distinct !{![[LOOP_9]], ![[WIDTH_8:.*]], ![[FIXED_VEC]], ...}
```
In the above case, `[[WIDTH_8]]` would have been expected to match a
node like `[[WIDTH_8]] = !{!"llvm.loop.vectorize.width", i32 8}`.
However, since there is no check directive to verify the contents of
`[[WIDTH_8]]`, the regex `.*` consumed more than one element. There were
other similar cases.
This patch fixes the problem by not using regex matcher in the metadata
content (except for follow-up metadata). Instead, it uses string
variables whose contents are validated elsewhere.
Related:
https://github.com/llvm/llvm-project/pull/131985#discussion_r2014369699
Commit: 528e408b94cd093e582de8352acebf85a41f5d56
https://github.com/llvm/llvm-project/commit/528e408b94cd093e582de8352acebf85a41f5d56
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
Log Message:
-----------
[LoopInterchange] Add an option to control the cost heuristics applied (#133664)
LoopInterchange has several heuristic functions to determine if
exchanging two loops is profitable or not. Whether or not to use each
heuristic and the order in which to use them were fixed, but #125830
allows them to be changed internally at will. This patch adds a new
option to control them via the compiler option.
The previous patch also added an option to prioritize the vectorization
heuristic. This patch also removes it to avoid conflicts between it and
the newly introduced one, e.g., both
`-loop-interchange-prioritize-vectorization=1` and
`-loop-interchange-profitabilities='cache,vectorization'` are specified.
Commit: 09e19cfacfe5478a69f19014156deb384e5163c7
https://github.com/llvm/llvm-project/commit/09e19cfacfe5478a69f19014156deb384e5163c7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-operands-alloca.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
Log Message:
-----------
llvm-reduce: Do not reduce alloca array sizes to 0 (#132864)
Fixes #64340
Commit: 536fe74aaac437e147fc64dada6af8aab79a8b54
https://github.com/llvm/llvm-project/commit/536fe74aaac437e147fc64dada6af8aab79a8b54
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-zve64f.mir
M llvm/test/MC/RISCV/xqcibm-invalid.s
M llvm/test/MC/RISCV/xqcibm-valid.s
Log Message:
-----------
[RISCV] Modify register type of extd* Xqcibm instructions (#134027)
The v0.8 spec specifies that rs1 cannot be x31 (t6) since these
instructions operate on a pair of registers (rs1 and rs1 + 1) with no wrap
around.
The latest spec can be found here:
https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.8.0
Commit: 730e8a4a59a5398f61c526eb00eb409e9306d19c
https://github.com/llvm/llvm-project/commit/730e8a4a59a5398f61c526eb00eb409e9306d19c
Author: nawrinsu <nawrin.sultana at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_alloc.cpp
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_settings.cpp
A openmp/runtime/test/api/omp_alloc_hwloc.c
Log Message:
-----------
[OpenMP] Add memory allocation using hwloc (#132843)
This patch adds support for memory allocation using hwloc. To enable
memory allocation using hwloc, env KMP_TOPOLOGY_METHOD=hwloc needs to be
used. If hwloc is not supported/available, allocation will fallback to
default path.
Commit: 5d364481e36871584affa54c58a803a936b9a5d6
https://github.com/llvm/llvm-project/commit/5d364481e36871584affa54c58a803a936b9a5d6
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
A flang/docs/DoConcurrentConversionToOpenMP.md
M flang/docs/index.md
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Optimizer/OpenMP/Passes.h
M flang/include/flang/Optimizer/OpenMP/Passes.td
A flang/include/flang/Optimizer/OpenMP/Utils.h
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
A flang/test/Driver/do_concurrent_to_omp_cli.f90
A flang/test/Transforms/DoConcurrent/basic_host.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang][OpenMP] Upstream first part of `do concurrent` mapping (#126026)
This PR starts the effort to upstream AMD's internal implementation of
`do concurrent` to OpenMP mapping. This replaces #77285 since we
extended this WIP quite a bit on our fork over the past year.
An important part of this PR is a document that describes the current
status downstream, the upstreaming status, and next steps to make this
pass much more useful.
In addition to this document, this PR also contains the skeleton of the
pass (no useful transformations are done yet) and some testing for the
added command line options.
This looks like a huge PR but a lot of the added stuff is documentation.
It is also worth noting that the downstream pass has been validated on
https://github.com/BerkeleyLab/fiats. For the CPU mapping, this achived
performance speed-ups that match pure OpenMP, for GPU mapping we are
still working on extending our support for implicit memory mapping and
locality specifiers.
PR stack:
- https://github.com/llvm/llvm-project/pull/126026 (this PR)
- https://github.com/llvm/llvm-project/pull/127595
- https://github.com/llvm/llvm-project/pull/127633
- https://github.com/llvm/llvm-project/pull/127634
- https://github.com/llvm/llvm-project/pull/127635
Commit: 8a691cc6157b2c3bc91af767eb1154d7a715562a
https://github.com/llvm/llvm-project/commit/8a691cc6157b2c3bc91af767eb1154d7a715562a
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
Log Message:
-----------
[MS][clang] Make sure vector deleting dtor calls correct operator delete (#133950)
During additional testing I spotted that vector deleting dtor calls
operator delete, not operator delete[] when performing array deletion.
This patch fixes that.
Commit: bd788dbf516be98044254336f54b72d077f69771
https://github.com/llvm/llvm-project/commit/bd788dbf516be98044254336f54b72d077f69771
Author: Harmen Stoppels <me at harmenstoppels.nl>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/bin/.hipVersion
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/include/hip/hip_runtime.h
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/asanrtl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/hip.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ockl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_400.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_500.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1010.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1011.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1012.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_803.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_900.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_908.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ocml.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/opencl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/bin/.keep
M clang/test/Driver/rocm-detect.hip
Log Message:
-----------
[AMDGPU] Remove detection of hip runtime for Spack (#133263)
There is special logic to detect the hip runtime when llvm is installed
with Spack. It works by matching the install prefix of llvm against
`llvm-amdgpu-*` followed by effectively globbing for
```
<llvm dir>/../hip-x.y.z-*/
```
and checking there is exactly one such directory.
I would suggest to remove autodetection for the following reasons:
1. In the Spack ecosystem it's by design that every package lives in
its own prefix, and can only know where its dependencies are
installed, it has no clue what its dependents are and where they are
installed. This heuristic detection breaks that invariant, since `hip`
is a dependent of `llvm`, and can be surprising to Spack users.
2. The detection can lead to false positives, since users can be using
an llvm installed "upstream" with their own build of hip locally, and
they may not realize that clang is picking up upstream hip instead of
their local copy.
3. It only works if the directory name is `llvm-amdgpu-*` which happens
to be the name of AMD's fork of `llvm`, so it makes no sense that
this code lives in the main LLVM repo for which the Spack package
name is `llvm`. Feels wrong that LLVM knows about Spack package
names, which can change over time.
4. Users can change the install directory structure, meaning that this
detection is not robust under config changes in Spack.
Commit: cde2ea377d457e272ce1572d588643e5ee533c30
https://github.com/llvm/llvm-project/commit/cde2ea377d457e272ce1572d588643e5ee533c30
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
Log Message:
-----------
llvm-reduce: Defer a shouldKeep call in operand reduction (#133387)
Ideally shouldKeep is only called in contexts that will successfully
do something.
Commit: 41d718b1cf3db952a79c5598dba2e3379ee88efa
https://github.com/llvm/llvm-project/commit/41d718b1cf3db952a79c5598dba2e3379ee88efa
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/docs/DoConcurrentConversionToOpenMP.md
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/test/Transforms/DoConcurrent/loop_nest_test.f90
Log Message:
-----------
[flang][OpenMP] Upstream `do concurrent` loop-nest detection. (#127595)
Upstreams the next part of do concurrent to OpenMP mapping pass (from
AMD's ROCm implementation). See
https://github.com/llvm/llvm-project/pull/126026 for more context.
This PR add loop nest detection logic. This enables us to discover
muli-range do concurrent loops and then map them as "collapsed" loop
nests to OpenMP.
This is a follow up for
https://github.com/llvm/llvm-project/pull/126026, only the latest commit
is relevant.
This is a replacement for
https://github.com/llvm/llvm-project/pull/127478 using a
`/user/<username>/<branchname>` branch.
PR stack:
- https://github.com/llvm/llvm-project/pull/126026
- https://github.com/llvm/llvm-project/pull/127595 (this PR)
- https://github.com/llvm/llvm-project/pull/127633
- https://github.com/llvm/llvm-project/pull/127634
- https://github.com/llvm/llvm-project/pull/127635
Commit: 10c6ebc42711fa12ff790f3462cbce0e02538ab7
https://github.com/llvm/llvm-project/commit/10c6ebc42711fa12ff790f3462cbce0e02538ab7
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/bindings/python/tests/cindex/test_diagnostics.py
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaBase.h
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/Misc/show-diag-options.c
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
Reapply "[Clang] [NFC] Introduce a helper for emitting compatibility diagnostics (#132348)" (#134043)
This reapplies #132348 with a fix to the python bindings tests, reverting
https://github.com/llvm/llvm-project/commit/076397ff3217cf45fd08024dd7bcd2bc8fb229ab.
Commit: 9356091a98c24718572f99b51553838ed664b67a
https://github.com/llvm/llvm-project/commit/9356091a98c24718572f99b51553838ed664b67a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalMerge.cpp
A llvm/test/CodeGen/PowerPC/global-merge-llvm-metadata.ll
Log Message:
-----------
[GlobalMerge][PPC] Don't merge globals in llvm.metadata section (#131801)
The llvm.metadata section is not emitted and has special semantics. We
should not merge globals in it, similarly to how we already skip merging
of `llvm.xyz` globals.
Fixes https://github.com/llvm/llvm-project/issues/131394.
Commit: dd19e7eaaa63bc96d99cdb7a3e7cce95589aec8d
https://github.com/llvm/llvm-project/commit/dd19e7eaaa63bc96d99cdb7a3e7cce95589aec8d
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_cbrt.inc
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_cbrt.cl
A libclc/clc/lib/generic/math/clc_cbrt.inc
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/generic/lib/math/cbrt.cl
M libclc/generic/lib/math/tables.cl
Log Message:
-----------
[libclc] Move cbrt to the CLC library; vectorize (#133940)
Commit: 8107b430edb38dc798fe4e710df13d4b2e98acfb
https://github.com/llvm/llvm-project/commit/8107b430edb38dc798fe4e710df13d4b2e98acfb
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
Log Message:
-----------
[VPlan] Simplify select c, x, x -> x (#133731)
As noted in 1a9358c090d0507be21c5e9b2d97a23ef1de8ab0, some
simplifications can produce a redundant select where the true and false
operands are the same, which this patch removes.
The is_fpclass test was changed so the condition wasn't made dead.
Commit: 3f8bfc9f7fc788af63e52b5e804a2d6ab92321ac
https://github.com/llvm/llvm-project/commit/3f8bfc9f7fc788af63e52b5e804a2d6ab92321ac
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/docs/DoConcurrentConversionToOpenMP.md
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/test/Transforms/DoConcurrent/basic_device.mlir
M flang/test/Transforms/DoConcurrent/basic_host.f90
A flang/test/Transforms/DoConcurrent/basic_host.mlir
A flang/test/Transforms/DoConcurrent/non_const_bounds.f90
A flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
Log Message:
-----------
[flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (#127633)
Upstreams one more part of the ROCm `do concurrent` to OpenMP mapping
pass. This PR add support for converting simple loops to the equivalent
OpenMP constructs on the host: `omp parallel do`. Towards that end, we
have to collect more information about loop nests for which we add new
utils in the `looputils` name space.
PR stack:
- https://github.com/llvm/llvm-project/pull/126026
- https://github.com/llvm/llvm-project/pull/127595
- https://github.com/llvm/llvm-project/pull/127633 (this PR)
- https://github.com/llvm/llvm-project/pull/127634
- https://github.com/llvm/llvm-project/pull/127635
Commit: 9b2fd1a6ec935b2e31bb2b6fda82b7377b9bbf79
https://github.com/llvm/llvm-project/commit/9b2fd1a6ec935b2e31bb2b6fda82b7377b9bbf79
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/include/flang/Support/LangOptions.def
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/bbc-openmp-version-macro.f90
M flang/test/Driver/flang-openmp-version-macro.f90
M flang/test/Lower/OpenMP/rtl-flags.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang][OpenMP] Bump default OpenMP version to 3.1 (#133745)
Precise OpenMP standards support information is being documented in
#132707
Flang now has good support for OpenMP Version 3.1 and earlier.
Commit: e0f8898e1d432ab4fdcaf353bf87a1d3cf36491a
https://github.com/llvm/llvm-project/commit/e0f8898e1d432ab4fdcaf353bf87a1d3cf36491a
Author: Miro Hrončok <miro at hroncok.cz>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/tools/opt-viewer/optrecord.py
Log Message:
-----------
Avoid a race condition in opt-viewer/optrecord (#131214)
See https://bugzilla.redhat.com/2336915
See https://reviews.llvm.org/D41784?id=
See
https://github.com/androm3da/optviewer-demo/issues/4#issuecomment-718787822
Fixes https://github.com/llvm/llvm-project/issues/62403.
The race condition happened when the demangler_proc was being set. The
locking mechanism itself happened too late.
This way, the lock always exists (to avoid a race when creating it) and
is always used when *creating* demangler_proc.
Commit: 54385f5ebe5ee998ca4dd59a19bb98144a77db63
https://github.com/llvm/llvm-project/commit/54385f5ebe5ee998ca4dd59a19bb98144a77db63
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/operands-to-args.ll
Log Message:
-----------
llvm-reduce: Increase operands-to-args test coverage (#133853)
This wasn't checking the output for all functions.
--match-full-lines is also particularly hazardous for the
interestingness checks for avoiding asserts and broken IR.
Also add tests for some of the filtered function user types.
This wasn't covered, and is overly conservative.
Commit: 2426ac647f33451a92833ab752d74d16ab3330ed
https://github.com/llvm/llvm-project/commit/2426ac647f33451a92833ab752d74d16ab3330ed
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86] Add demanded elts for v8f32 VPERMV node
Based off #133923 - test to ensure the VPERMV node as only the lower 128-bit source elements are demanded.
Commit: 7d441d9892295a6eb8aaf481e1715f039f6f224f
https://github.com/llvm/llvm-project/commit/7d441d9892295a6eb8aaf481e1715f039f6f224f
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/test/Conversion/MathToVCIX/math-to-vcix.mlir
M mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
Log Message:
-----------
[mlir] Use `dyn_cast` instead of `cast` in MathToVCIX conversion (#134047)
Fixes #131093.
Commit: ef56b5371294d0c4368b52d4f164f6aa07e1aa4d
https://github.com/llvm/llvm-project/commit/ef56b5371294d0c4368b52d4f164f6aa07e1aa4d
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/docs/DoConcurrentConversionToOpenMP.md
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
Log Message:
-----------
[flang][OpenMP] Extend `do concurrent` mapping to multi-range loops (#127634)
Adds support for converting mulit-range loops to OpenMP (on the host
only for now). The changes here "prepare" a loop nest for collapsing by
sinking iteration variables to the innermost `fir.do_loop` op in the
nest.
PR stack:
- https://github.com/llvm/llvm-project/pull/126026
- https://github.com/llvm/llvm-project/pull/127595
- https://github.com/llvm/llvm-project/pull/127633
- https://github.com/llvm/llvm-project/pull/127634 (this PR)
- https://github.com/llvm/llvm-project/pull/127635
Commit: f066d7504e736f7dc8bee3b9c514a86e229fd622
https://github.com/llvm/llvm-project/commit/f066d7504e736f7dc8bee3b9c514a86e229fd622
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/exit-count-samesign.ll
M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
M llvm/test/Transforms/IndVarSimplify/iv-ext-samesign.ll
A llvm/test/Transforms/IndVarSimplify/pr126409.ll
Log Message:
-----------
[Reland][SCEV] teach isImpliedViaOperations about samesign (#133711)
This patch relands https://github.com/llvm/llvm-project/pull/124270.
Closes https://github.com/llvm/llvm-project/issues/126409.
The root cause is that we incorrectly preserve the samesign flag after
truncating operands of an icmp:
https://alive2.llvm.org/ce/z/4NE9gS
---------
Co-authored-by: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Commit: d7afafdbc464e65c56a0a1d77bad426aa7538306
https://github.com/llvm/llvm-project/commit/d7afafdbc464e65c56a0a1d77bad426aa7538306
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
[lldb] Return *const* UnwindPlan pointers from FuncUnwinders (#133247)
These plans are cached and accessed from multiple threads. Modifying
them would be a Bad Idea(tm).
Commit: a13a51b91fcb2797cc5a16bd8bc7ad714bb15df6
https://github.com/llvm/llvm-project/commit/a13a51b91fcb2797cc5a16bd8bc7ad714bb15df6
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/set-wave-priority.ll
Log Message:
-----------
[AMDGPU][NPM] Port AMDGPUSetWavePriority to NPM (#130064)
Commit: 5bbcc765cc431d8cf6c9011ac283da373d9d4f46
https://github.com/llvm/llvm-project/commit/5bbcc765cc431d8cf6c9011ac283da373d9d4f46
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-estimateNodesPermuteCost.ll
Log Message:
-----------
[SLP][REVEC] getNumElements should not be used as VF when REVEC is enabled. (#134031)
Commit: 53f3031005f78b384845eaf770ec4aac54cae4c3
https://github.com/llvm/llvm-project/commit/53f3031005f78b384845eaf770ec4aac54cae4c3
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Headers/stdint.h
M clang/test/C/drs/dr209.c
M clang/test/Preprocessor/stdint.c
Log Message:
-----------
[C99] Fix definitions of INTn_C macros (#133916)
C99 introduced macros of the form `INTn_C(v)` which expand to a signed
or unsigned integer constant with the specified value `v` and the type
`int_leastN_t`. Clang's initial implementation of these macros used
token pasting to form the integer constants, but this means that users
cannot define a macro named `L`, `U`, `UL`, etc before including
`<stdint.h>` (in freestanding mode, where Clang's header is being used)
because that could form invalid token pasting results. The new
definitions now use the predefined `__INTn_C` macros instead of using
token pasting. This matches the behavior of GCC.
Fixes #85995
Commit: 7c4009f21b877769a5d3cd5c4d0bd0fb75c9c588
https://github.com/llvm/llvm-project/commit/7c4009f21b877769a5d3cd5c4d0bd0fb75c9c588
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
Log Message:
-----------
[AMDGPU] AMDGPUSetWavePriority: Remove unused variable NFC (#134069)
Fixes a13a51b91fcb2797cc5a16bd8bc7ad714bb15df6 (#130064)
Commit: 574e43dffd7a97d32f996df58b1787ad5158529c
https://github.com/llvm/llvm-project/commit/574e43dffd7a97d32f996df58b1787ad5158529c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCast.cpp
M clang/test/C/C23/n3042.c
Log Message:
-----------
[C23] Allow casting from a null pointer constant to nullptr_t (#133742)
C23 allows a cast of a null pointer constant to nullptr_t. e.g.,
(nullptr_t)0 or (nullptr_t)(void *)0.
Fixes #133644
Commit: 3cc7148fe054e225671f6741d0fe4583486af8a4
https://github.com/llvm/llvm-project/commit/3cc7148fe054e225671f6741d0fe4583486af8a4
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Update for #134043
Commit: a0b75b9d990d834a814f1585a21705da558e43d3
https://github.com/llvm/llvm-project/commit/a0b75b9d990d834a814f1585a21705da558e43d3
Author: Lyle Dean <dean at lyle.dev>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/SemaCXX/warn-base-type-qualifiers.cpp
Log Message:
-----------
[Clang] add emit -Wignored-base-class-qualifiers diagnostic for cv-qualified base classes (#132116)
Split diagnosing base class qualifiers from the ``-Wignored-Qualifiers``
diagnostic group into a new ``-Wignored-base-class-qualifiers``
diagnostic group (which is grouped under ``-Wignored-qualifiers``).
Fixes #131935
Commit: 14335be0780d369f4aa2403ee986bac3d436872f
https://github.com/llvm/llvm-project/commit/14335be0780d369f4aa2403ee986bac3d436872f
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[Clang][NFC] Minor constraint satisfaction checking cleanup (#134059)
We had a weird, incorrect, "ConstraintEvaluator" object that was not
useful for anything, so I removed that.
I also changed the CheckConstraintSatisfaction overload that just took
an Expr* as this did not make much sense at all.
Satisfaction checking is still fairly wrong,
we do not follow the standard that requires we only substitute into the
mapping of the normal form, so we produce errors for incorrect
substitution into concepts id, even though we should not.
Commit: cf976bfdeba21405e1674c6dd09940773b2275ef
https://github.com/llvm/llvm-project/commit/cf976bfdeba21405e1674c6dd09940773b2275ef
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll
Log Message:
-----------
[LoopInterchange] Add tests for the vectorization profitability (NFC) (#133665)
There is a problem with the current profitability check for
vectorization in LoopInterchange. There are both false positives and
false negatives. The former means that the heuristic may say that "an
exchange is necessary to vectorize the innermost loop" even though it's
already possible. The latter means that the heuristic may miss a case
where an exchange is necessary to vectorize the innermost loop. Note
that this is not a dependency analysis problem. This is caused by
incorrect handling of the dependency matrix in the profitability check,
so these problems can occur even if the analysis is accurate (no
overestimation).
This patch adds tests to clarify the cases that should be fixed. The
root cause of these cases is that the heuristic doesn't handle the
direction of a dependency correctly.
Commit: 842785adf7349f07a91320d49ff8a10971e04409
https://github.com/llvm/llvm-project/commit/842785adf7349f07a91320d49ff8a10971e04409
Author: dianqk <dianqk at dianqk.net>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
Log Message:
-----------
[MachineInstr] Remove the code that was accidentally added in #132536 (NFC)
Commit: c309abd92553191c404f2dc13f637bcfd53033f9
https://github.com/llvm/llvm-project/commit/c309abd92553191c404f2dc13f637bcfd53033f9
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/docs/Directives.md
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Integration/unroll_and_jam.f90
M flang/test/Integration/vector-always.f90
M flang/test/Lower/unroll_and_jam.f90
M flang/test/Lower/vector-always.f90
M flang/test/Parser/compiler-directives.f90
Log Message:
-----------
[flang] Implement !DIR$ NOVECTOR and !DIR$ NOUNROLL[_AND_JAM] (#133885)
Hi,
This patch implements support for the following directives :
- `!DIR$ NOUNROLL_AND_JAM` to disable unrolling and jamming on a DO
LOOP.
- `!DIR$ NOUNROLL` to disable unrolling on a DO LOOP.
- `!DIR$ NOVECTOR` to disable vectorization on a DO LOOP.
Commit: 2b7daaf9678181959982b219db0af106f4ef8e3e
https://github.com/llvm/llvm-project/commit/2b7daaf9678181959982b219db0af106f4ef8e3e
Author: Maxim Zhukov <mussitantesmortem at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/CodeGen/sanitize-coverage.c
M clang/test/Driver/fsanitize-coverage.c
Log Message:
-----------
[sanitizer][CFI] Add support to build CFI with sanitize-coverage (#131296)
Added ability to build together with -fsanitize=cfi and
-fsanitize-coverage=trace-cmp at the same time.
Commit: 581f8bccb529ad9c60e231c44b01a2f9b3ce79b6
https://github.com/llvm/llvm-project/commit/581f8bccb529ad9c60e231c44b01a2f9b3ce79b6
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[clang][OpenMP] Fix bug #62099 - use hash value when inode ID cannot be determined (#131646)
When creating the name of an outlined region, Clang uses the file's
inode ID to generate a unique name. When the file does not exist, this
causes a fatal abort of the compiler. This PR switches to a has value
that is used instead.
---------
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: 2a90631841284ba538029975e59876bb2e1714af
https://github.com/llvm/llvm-project/commit/2a90631841284ba538029975e59876bb2e1714af
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/docs/Dialects/SPIR-V.md
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
M mlir/test/Target/SPIRV/selection.mlir
Log Message:
-----------
[mlir][spirv] Allow yielding values from selection regions (#133702)
There are cases in SPIR-V shaders where values need to be yielded from
the selection region to make valid MLIR. For example (part of the SPIR-V
shader decompiled to GLSL):
```
bool _115
if (_107)
{
// ...
float _200 = fma(...);
// ...
_115 = _200 < _174;
}
else
{
_115 = _107;
}
bool _123;
if (_115)
{
// ...
float _213 = fma(...);
// ...
_123 = _213 < _174;
}
else
{
_123 = _115;
}
````
This patch extends `mlir.selection` so it can return values.
`mlir.merge` is used as a "yield" operation. This allows to maintain a
compatibility with code that does not yield any values, as well as, to
maintain an assumption that `mlir.merge` is the only operation in the
merge block of the selection region.
Commit: d8d561a3881b08026a0566ff692fdd5b0e032b95
https://github.com/llvm/llvm-project/commit/d8d561a3881b08026a0566ff692fdd5b0e032b95
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M libcxx/.clang-format
M libcxx/include/__atomic/support/c11.h
M libcxx/include/__config
Log Message:
-----------
[libc++][NFC] Remove _LIBCPP_DISABLE_EXTENSION_WARNINGS (#133693)
We only use `_LIBCPP_DISABLE_EXTENSION_WARNINGS` in a single place while
we use extensions all over the place. The warnings are already disabled,
since libc++'s headers are system headers, so this shouldn't be in any
way observable by users.
Commit: 666df54ea6c3d9cb735fc2fcaf1a4802e675f8d0
https://github.com/llvm/llvm-project/commit/666df54ea6c3d9cb735fc2fcaf1a4802e675f8d0
Author: مهدي شينون (Mehdi Chinoune) <mehdi.chinoune at hotmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/lib/Evaluate/intrinsics-library.cpp
Log Message:
-----------
[flang] Fold double bessel functions on Windows. (#130253)
There are no functions for `float`.
see:
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/bessel-functions-j0-j1-jn-y0-y1-yn
Commit: de6c9096ba5d186c0ebe11bae76425af70959232
https://github.com/llvm/llvm-project/commit/de6c9096ba5d186c0ebe11bae76425af70959232
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/docs/DoConcurrentConversionToOpenMP.md
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
Log Message:
-----------
[flang][OpenMP] Handle "loop-local values" in `do concurrent` nests (#127635)
Extends `do concurrent` mapping to handle "loop-local values". A
loop-local value is one that is used exclusively inside the loop but
allocated outside of it. This usually corresponds to temporary values
that are used inside the loop body for initialzing other variables for
example. After collecting these values, the pass localizes them to the
loop nest by moving their allocations.
PR stack:
- https://github.com/llvm/llvm-project/pull/126026
- https://github.com/llvm/llvm-project/pull/127595
- https://github.com/llvm/llvm-project/pull/127633
- https://github.com/llvm/llvm-project/pull/127634
- https://github.com/llvm/llvm-project/pull/127635 (this PR)
Commit: c51b24c36a4e447216ae93799720eaf2869e6242
https://github.com/llvm/llvm-project/commit/c51b24c36a4e447216ae93799720eaf2869e6242
Author: David Green <david.green at arm.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/div.ll
Log Message:
-----------
[AArch64] Use getVectorInstrCost in div cost
The costs of ExtractElement and InsertElement should be obtained via
getVectorInstrCost.
Commit: 8a0f694381cece71f1b974f65f3121020522d6f1
https://github.com/llvm/llvm-project/commit/8a0f694381cece71f1b974f65f3121020522d6f1
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/lib/Lower/PFTBuilder.cpp
Log Message:
-----------
[flang] Legacy ASSIGN statement target processing (#133737)
Like other target statements, the statement associated with the label in
a legacy ASSIGN statement could be inside a construct. Constructs
containing such a target must therefore be marked as unstructured,
fairly similar to how targets are processed in `markBranchTarget`.
Commit: 200b589a1b3a0e12cd9950a897949f3e89534929
https://github.com/llvm/llvm-project/commit/200b589a1b3a0e12cd9950a897949f3e89534929
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
Log Message:
-----------
[mlir][spirv] Fix ambiguous conversion between SmallVector and TypeRange (#134087)
This address buildbot failures caused by #133702.
Commit: 87bebd37ffe08c4911d9636ab09cb1406d7ac677
https://github.com/llvm/llvm-project/commit/87bebd37ffe08c4911d9636ab09cb1406d7ac677
Author: Vy Nguyen <vyng at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/source/Interpreter/CommandInterpreter.cpp
Log Message:
-----------
[LLDB][NFC]Move fields that might be referenced in scope-exit to beginning (#133785)
Details: The ScopedDiscpatcher's dtor may reference these fields so we
need the fields' dtor to be be invoked *after* the dispatcher's.
Commit: d51525ba36017507fe95ce48e9670b6f4b267016
https://github.com/llvm/llvm-project/commit/d51525ba36017507fe95ce48e9670b6f4b267016
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_lgamma.h
A libclc/clc/include/clc/math/clc_lgamma_r.h
A libclc/clc/include/clc/math/clc_tgamma.h
A libclc/clc/include/clc/math/unary_def_via_fp32.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_lgamma.cl
A libclc/clc/lib/generic/math/clc_lgamma.inc
A libclc/clc/lib/generic/math/clc_lgamma_r.cl
A libclc/clc/lib/generic/math/clc_lgamma_r.inc
A libclc/clc/lib/generic/math/clc_tgamma.cl
M libclc/generic/include/clc/math/lgamma_r.h
R libclc/generic/include/clc/math/lgamma_r.inc
M libclc/generic/lib/math/lgamma.cl
M libclc/generic/lib/math/lgamma_r.cl
R libclc/generic/lib/math/lgamma_r.inc
M libclc/generic/lib/math/tgamma.cl
Log Message:
-----------
[libclc] Move lgamma, lgamma_r & tgamma to CLC library (#134053)
Also enable half-precision variants of tgamma, which were previously
missing.
Note that unlike recent work, these builtins are not vectorized as part
of this commit. Ultimately all three call into lgamma_r, which has heavy
control flow (including switch statements) that would be difficult to
vectorize. Additionally the lgamma_r algorithm is copyrighted to SunPro
so may need a rewrite in the future anyway.
There are no codegen changes (to non-SPIR-V targets) with this commit,
aside from the new half builtins.
Commit: f186041553f9ab2d49510c6690bb4faf96457d4a
https://github.com/llvm/llvm-project/commit/f186041553f9ab2d49510c6690bb4faf96457d4a
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_cosh.h
A libclc/clc/include/clc/math/clc_sinh.h
A libclc/clc/include/clc/math/clc_tanh.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_cosh.cl
A libclc/clc/lib/generic/math/clc_cosh.inc
A libclc/clc/lib/generic/math/clc_sinh.cl
A libclc/clc/lib/generic/math/clc_sinh.inc
M libclc/clc/lib/generic/math/clc_tables.cl
A libclc/clc/lib/generic/math/clc_tanh.cl
A libclc/clc/lib/generic/math/clc_tanh.inc
M libclc/generic/lib/math/cosh.cl
M libclc/generic/lib/math/sinh.cl
M libclc/generic/lib/math/tables.cl
M libclc/generic/lib/math/tanh.cl
Log Message:
-----------
[libclc] Move sinh, cosh & tanh to the CLC library (#134063)
This commit also vectorizes the builtins.
Commit: 65ed35393cc8a3b896d794ab316e0357d907efff
https://github.com/llvm/llvm-project/commit/65ed35393cc8a3b896d794ab316e0357d907efff
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/CmpPredicate.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[IR] Add helper `CmpPredicate::dropSameSign` (#134071)
Address review comment
https://github.com/llvm/llvm-project/pull/133711#discussion_r2024519641
Commit: 48a4b14cb65d56ec3bbb473887c31d251092c83c
https://github.com/llvm/llvm-project/commit/48a4b14cb65d56ec3bbb473887c31d251092c83c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/whole-registers-compare.ll
Log Message:
-----------
[SLP]Fix whole vector registers calculations for compares
Need to check that the calculated number of the elements is not larger
than the original number of scalars to prevent a compiler crash.
Fixes #134013
Commit: f99072bd8c6b479badfda0a8affd4964b26af4f7
https://github.com/llvm/llvm-project/commit/f99072bd8c6b479badfda0a8affd4964b26af4f7
Author: yonghong-song <yhs at fb.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/CodeGen/attr-btf_type_tag-similar-type.c
M clang/test/CodeGen/attr-btf_type_tag-typedef-field.c
Log Message:
-----------
[Clang][BPF] Add tests for btf_type_tag c2x-style attributes (#133666)
For btf_type_tag implementation, in order to have the same results with
clang (__attribute__((btf_type_tag("...")))), gcc intends to use c2x
syntax '[[...]]'. Clang also supports similar c2x syntax. Currently, the
clang selftest contains the following five tests:
```
attr-btf_type_tag-func.c
attr-btf_type_tag-similar-type.c
attr-btf_type_tag-var.c
attr-btf_type_tag-func-ptr.c
attr-btf_type_tag-typedef-field.c
```
Tests attr-btf_type_tag-func.c and attr-btf_type_tag-var.c already have
c2x syntax test.
Test attr-btf_type_tag-func-ptr.c does not support c2x syntax when
'__attribute__((...))' is replaced with with '[[...]]'. This should not
be an issue since we do not have use cases for function pointer yet.
This patch added '[[...]]' syntax for
```
attr-btf_type_tag-similar-type.c
attr-btf_type_tag-typedef-field.c
```
Commit: 3843dfeaf71a310d77a8c481dcea207a685fde8e
https://github.com/llvm/llvm-project/commit/3843dfeaf71a310d77a8c481dcea207a685fde8e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
Log Message:
-----------
[X86] Add demanded elts test coverage for vXi16 VPERMW nodes
Requested for #133923
Commit: ffaaaceaa1cfaa7103196cc7f307ffcb61d73558
https://github.com/llvm/llvm-project/commit/ffaaaceaa1cfaa7103196cc7f307ffcb61d73558
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv64.ll
Log Message:
-----------
[RISCV] Add test for vmv.s.x into a zeroinitializer vector. NFC
This is generated by the loop vectorizer for out-of-loop add
reductions with some starting value
Commit: e6c2fdc90fe40edeb2e2ce85a24fc88b82644b29
https://github.com/llvm/llvm-project/commit/e6c2fdc90fe40edeb2e2ce85a24fc88b82644b29
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M libcxx/include/__vector/vector_bool.h
A libcxx/test/std/containers/sequences/vector.bool/small_allocator_size.pass.cpp
Log Message:
-----------
[libc++] Fix ambiguous call to std::max in vector<bool> (#119801)
Closes #121713.
Commit: 2b7fe90a016ed402a1e52d4e13b6112c206369ea
https://github.com/llvm/llvm-project/commit/2b7fe90a016ed402a1e52d4e13b6112c206369ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.cpp
Log Message:
-----------
llvm-reduce: Avoid worklist in simplify-instruction (#134066)
Commit: c132bd6885a67c7684c8847244a41f4038154c6c
https://github.com/llvm/llvm-project/commit/c132bd6885a67c7684c8847244a41f4038154c6c
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv64.ll
Log Message:
-----------
[RISCV] Add test for vmv.s.x of an immediate into a zeroinitializer vector. NFC
The immediate version of ffaaaceaa1cfaa7103196cc7f307ffcb61d73558
Commit: ee60f7c7a4e4e400918c83decb6cd498aff94012
https://github.com/llvm/llvm-project/commit/ee60f7c7a4e4e400918c83decb6cd498aff94012
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/include/lldb/Utility/UUID.h
M lldb/source/Core/Telemetry.cpp
M lldb/source/Utility/UUID.cpp
M lldb/unittests/Utility/UUIDTest.cpp
Log Message:
-----------
[lldb] Hoist UUID generation into the UUID class (#133662)
Hoist UUID generation into the UUID class and add a trivial unit test.
This also changes the telemetry code to drop the double underscore if we
failed to generate a UUID and subsequently logs to the Host instead of
Object log channel.
Commit: 04676c61604bc81062581719dadf070ab0b19385
https://github.com/llvm/llvm-project/commit/04676c61604bc81062581719dadf070ab0b19385
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
M clang/test/CXX/class/p2-0x.cpp
M clang/test/SemaCXX/MicrosoftExtensions.cpp
M clang/test/SemaCXX/warn-final-dtor-non-final-class.cpp
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Revert "Enable unnecessary-virtual-specifier by default" (#134105)
Reverts llvm/llvm-project#133265
This causes the whole libc++ CI to fail, since we're not building
against a compiler built from current trunk. Specifically, the CMake
changes causes some feature detection to fail, resulting in CMake
being unable to configure libc++.
Commit: 7dce16a0e56789d2a1052317ae2a1328e6071a00
https://github.com/llvm/llvm-project/commit/7dce16a0e56789d2a1052317ae2a1328e6071a00
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
[docs][GitHub] Update docs for stacked PRs (#132424)
Commit: 84cb08e11866dda721e9a1b5a39c4e963fc36c32
https://github.com/llvm/llvm-project/commit/84cb08e11866dda721e9a1b5a39c4e963fc36c32
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/Target/LLVM/ROCDL/Target.cpp
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/unittests/Target/LLVM/SerializeROCDLTarget.cpp
Log Message:
-----------
[MLIR][AMDGPU] Bump to COV6 (#133849)
We already bump to COV6 by default in the front-end and backend. This PR
is for MLIR.
Note that COV6 requires ROCm 6.3+.
Commit: f7591ee161bc3ebd139b330e74263b26dc5608fb
https://github.com/llvm/llvm-project/commit/f7591ee161bc3ebd139b330e74263b26dc5608fb
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
Log Message:
-----------
[LV] Exercise type-mismatch with RT-check conflict rdx (#130295)
The test suite of LoopVectorize suffers from a coverage hole when types
mismatch, and runtime checks are needed, with a conflict redux. Fix this
coverage hole by adding tests.
Commit: 00122bb56b81592d8be66dd06c43a94be7c88c9c
https://github.com/llvm/llvm-project/commit/00122bb56b81592d8be66dd06c43a94be7c88c9c
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/induction-unroll-novec.ll
Log Message:
-----------
[LV] Regen a test with UTC (#134076)
Commit: 6f959a46c0225b99b1d4342eb01999f6cf2961b8
https://github.com/llvm/llvm-project/commit/6f959a46c0225b99b1d4342eb01999f6cf2961b8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/source/Utility/UUID.cpp
Log Message:
-----------
[lldb] uint8_t -> unsigned short in std::independent_bits_engine
According to [1], the template parameter must be cv-unqualified and one
of unsigned short, unsigned int, unsigned long, or unsigned long long.
Should fix the following MSVC error:
error: static assertion failed due to requirement
'_Is_any_of_v<unsigned char, unsigned short, unsigned int, unsigned
long, unsigned long long>': invalid template argument for
independent_bits_engine: N4659
[1] https://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine
Commit: e84b57dfbf36626205d6cd4c8007a3e511b7a296
https://github.com/llvm/llvm-project/commit/e84b57dfbf36626205d6cd4c8007a3e511b7a296
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lld/ELF/ScriptParser.cpp
M lld/docs/ReleaseNotes.rst
M lld/test/ELF/linkerscript/nocrossrefs.test
M lld/test/ELF/linkerscript/overlay.test
Log Message:
-----------
[LLD][ELF] Support OVERLAY NOCROSSREFS (#133807)
This allows NOCROSSREFS to be specified in OVERLAY linker script
descriptions. This is a particularly useful part of the OVERLAY syntax,
since it's very rarely possible for one overlay section to sensibly
reference another.
Closes #128790
Commit: 8b67f362583db5f9ace7238bcc174ec6cd11527f
https://github.com/llvm/llvm-project/commit/8b67f362583db5f9ace7238bcc174ec6cd11527f
Author: Fehr Mathieu <mathieu.fehr at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Dialect/Arith/expand-ops.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-arith-expand-ceildivsi.mlir
Log Message:
-----------
[mlir] [arith] Fix ceildivsi lowering in arith-expand (#133774)
This fixes the current lowering of `arith.ceildivsi` in the arith-expand
pass, which was previously incorrect. The new version is based on the
lowering of `arith.floordivsi`, and will not introduce new undefined
behavior or poison during the lowering. It also replaces one division
with a multiplication.
The previous lowering of `ceildivsi(n, m)` was the following:
```
x = (m > 0) ? -1 : 1
(n*m>0) ? ((n+x) / m) + 1 : - (-n / m)
```
This caused two problems:
* In the case where `n` is INT_MIN and `m` is positive, the result would
be poison instead of an actual value
* In the case where `n` is INT_MAX and `m` is `-1`, this would trigger
undefined behavior, while the original code wouldn't. This is because
`n+x` would be equal to `INT_MIN` (`INT_MAX + 1`), so the `(n+x) / m`
division would overflow and trigger UB.
Commit: 4a4d41e723a0dd794043066eb5609f5eb0547948
https://github.com/llvm/llvm-project/commit/4a4d41e723a0dd794043066eb5609f5eb0547948
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/Driver/Inputs/SYCL/bar.ll
M clang/test/Driver/Inputs/SYCL/baz.ll
M clang/test/Driver/Inputs/SYCL/foo.ll
M clang/test/Driver/Inputs/SYCL/libsycl.ll
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/tools/clang-sycl-linker/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
Log Message:
-----------
[SYCL][SPIR-V Backend][clang-sycl-linker] Add SPIR-V backend support inside clang-sycl-linker (#133967)
This PR does the following:
1. Use SPIR-V backend to do LLVM to SPIR-V translation inside
clang-sycl-linker
2. Remove llvm-spirv translator from clang-sycl-linker Currently, no
SPIR-V extensions are enabled for SYCL compilation flow. This will be
updated in subsequent commits.
Thanks
Note: This is one of the many PRs being introduced to add SYCL
programming model support to LLVM
([RFC](https://discourse.llvm.org/t/rfc-add-sycl-programming-model-support/50812)).
---------
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: ddc48fefe389789f64713b5924a03fb2b7961ef3
https://github.com/llvm/llvm-project/commit/ddc48fefe389789f64713b5924a03fb2b7961ef3
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M libclc/CMakeLists.txt
A libclc/clc/include/clc/math/clc_native_exp10.h
A libclc/clc/include/clc/math/clc_native_powr.h
A libclc/clc/include/clc/math/clc_native_tan.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_native_exp10.cl
A libclc/clc/lib/generic/math/clc_native_exp10.inc
A libclc/clc/lib/generic/math/clc_native_powr.cl
A libclc/clc/lib/generic/math/clc_native_powr.inc
A libclc/clc/lib/generic/math/clc_native_tan.cl
A libclc/clc/lib/generic/math/clc_native_tan.inc
M libclc/generic/include/clc/math/native_divide.h
M libclc/generic/include/clc/math/native_powr.h
M libclc/generic/lib/math/native_exp10.cl
R libclc/generic/lib/math/native_exp10.inc
M libclc/generic/lib/math/native_powr.cl
R libclc/generic/lib/math/native_powr.inc
M libclc/generic/lib/math/native_tan.cl
R libclc/generic/lib/math/native_tan.inc
Log Message:
-----------
[libclc] Move native_(exp10|powr|tan) to CLC library (#134080)
These are the three remaining native builtins not yet ported.
There are elementwise versions of exp10 and tan which correspond to the
intrinsics, which may be preferable to the current versions which route
through other native builtins. Those could be changed in a follow-up if
desired.
Commit: efca37fda55ade9fd079c932ad14ab59c3bfecbc
https://github.com/llvm/llvm-project/commit/efca37fda55ade9fd079c932ad14ab59c3bfecbc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-reduce.rst
M llvm/tools/llvm-reduce/llvm-reduce.cpp
Log Message:
-----------
llvm-reduce: Change exit code for uninteresting inputs (#134021)
This makes it easier to reduce llvm-reduce with llvm-reduce to filter
cases where the input reduced too much.
Not sure if it's possible to test the exit code in lit.
Commit: 340f06a8d4919b7a2d1bb8fca7ff40245e016f55
https://github.com/llvm/llvm-project/commit/340f06a8d4919b7a2d1bb8fca7ff40245e016f55
Author: AdityaK <hiraditya at msn.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
A mlir/test/Dialect/Shape/fold-div.mlir
Log Message:
-----------
Fix: bail out when divisor is zero (#133518)
Fixes: #131279
Commit: 74ec038ffb34575ee93fa313cd0ea0db0c0a7e0a
https://github.com/llvm/llvm-project/commit/74ec038ffb34575ee93fa313cd0ea0db0c0a7e0a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
Log Message:
-----------
[OMPIRBuilder] Don't include MemorySSAUpdater.h (NFC)
This header does not use MemorySSA in any way -- it was just using
a typedef from it. Write out the type instead.
Commit: fa2a6d68c6f35e478af3425760ae39e866049eee
https://github.com/llvm/llvm-project/commit/fa2a6d68c6f35e478af3425760ae39e866049eee
Author: Ryan Buchner <92571492+bababuck at users.noreply.github.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/select-constant-xor.ll
Log Message:
-----------
[CodeGenPrepare][RISCV] Combine (X ^ Y) and (X == Y) where appropriate (#130922)
Fixes #130510.
In RISCV, modify the folding of (X ^ Y == 0) -> (X == Y) to account for
cases where the (X ^ Y) will be re-used.
If a constant is being used for the XOR before a branch, ensure that it
is small enough to fit within a 12-bit immediate field. Otherwise, the
equality check is more efficient than the check against 0, see the
following:
```
# %bb.0:
lui a1, 5
addiw a1, a1, 1365
xor a0, a0, a1
beqz a0, .LBB0_2
# %bb.1:
ret
.LBB0_2:
```
```
# %bb.0:
lui a1, 5
addiw a1, a1, 1365
beq a0, a1, .LBB0_2
# %bb.1:
xor a0, a0, a1
ret
.LBB0_2:
```
Similarly, if the XOR is between 1 and a size one integer, we should
still fold away the XOR since that comparison can be optimized as a
comparison against 0.
```
# %bb.0:
slt a0, a0, a1
xor a0, a0, 1
beqz a0, .LBB0_2
# %bb.1:
ret
.LBB0_2:
```
```
# %bb.0:
slt a0, a0, a1
bnez a0, .LBB0_2
# %bb.1:
xor a0, a0, 1
ret
.LBB0_2:
```
One question about my code is that I used a hard-coded value for the
width of a RISCV ALU immediate. Do you know of a way that I can gather
this from the `context`, I was unable to devise one.
Commit: 711b15d179b3bf861eceb75e30cb9a39d1d88857
https://github.com/llvm/llvm-project/commit/711b15d179b3bf861eceb75e30cb9a39d1d88857
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
Log Message:
-----------
[RISCV] Mark subvector extracts from index 0 as cheap (#134101)
Previously we only marked fixed length vector extracts as cheap, so this
extends it to any extract at index 0 which should just be a subreg
extract.
This allows extracts of i1 vectors to be considered for DAG combines,
but also scalable vectors too.
This causes some slight improvements with large legalized fixed-length
vectors, but the underlying motiviation for this is to actually prevent
an unprofitable DAG combine on a scalable vector in an upcoming patch.
Commit: b6e2df54c4c0de6786f98ec5feb8223aa7677dc9
https://github.com/llvm/llvm-project/commit/b6e2df54c4c0de6786f98ec5feb8223aa7677dc9
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
Log Message:
-----------
[MC] Move some member variables from AsmParser to MCAsmParser
to eliminate some virtual functions and avoid duplication
between AsmParser/MasmParser.
Commit: d7724c8ea313e5d64ef35102958213dcd98f53ea
https://github.com/llvm/llvm-project/commit/d7724c8ea313e5d64ef35102958213dcd98f53ea
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/AST/StmtOpenACC.h
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/AST/ast-print-openacc-atomic-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/SemaOpenACC/atomic-construct-ast.cpp
M clang/test/SemaOpenACC/atomic-construct.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] allow 'if' clause on 'atomic' construct
This was added in OpenACC PR #511 in the 3.4 branch. From an AST/Sema
perspective this is pretty trivial as the infrastructure for 'if'
already exists, however the atomic construct needed to be taught to take
clauses. This patch does that and adds some testing to do so.
Commit: dde0be9d9709f7c983443327024fc5983a9b18d1
https://github.com/llvm/llvm-project/commit/dde0be9d9709f7c983443327024fc5983a9b18d1
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
A llvm/test/Transforms/SimplifyCFG/merge-calls-memprof-left.ll
A llvm/test/Transforms/SimplifyCFG/merge-calls-memprof-right.ll
Log Message:
-----------
[Metadata] Handle memprof, callsite merging when one is missing. (#132106)
For memprof and callsite metadata we want to pick one deterministically
and keep that even if one of them may be missing.
Commit: c18994c7cdf68dfbb35c998909aa837169bb0c25
https://github.com/llvm/llvm-project/commit/c18994c7cdf68dfbb35c998909aa837169bb0c25
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
A llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-hoist.ll
A llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-sink.ll
Log Message:
-----------
[Metadata] Preserve MD_prof when merging instructions when one is missing. (#132433)
Preserve branch weight metadata when merging instructions if one of the
instructions is missing metadata. This is similar in behaviour to what
we do today for other types of metadata such as mmra, memprof and
callsite metadata.
Commit: aa33c095617400a23a2b814c4defeb12e7761639
https://github.com/llvm/llvm-project/commit/aa33c095617400a23a2b814c4defeb12e7761639
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
Log Message:
-----------
[flang] Fix a warning
This patch fixes:
flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp:184:18: error:
unused variable 'loc' [-Werror,-Wunused-variable]
Commit: a3ac318e5f8668ec5b79dd86639881dfb2e88b69
https://github.com/llvm/llvm-project/commit/a3ac318e5f8668ec5b79dd86639881dfb2e88b69
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/test/API/functionalities/thread/finish-from-empty-func/TestEmptyFuncThreadStepOut.py
Log Message:
-----------
[lldb] Skip test with older version of clang
Commit: 4688719cf5a9b86508be8c93832e43f2fef4533f
https://github.com/llvm/llvm-project/commit/4688719cf5a9b86508be8c93832e43f2fef4533f
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/link-device-code.test
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] Fix flaky failure and add REQUIRES (#134125)
This should fix failures caused by
https://github.com/llvm/llvm-project/pull/133967
Attn: @sarnex
Thanks
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: a57023b6a04849f9133d83bdcd006808702d5f66
https://github.com/llvm/llvm-project/commit/a57023b6a04849f9133d83bdcd006808702d5f66
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
Log Message:
-----------
Add missing include for llvm::Error after 74ec038ffb34575ee93fa313cd0ea0db0c0a7e0a
Commit: 540dd89778e1ce54d6e064f9196434b8775b5f4f
https://github.com/llvm/llvm-project/commit/540dd89778e1ce54d6e064f9196434b8775b5f4f
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/link-device-code.test
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
Revert "[clang-sycl-linker] Fix flaky failure and add REQUIRES" (#134127)
Reverts llvm/llvm-project#134125
Commit: 0375ef07c3e05e972e723779c5ca142130961e5e
https://github.com/llvm/llvm-project/commit/0375ef07c3e05e972e723779c5ca142130961e5e
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/test/CodeGenOpenCL/builtins-amdgcn-cvt-off-f32-i4.cl
A clang/test/SemaOpenCL/builtins-amdgcn-cvt-off-f32-i4-err.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.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/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.off.f32.i4.ll
A llvm/test/Transforms/InstCombine/AMDGPU/simplify-amdgcn.cvt.off.f32.i4.ll
Log Message:
-----------
[Clang][AMDGPU] Add __builtin_amdgcn_cvt_off_f32_i4 (#133741)
This built-in maps to `V_CVT_OFF_F32_I4` which treats its input as
a 4-bit signed integer and returns `0.0625f * src`.
SWDEV-518861
Commit: beae0e9f1a7c16e5603e443d51a7155e0c713b04
https://github.com/llvm/llvm-project/commit/beae0e9f1a7c16e5603e443d51a7155e0c713b04
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/test/CodeGen/link-builtin-bitcode.c
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
R clang/test/CodeGenOpenCL/builtins-amdgcn-gfx942.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-lds.cl
R clang/test/SemaOpenCL/builtins-amdgcn-gfx942-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-global-load-lds-err.cl
M flang/test/Lower/OpenMP/target_cpu_features.f90
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/TargetParser/TargetParser.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.lds.err.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.err.ll
Log Message:
-----------
[AMDGPU] Use a target feature to enable __builtin_amdgcn_global_load_lds on gfx9/10 (#133055)
This patch introduces the `vmem-to-lds-load-insts` target feature, which
can be used to enable builtins `__builtin_amdgcn_global_load_lds` and
`__builtin_amdgcn_raw_ptr_buffer_load_lds` on platforms which have this
feature.
This feature is only available on gfx9/10.
A limitation of using a common target feature for both builtins is that
we could have made `__builtin_amdgcn_raw_ptr_buffer_load_lds` available
on gfx6,7,8.
Commit: 32dff270603bb2ea0f0002bf57d29c71319736d6
https://github.com/llvm/llvm-project/commit/32dff270603bb2ea0f0002bf57d29c71319736d6
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/link-device-code.test
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] Fix flaky failure and add REQUIRES (Try #2) (#134130)
This should fix failures caused by
https://github.com/llvm/llvm-project/pull/133967
Attn: @sarnex
Thanks
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: f475ccd3794ebce22950b707ad390fae7e235b46
https://github.com/llvm/llvm-project/commit/f475ccd3794ebce22950b707ad390fae7e235b46
Author: Amy Huang <akhuang at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Fix to the libc BUILD.bazel file after changing atan_utils.h deps. (#134128)
Additional fix for libc BUILD.bazel after commit 8741412 (#133980)
This seems to match libc/src/math/generic/CMakeLists.txt.
Commit: 843ef77dc22afd1923b891acd4c46c8f8c8c93ae
https://github.com/llvm/llvm-project/commit/843ef77dc22afd1923b891acd4c46c8f8c8c93ae
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/matched-nodes-updated.ll
Log Message:
-----------
[SLP]Update mapping between values and their matching entries upon selection
Need to update the mapping between gathered values and their matching
entries, if the list of the entries is updated and only some of them are
selected for final shuffling.
Fixes #134085
Commit: 60efed3f2025cc9612570487dba5cb299ee28167
https://github.com/llvm/llvm-project/commit/60efed3f2025cc9612570487dba5cb299ee28167
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/CodeGenHLSL/builtins/dot.hlsl
Log Message:
-----------
[HLSL] Update __builtin_hlsl_dot builtin Sema Checking to fix error when passed an array literal 1u.xxxx (#133941)
update dot builtin sema checking and codegen
new test
fix tests
Closes #133659
Commit: 3bdf9a08804a5b424fd32fef3b0089f3a6db839d
https://github.com/llvm/llvm-project/commit/3bdf9a08804a5b424fd32fef3b0089f3a6db839d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
M llvm/test/CodeGen/WebAssembly/cfi.ll
M llvm/test/TableGen/GlobalISelCombinerEmitter/type-inference.td
M llvm/test/Transforms/LowerTypeTests/function-disjoint.ll
M llvm/test/Transforms/LowerTypeTests/nonstring.ll
M llvm/test/tools/llvm-split/preserve-locals.ll
M llvm/test/tools/llvm-split/scc-const-alias.ll
M llvm/test/tools/llvm-split/scc-global-alias.ll
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[EquivalenceClasses] Use SmallVector for deterministic iteration order. (#134075)
Currently iterators over EquivalenceClasses will iterate over std::set,
which guarantees the order specified by the comperator. Unfortunately in
many cases, EquivalenceClasses are used with pointers, so iterating over
std::set of pointers will not be deterministic across runs.
There are multiple places that explicitly try to sort the equivalence
classes before using them to try to get a deterministic order
(LowerTypeTests, SplitModule), but there are others that do not at the
moment and this can result at least in non-determinstic value naming in
Float2Int.
This patch updates EquivalenceClasses to keep track of all members via a
extra SmallVector and removes code from LowerTypeTests and SplitModule
to sort the classes before processing.
Overall it looks like compile-time slightly decreases in most cases, but
close to noise:
https://llvm-compile-time-tracker.com/compare.php?from=7d441d9892295a6eb8aaf481e1715f039f6f224f&to=b0c2ac67a88d3ef86987e2f82115ea0170675a17&stat=instructions
PR: https://github.com/llvm/llvm-project/pull/134075
Commit: c87dc2b7d4ac0131cb97f096be522a50a4b3068b
https://github.com/llvm/llvm-project/commit/c87dc2b7d4ac0131cb97f096be522a50a4b3068b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
Log Message:
-----------
[lldb-dap] Speed up TestDAP_Progress (#134048)
While trying to make progress on #133782, I noticed that
TestDAP_Progress was taking 90 seconds to complete. This patch brings
that down to 10 seocnds by making the following changes:
1. Don't call `wait_for_event` with a 15 second timeout. By the time we
call this, all progress events have been emitted, which means that we're
just sitting there until we hit the timeout.
2. Don't use 10 steps (= 10 seconds) for indeterminate progress. We have
two indeterminate progress tests so that's 6 seconds instead of 20.
3. Don't launch the process over and over. Once we have a dap session,
we can clear the progress vector and emit new progress events.
Commit: 6f1347d57bdaed75b73b2013a96a4a69c8969ebe
https://github.com/llvm/llvm-project/commit/6f1347d57bdaed75b73b2013a96a4a69c8969ebe
Author: ofri frishman <ofri4321 at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
M mlir/test/Dialect/Tensor/bubble-up-extract-slice-op.mlir
Log Message:
-----------
[MLIR] Bubble up tensor.extract_slice through tensor.collapse_shape (#131982)
Add a pattern that bubbles up tensor.extract_slice through
tensor.collapse_shape.
The pattern is registered in a pattern population function that is used
by the transform op
transform.apply_patterns.tensor.bubble_up_extract_slice and by the
tranform op transform.structured.fuse as a cleanup pattern.
This pattern enables tiling and fusing op chains which contain
tensor.collapse_shape if added as a cleanup pattern of tile and fuse
utility.
Without this pattern that would not be possible, as
tensor.collapse_shape does not implement the tiling interface. This is
an additional pattern to the one added in PR #126898
Commit: fb0e7b5f161118a24eeef39b05882f6950be43c0
https://github.com/llvm/llvm-project/commit/fb0e7b5f161118a24eeef39b05882f6950be43c0
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/bswap.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
M llvm/test/CodeGen/AMDGPU/icmp.i16.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.alignbyte.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
A llvm/test/CodeGen/AMDGPU/true16-fold.mir
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] Implement sgpr folding in true16 (#128929)
We haven't implemented 16 bit SGPRs. Currently allow 32-bit SGPRs to be
folded into True16 bit instructions taking 16 bit values. Also use
sgpr_32 when Imm is copied to spgr_lo16 so it could be further folded.
This improves generated code quality.
Commit: c59d3a268444b14c2db0fdea7e4bd929bb30630b
https://github.com/llvm/llvm-project/commit/c59d3a268444b14c2db0fdea7e4bd929bb30630b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__config
Log Message:
-----------
[libc++] Add visibility annotations to the std namespace with GCC (#133233)
This allows us to remove the need for `_LIBCPP_TEMPLATE_VIS` and fixes a
bunch of missing annotations for RTTI when used across dylib boundaries.
`_LIBCPP_TEMPLATE_VIS` itself will be removed in a separate patch, since
it touches a lot of code.
This patch is a no-op for Clang. Only GCC is affected.
Commit: 2026873fb8a1f654aa920cd5ea8074e55053973b
https://github.com/llvm/llvm-project/commit/2026873fb8a1f654aa920cd5ea8074e55053973b
Author: David Peixotto <peix at meta.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/PluginManager.h
M lldb/source/Core/PluginManager.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/PluginManagerTest.cpp
Log Message:
-----------
Add enable/disable api for SystemRuntime plugins (#133794)
This commit adds support for enabling and disabling plugins by name. The
changes are made generically in the `PluginInstances` class, but
currently we only expose the ability to SystemRuntime plugins. Other
plugins types can be added easily.
We had a few design goals for how disabled plugins should work
1. Plugins that are disabled should still be visible to the system. This
allows us to dynamically enable and disable plugins and report their
state to the user.
2. Plugin order should be stable across disable and enable changes. We
want avoid changing the order of plugin lookup. When a plugin is
re-enabled it should return to its original slot in the creation order.
3. Disabled plugins should not appear in PluginManager operations.
Clients should be able to assume that only enabled plugins will be
returned from the PluginManager.
For the implementation we modify the plugin instance to maintain a bool
of its enabled state. Existing clients external to the Instances class
expect to iterate over only enabled instance so we skip over disabed
instances in the query and snapshot apis. This way the client does not
have to manually check which instances are enabled.
Commit: 564e04b703dc5df062f862e32c00bf1a1716f96f
https://github.com/llvm/llvm-project/commit/564e04b703dc5df062f862e32c00bf1a1716f96f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
A flang/test/Semantics/OpenMP/declare-target-function-name-with-symbols.f90
Log Message:
-----------
[flang][OpenMP] Use function symbol on DECLARE TARGET (#134107)
Consider:
```
function foo()
!$omp declare target(foo) ! This `foo` was a function-result symbol
...
end
```
When resolving symbols, for this case use the symbol corresponding to
the function instead of the symbol corresponding to the function result.
Currently, this will result in an error:
```
error: A variable that appears in a DECLARE TARGET directive must be
declared in the scope of a module or have the SAVE attribute, either
explicitly or implicitly
```
Commit: df9e5ae5b40c4d245d904a2565e46f5b7ab9c7c8
https://github.com/llvm/llvm-project/commit/df9e5ae5b40c4d245d904a2565e46f5b7ab9c7c8
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/shl-bo.ll
M llvm/test/Transforms/InstCombine/shl-twice-constant.ll
M llvm/test/Transforms/InstCombine/sub.ll
Log Message:
-----------
[InstCombine] Match scalable splats in m_ImmConstant (#132522)
#118806 fixed an infinite loop in FoldShiftByConstant that could occur
when the shift amount was a ConstantExpr.
However this meant that FoldShiftByConstant no longer kicked in for
scalable vectors because scalable splats are represented by
ConstantExprs.
This fixes it by allowing scalable splats of non-ConstantExprs in
m_ImmConstant, which also fixes a few other test cases where scalable
splats were being missed.
But I'm also hoping that UseConstantIntForScalableSplat will eventually
remove the need for this.
I noticed this when trying to reverse a combine on RISC-V in #132245,
and saw that the resulting vector and scalar forms were different.
---------
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Commit: 2bee24632f38699f1af8fdf4daa5b28053c7ae5f
https://github.com/llvm/llvm-project/commit/2bee24632f38699f1af8fdf4daa5b28053c7ae5f
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/include/mlir/Interfaces/SideEffectInterfaceBase.td
Log Message:
-----------
[mlir][bugfix] Fix erroneous condition in `getEffectsOnResource` (#133638)
This patch corrects an invalid condition in `getEffectsOnResource` used
to identify relevant "resources":
```cpp
return it.getResource() != resource;
```
The current implementation assumes that only one instance of each
resource will exist, so comparing raw pointers is both safe and
sufficient. This assumption stems from constructs like:
```cpp
static DerivedResource *get() {
static DerivedResource instance;
return &instance;
}
```
i.e., resource instances returned via static singleton methods.
However, as discussed in
* https://github.com/llvm/llvm-project/issues/129216,
this assumption breaks in practice — notably on macOS (Apple Silicon)
when built with:
* `-DBUILD_SHARED_LIBS=On`.
In such cases, multiple instances of the same logical resource may exist
across shared library boundaries, leading to incorrect behavior and
causing failures in tests like:
* test/Dialect/Transform/check-use-after-free.mlir
This patch replaces the pointer comparison with a comparison based on
resource identity:
```cpp
return it.getResource()->getResourceID() != resource->getResourceID();
```
This approach aligns better with the intent of `getEffectsOnResource`,
which is to:
```cpp
/// Collect all of the effect instances that operate on the provided
/// resource (...)
```
Fixes #129216
Commit: bb8a7a7349f9842e587cb43b2a81b3d46c1e70ef
https://github.com/llvm/llvm-project/commit/bb8a7a7349f9842e587cb43b2a81b3d46c1e70ef
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/AST/ast-print-openacc-wait-construct.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/SemaOpenACC/combined-construct-wait-ast.cpp
M clang/test/SemaOpenACC/combined-construct-wait-clause.c
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct-wait-ast.cpp
M clang/test/SemaOpenACC/data-construct-wait-clause.c
A clang/test/SemaOpenACC/no-empty-pqr-list.cpp
M clang/test/SemaOpenACC/update-construct.cpp
M clang/test/SemaOpenACC/wait-construct-ast.cpp
Log Message:
-----------
[OpenACC] Implement 'pqr-list' has at least one 1 item.
OpenACC Github PR#499 defines the pqr-list as having at least 1 item. We
already handle that for all but 'wait', so this patch just does the work
to add it for 'wait', plus adds tests.
Commit: 554859c73688ec11786a060613989d1a333991bb
https://github.com/llvm/llvm-project/commit/554859c73688ec11786a060613989d1a333991bb
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/VE/VETargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[TTI] Make isLegalMasked{Load,Store} take an address space (#134006)
In order to facilitate targets that only support masked loads/stores
on certain address spaces (AMDGPU will support them in an upcoming
patch, but only for address space 7), add an AddressSpace parameter
to isLegalMaskedLoad and isLegalMaskedStore
Commit: 51d1c7288662ea801b07133fd2d22aff6bac50e2
https://github.com/llvm/llvm-project/commit/51d1c7288662ea801b07133fd2d22aff6bac50e2
Author: Abhinav Kumar <96587705+kr-2003 at users.noreply.github.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M libc/src/__support/CPP/type_traits/is_signed.h
M libc/src/__support/CPP/type_traits/is_unsigned.h
M libc/test/src/__support/CPP/type_traits_test.cpp
Log Message:
-----------
[libc] Added support for fixed-points in ``is_signed`` and ``is_unsigned``. (#133371)
Fixes #133365
## Changes Done
- Changed the signed checking to
```cpp
struct is_signed : bool_constant<((is_fixed_point<T> || is_arithmetic_v<T>) && (T(-1) < T(0)))>
```
in ``/libc/src/__support/CPP/type_traits/is_signed.h``. Added check for
fixed-points.
- But, got to know that this will fail for ``unsigned _Fract`` or any
unsigned fixed-point because ``unsigned _Fract`` can’t represent -1 in
T(-1), while ``unsigned int`` can handle it via wrapping.
- That's why I explicity added ``is_signed`` check for ``unsigned``
fixed-points.
- Same changes to ``/libc/src/__support/CPP/type_traits/is_unsigned.h``.
- Added tests for ``is_signed`` and ``is_unsigned``.
Commit: a8585654c2be671d78206666223dae28fe3ac511
https://github.com/llvm/llvm-project/commit/a8585654c2be671d78206666223dae28fe3ac511
Author: George Burgess IV <george.burgess.iv at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/utils/revert_checker.py
Log Message:
-----------
[llvm][utils] skip revert-checking reverts across branches (#134108)
e2ba1b6ffde4ec607342b1b746d1b57f0f04390a references that it reverts a
commit that's not a parent of e2ba1b6ffde4ec607342b1b746d1b57f0f04390a.
Functionally, this can (and demonstrably does) work(*), but from the
standpoint of the revert checker, it's nonsense. Print a `logging.error`
when it's detected.
Tested by running the revert checker against a commit range that
includes the aforementioned commit; the logging.error was fired
appropriately.
(*) - the specifics here are:
- the _SHA_ that was referenced was on a non-main branch, but
- the commit from the non-main branch was merged into the non-main
branch from main
- ...so the _functional_ commit being reverted was originally landed on
main, but the _SHA_ referenced from main was from a branch that was cut
before the reverted-commit was landed on main
Commit: a1b0b4997e1744827ae8c066f677e416c0b6f16d
https://github.com/llvm/llvm-project/commit/a1b0b4997e1744827ae8c066f677e416c0b6f16d
Author: vporpo <vporpodas at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
Log Message:
-----------
[SandboxVec][NFC] Replace std::regex with llvm::Regex (#134110)
Commit: 4b67c53e206ea13963acb2452d681aa744344018
https://github.com/llvm/llvm-project/commit/4b67c53e206ea13963acb2452d681aa744344018
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use recipe debug loc instead of instr DLs in more cases (NFC)
Update both VPInterleaveRecipe and VPReplicateRecipe codegen to use
debug location directly from the recipe, not the underlying instruction.
This removes another dependency on underlying instructions.
Commit: 38937ac24cc91653c2984e112d548955cb442484
https://github.com/llvm/llvm-project/commit/38937ac24cc91653c2984e112d548955cb442484
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Check line and column for errors in rv(32/64)zcmp-invalid.s. NFC
Same for the Xqccmp version.
Commit: 066787b9bdc4ec5ae7e365b651f37840fd5bb2b5
https://github.com/llvm/llvm-project/commit/066787b9bdc4ec5ae7e365b651f37840fd5bb2b5
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
M llvm/test/CodeGen/AMDGPU/true16-fold.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] fold clamp update for true16 (#128919)
Check through COPY for possible clamp folding for v_mad_mixhi_f16 isel
Commit: db21ae7803333032e466ead0c2a29c6760739936
https://github.com/llvm/llvm-project/commit/db21ae7803333032e466ead0c2a29c6760739936
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 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] Support any_sync and ballot_sync (#134135)
Commit: 42b3f91fd6c850492f6f899d6a0f12ccb948aa1a
https://github.com/llvm/llvm-project/commit/42b3f91fd6c850492f6f899d6a0f12ccb948aa1a
Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir] Vectorize tensor.pad with low padding for unit dims (#133808)
We currently do not have masked vectorization support for tenor.pad with
low padding. However, we can allow this in the special case where the
result dimension after padding is a unit dim. The reason is when we
actually have a low pad on a unit dim, the input size of that dimension
will be (or should be for correct IR) dynamically zero and hence we will
create a zero mask which is correct. If the low pad is dynamically zero
then the lowering is correct as well.
---------
Signed-off-by: Nirvedh <nirvedh at gmail.com>
Commit: 81601cf3ab5dd09635c0b3025004c3cfc146498d
https://github.com/llvm/llvm-project/commit/81601cf3ab5dd09635c0b3025004c3cfc146498d
Author: Chris B <chris.bieneman at me.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[Docs] Clarify that `reassoc` isn't just for reassociation (#133168)
The `reassoc` fast-math flag allows a much wider array of algebraic
transformations than just strictly reassociations. In some cases it does
commutations, distributions, and folds away redundant inverse
operations...
While it might make sense to fix the flag naming at some point, in the
meantime we should at least have the docs be accurate to avoid
confusion.
Commit: 380defd4b3cd980d8b2031136a02764182eaa85b
https://github.com/llvm/llvm-project/commit/380defd4b3cd980d8b2031136a02764182eaa85b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Update VPInterleaveRecipe to take debug loc directly as arg (NFC)
Commit: 76fa9530c9ac7f81a49b840556f51f4838efbfe1
https://github.com/llvm/llvm-project/commit/76fa9530c9ac7f81a49b840556f51f4838efbfe1
Author: Theo de Magalhaes <theodemagalhaes at icloud.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/RecordLayoutBuilder.cpp
A clang/test/SemaCXX/windows-Wpadded-bitfield.cpp
A clang/test/SemaCXX/windows-Wpadded.cpp
Log Message:
-----------
[clang] add support for -Wpadded on Windows (#130182)
Implements the -Wpadded warning for --target=x86_64-windows-msvc etc.
Fixes #61702 .
Commit: acc6bcdc504ad2e8c09a628dc18de0067f7344b8
https://github.com/llvm/llvm-project/commit/acc6bcdc504ad2e8c09a628dc18de0067f7344b8
Author: Sami Tolvanen <samitolvanen at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/CodeGen/patchable-function-entry-section.c
M clang/test/Driver/fpatchable-function-entry.c
M clang/test/Sema/patchable-function-entry-attr.c
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/X86/patchable-function-entry.ll
M llvm/test/Verifier/invalid-patchable-function-entry.ll
Log Message:
-----------
Support alternative sections for patchable function entries (#131230)
With -fpatchable-function-entry (or the patchable_function_entry
function attribute), we emit records of patchable entry locations to the
__patchable_function_entries section. Add an additional parameter to the
command line option that allows one to specify a different default
section name for the records, and an identical parameter to the function
attribute that allows one to override the section used.
The main use case for this change is the Linux kernel using prefix NOPs
for ftrace, and thus depending on__patchable_function_entries to locate
traceable functions. Functions that are not traceable currently disable
entry NOPs using the function attribute, but this creates a
compatibility issue with -fsanitize=kcfi, which expects all indirectly
callable functions to have a type hash prefix at the same offset from
the function entry.
Adding a section parameter would allow the kernel to distinguish between
traceable and non-traceable functions by adding entry records to
separate sections while maintaining a stable function prefix layout for
all functions. LKML discussion:
https://lore.kernel.org/lkml/Y1QEzk%2FA41PKLEPe@hirez.programming.kicks-ass.net/
Commit: 8100bd58a3fc87576bf6d57f79e6bd70e10b83d3
https://github.com/llvm/llvm-project/commit/8100bd58a3fc87576bf6d57f79e6bd70e10b83d3
Author: Hansang Bae <hansang.bae at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M openmp/runtime/src/dllexports
M openmp/runtime/src/include/omp.h.var
M openmp/runtime/src/include/omp_lib.F90.var
M openmp/runtime/src/include/omp_lib.h.var
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_alloc.cpp
M openmp/runtime/src/kmp_ftn_entry.h
M openmp/runtime/src/kmp_ftn_os.h
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_stub.cpp
A openmp/runtime/test/api/omp60_memory_routines.c
Log Message:
-----------
[OpenMP] 6.0 (TR11) Memory Management Update (#97106)
TR11 introduced changes to support target memory management in a unified
way by defining a series of API routines and additional traits. Host
runtime is oblivious to how actual memory resources are mapped when
using the new API routines, so it can only support how the composed
memory space is maintained, and the offload backend must handle which
memory resources are actually used to allocate memory from the memory
space.
Here is summary of the implementation.
* Implemented 12 API routines to get/mainpulate memory space/allocator.
* Memory space composed with a list of devices has a state with resource
description, and runtime is responsible for maintaining the allocated
memory space objects.
* Defined interface with offload runtime to access memory resource list,
and to redirect calls to omp_alloc/omp_free since it requires
backend-specific information.
* Value of omp_default_mem_space changed from 0 to 99, and
omp_null_mem_space took the value 0 as defined in the language.
* New allocator traits were introduced, but how to use them is up to the
offload backend.
* Added basic tests for the new API routines.
Commit: 93d3775da8810e1542873b1cdcec2ea142704561
https://github.com/llvm/llvm-project/commit/93d3775da8810e1542873b1cdcec2ea142704561
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/test/API/lang/objc/tagged-pointer/TestTaggedPointerCmd.py
Log Message:
-----------
[lldb] Fix tagged-pointer info address parsing (#134123)
Change `objc tagged-pointer info` to call
`OptionArgParser::ToRawAddress`.
Previously `ToAddress` was used, but it calls `FixCodeAddress`, which
can erroneously mutate the bits of a tagged pointer.
Commit: 990a086d9da0bc2fd53a6a4c95ecbbe23a297a83
https://github.com/llvm/llvm-project/commit/990a086d9da0bc2fd53a6a4c95ecbbe23a297a83
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/__support/CPP/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after 51d1c7288662ea801b07133fd2d22aff6bac50e2
Commit: f302f35526553abcb46dab278c4494c3d01deb45
https://github.com/llvm/llvm-project/commit/f302f35526553abcb46dab278c4494c3d01deb45
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
R clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/Misc/diag-template-diffing-cxx11.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
Log Message:
-----------
[clang] Track final substitution for Subst* AST nodes (#132748)
Commit: dedb632b833f14ef28c6f8a7f5e8983c1be60fa9
https://github.com/llvm/llvm-project/commit/dedb632b833f14ef28c6f8a7f5e8983c1be60fa9
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-options.hip
Log Message:
-----------
[HIP] Claim `--offload-compress` for `-M` (#133456)
Cmake automatically generates dependency files with all compilation
options provided by users. When users use `--offload-compress` for HIP
compilation, it causes warnings when cmake generates dependency files.
Claim this option to suppress warnings.
Commit: 3f7ca8826776f32526e948b89816db492435f2e2
https://github.com/llvm/llvm-project/commit/3f7ca8826776f32526e948b89816db492435f2e2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
Log Message:
-----------
[lldb-dap] Add progress events to the packet list (#134157)
Before #134048, TestDAP_Progress relied on wait_for_event to block until
the progressEnd came in. However, progress events were not added to the
packet list, so this call would always time out. This PR makes it so
that packets are added to the packet list, and you can block on them.
Commit: c57b9c233a87f37e034445596ed09260cc6b23f5
https://github.com/llvm/llvm-project/commit/c57b9c233a87f37e034445596ed09260cc6b23f5
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/unary.cpp
A clang/test/CIR/IR/unary.cir
Log Message:
-----------
[CIR] Generate the nsw flag correctly for unary ops (#133815)
A previous checkin used a workaround to generate the nsw flag where
needed for unary ops. This change upstreams a subsequent change that was
made in the incubator to generate the flag correctly.
Commit: 1edb6b0af1c47f88aa5c230a1a2b769eeb3c30aa
https://github.com/llvm/llvm-project/commit/1edb6b0af1c47f88aa5c230a1a2b769eeb3c30aa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Fix crash in parseZcmpStackAdj if token is not an integer.
Commit: 40a0e3430442c7ec72e84063ea4b679700d4c3d8
https://github.com/llvm/llvm-project/commit/40a0e3430442c7ec72e84063ea4b679700d4c3d8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Use location of negative sign if present for error in parseZcmpStackAdj
As far as the user is concerned the negative sign and the number
are a single value so the error should point to the beginning.
Commit: be3abfc00f37d07c641b3e2f93eef5d1a446af8e
https://github.com/llvm/llvm-project/commit/be3abfc00f37d07c641b3e2f93eef5d1a446af8e
Author: Jeremy Day <jeremy at thebrowser.company>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
Log Message:
-----------
[lldb] Clear thread name container before writing UTF8 bytes (#134150)
`llvm::convertUTF16ToUTF8String` opens with an assertion that the output
container is empty:
https://github.com/llvm/llvm-project/blob/3bdf9a08804a5b424fd32fef3b0089f3a6db839d/llvm/lib/Support/ConvertUTFWrapper.cpp#L83-L84
It's not clear to me why this function requires the output container to
be empty instead of just overwriting it, but the callsite in
`TargetThreadWindows::GetName` may reuse the container without clearing
it out first, resulting in an assertion failure:
```
# Child-SP RetAddr Call Site
00 000000d2`44b8ea48 00007ff8`beefc12e ntdll!NtTerminateProcess+0x14
01 000000d2`44b8ea50 00007ff8`bcf518ab ntdll!RtlExitUserProcess+0x11e
02 000000d2`44b8ea80 00007ff8`bc0e0143 KERNEL32!ExitProcessImplementation+0xb
03 000000d2`44b8eab0 00007ff8`bc0e4c49 ucrtbase!common_exit+0xc7
04 000000d2`44b8eb10 00007ff8`bc102ae6 ucrtbase!abort+0x69
05 000000d2`44b8eb40 00007ff8`bc102cc1 ucrtbase!common_assert_to_stderr<wchar_t>+0x6e
06 000000d2`44b8eb80 00007fff`b8e27a80 ucrtbase!wassert+0x71
07 000000d2`44b8ebb0 00007fff`b8b821e1 liblldb!llvm::convertUTF16ToUTF8String+0x30 [D:\r\_work\swift-build\swift-build\SourceCache\llvm-project\llvm\lib\Support\ConvertUTFWrapper.cpp @ 88]
08 000000d2`44b8ec30 00007fff`b83e9aa2 liblldb!lldb_private::TargetThreadWindows::GetName+0x1b1 [D:\r\_work\swift-build\swift-build\SourceCache\llvm-project\lldb\source\Plugins\Process\Windows\Common\TargetThreadWindows.cpp @ 198]
09 000000d2`44b8eca0 00007ff7`2a3c3c14 liblldb!lldb::SBThread::GetName+0x102 [D:\r\_work\swift-build\swift-build\SourceCache\llvm-project\lldb\source\API\SBThread.cpp @ 432]
0a 000000d2`44b8ed70 00007ff7`2a3a5ac6 lldb_dap!lldb_dap::CreateThread+0x1f4 [S:\SourceCache\llvm-project\lldb\tools\lldb-dap\JSONUtils.cpp @ 877]
0b 000000d2`44b8ef10 00007ff7`2a3b0ab5 lldb_dap!`anonymous namespace'::request_threads+0xa6 [S:\SourceCache\llvm-project\lldb\tools\lldb-dap\lldb-dap.cpp @ 3906]
0c 000000d2`44b8f010 00007ff7`2a3b0fe8 lldb_dap!lldb_dap::DAP::HandleObject+0x1c5 [S:\SourceCache\llvm-project\lldb\tools\lldb-dap\DAP.cpp @ 796]
0d 000000d2`44b8f130 00007ff7`2a3a8b96 lldb_dap!lldb_dap::DAP::Loop+0x78 [S:\SourceCache\llvm-project\lldb\tools\lldb-dap\DAP.cpp @ 812]
0e 000000d2`44b8f1d0 00007ff7`2a4b5fbc lldb_dap!main+0x1096 [S:\SourceCache\llvm-project\lldb\tools\lldb-dap\lldb-dap.cpp @ 5319]
0f (Inline Function) --------`-------- lldb_dap!invoke_main+0x22 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 78]
10 000000d2`44b8fb80 00007ff8`bcf3e8d7 lldb_dap!__scrt_common_main_seh+0x10c [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288]
11 000000d2`44b8fbc0 00007ff8`beefbf6c KERNEL32!BaseThreadInitThunk+0x17
12 000000d2`44b8fbf0 00000000`00000000 ntdll!RtlUserThreadStart+0x2c
```
This stack trace was captured from the lldb distributed in the Swift
toolchain. The issue is easy to reproduce by resuming from a breakpoint
twice in VS Code.
I've verified that clearing out the container here fixes the assertion
failure.
Commit: ffed17624eb14a52c1db890e4e8e195dbe5f19b6
https://github.com/llvm/llvm-project/commit/ffed17624eb14a52c1db890e4e8e195dbe5f19b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Correct the error location for the X26 check in parseRegListCommon.
We should point to the start of the reglist not the closing parenthesis.
I also moved the check after we finishing parsing the closing brace.
The diagnostic mentions '{ra, s0-s10} or {x1, x8-x9, x18-x26}' so we
should be sure that's what we parsed.
Commit: f68a5185d0959929bd0b0249a8128d0720315dab
https://github.com/llvm/llvm-project/commit/f68a5185d0959929bd0b0249a8128d0720315dab
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.err.ll
Log Message:
-----------
Allow this test to pass when the source is on a read-only filesystem (#134179)
llc attempts to create an empty file in the current directory, but it
can't do that on a read-only file system. Send that empty-output to
stdout, which prevents this failure.
Commit: 7559c64c5e97d9f33563f1c6afcfd7f7aac01046
https://github.com/llvm/llvm-project/commit/7559c64c5e97d9f33563f1c6afcfd7f7aac01046
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/test/tools/llvm-reduce/reduce-functions-blockaddress-wrong-function.ll
Log Message:
-----------
CloneModule: Map global initializers after mapping the function (#134082)
Commit: b55bab229228218341e2f24fc8529c7aaab51e2f
https://github.com/llvm/llvm-project/commit/b55bab229228218341e2f24fc8529c7aaab51e2f
Author: David Peixotto <peix at meta.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/unittests/Core/PluginManagerTest.cpp
Log Message:
-----------
[lldb] Fix plugin manager test failure on windows (#134173)
This is an attempt to fix a test failure from #133794 when running on
windows builds. I suspect we are running into a case where the
[ICF](https://learn.microsoft.com/en-us/cpp/build/reference/opt-optimizations?view=msvc-170)
optimization kicks in and combines the CreateSystemRuntimePlugin*
functions into a single address. This means that we cannot uniquely
unregister the plugin based on its create function address.
The fix is have each create function return a different (bogus) value.
Commit: e5809f01720b9d016f940bc132278f2f2adf0665
https://github.com/llvm/llvm-project/commit/e5809f01720b9d016f940bc132278f2f2adf0665
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/tools/CMakeLists.txt
Log Message:
-----------
[LLVM] Only build the GPU loader utility if it has LLVM-libc (#134141)
Summary:
There were some discussions about this being included by default. I need
to fix this up and codify the use of LLVM libc inside of LLVM. For now,
just turn it off unless the user requested the `libc` GPU stuff. This
matches the old behavior.
Commit: 749c20b3e0b88792c10d7709874f3ae374e8170e
https://github.com/llvm/llvm-project/commit/749c20b3e0b88792c10d7709874f3ae374e8170e
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/utils/lit/tests/Inputs/test-data/dummy_format.py
M llvm/utils/lit/tests/Inputs/test-data/metrics.ini
M llvm/utils/lit/tests/test-data.py
M llvm/utils/lit/tests/test-output.py
Log Message:
-----------
[LIT] Add a test for lit.Test.toMetricValue. NFC
Commit: fb7135ec5239a45b43fae6206f7409fd77c50b9f
https://github.com/llvm/llvm-project/commit/fb7135ec5239a45b43fae6206f7409fd77c50b9f
Author: Ankur Ahir <69181589+Ankur-0429 at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p1.cpp
Log Message:
-----------
[Clang] fixed clang frontend crash with friend class declaration and overload == (#133878)
Commit: 02467f9e2100d451b52bc63abc9c94829d7b83f4
https://github.com/llvm/llvm-project/commit/02467f9e2100d451b52bc63abc9c94829d7b83f4
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
A llvm/test/ThinLTO/X86/ctxprof-separate-module.ll
Log Message:
-----------
[ctxprof] Option to move a whole tree to its own module (#133992)
Modules may contain a mix of functions that participate or don't participate in callgraphs covered by a contextual profile. We currently have been importing all the functions under a context root in the module defining that root, but if the other functions there are covered by flat profiles, the result is difficult to reason about.
This patch allows moving everything under a context root (and that root) in its own module. For now, we expect a module with a filename matching the GUID of the function be present in the set of modules known by the linker. This mechanism can be improved in a later patch.
Subsequent patches will handle implementing "move" instead of "import" semantics for the root function (because we want to make sure only one version of the root exists - so the optimizations we perform are actually the ones being observed at runtime).
Commit: d59b2c4def9fe187317c20f96cc76eda09bc68a0
https://github.com/llvm/llvm-project/commit/d59b2c4def9fe187317c20f96cc76eda09bc68a0
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
Log Message:
-----------
[ctxprof][nfc] Make `computeImportForFunction` a member of `ModuleImportsManager` (#134011)
Commit: ff0c2fbd8eb66688746476a7ec850fb5afb4d588
https://github.com/llvm/llvm-project/commit/ff0c2fbd8eb66688746476a7ec850fb5afb4d588
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/absd.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/absd.ll
Log Message:
-----------
[LoongArch] Pre-commit tests for vector absolute difference (#132898)
Commit: 18c43d01fc61648369fef50999e7df62b3ec292f
https://github.com/llvm/llvm-project/commit/18c43d01fc61648369fef50999e7df62b3ec292f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A lldb/test/Shell/DAP/TestHelp.test
R lldb/test/Shell/DAP/TestOptions.test
A lldb/test/Shell/DAP/TestVersion.test
M lldb/tools/lldb-dap/Options.td
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Add a -v/--version command line argument (#134114)
Add a -v/--version command line argument to print the version of both
the lldb-dap binary and the liblldb it's linked against.
This is motivated by me trying to figure out which lldb-dap I had in my
PATH.
Commit: 94dbe5e405a1e8c9ed1462947e2d5a8e45113d47
https://github.com/llvm/llvm-project/commit/94dbe5e405a1e8c9ed1462947e2d5a8e45113d47
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Remove extra whitespace in the PadOp example (#134113)
Trivial cleanup change.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 4fe0d742752c55d5d10b48620aab30fd81db6645
https://github.com/llvm/llvm-project/commit/4fe0d742752c55d5d10b48620aab30fd81db6645
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating braces (#134039)
Fix #133873
Commit: 4986a7964858979d00f0c9a98d13db555d8a6f0d
https://github.com/llvm/llvm-project/commit/4986a7964858979d00f0c9a98d13db555d8a6f0d
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/test/TableGen/MacroFusion.td
M llvm/utils/TableGen/Common/PredicateExpander.cpp
Log Message:
-----------
[TableGen] Emit `llvm::is_contained` for `CheckOpcode` predicate (#134057)
When the list is large, using `llvm::is_contained` is of higher
performance than a sequence of comparisons. When the list is small,
the `llvm::is_contained` can be inlined and unrolled, which has the
same effect as using a sequence of comparisons.
And the generated code is more readable.
Commit: dcc2182bce3d2ef0e0a991664c51b4b3bfcf7197
https://github.com/llvm/llvm-project/commit/dcc2182bce3d2ef0e0a991664c51b4b3bfcf7197
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
Log Message:
-----------
[Clang] Fix a lambda pattern comparison mismatch after ecc7e6ce4 (#133863)
In ecc7e6ce4, we tried to inspect the `LambdaScopeInfo` on stack to
recover the instantiating lambda captures. However, there was a mismatch
in how we compared the pattern declarations of lambdas: the constraint
instantiation used a tailored `getPatternFunctionDecl()` which is
localized in SemaLambda that finds the very primal template declaration
of a lambda, while `FunctionDecl::getTemplateInstantiationPattern` finds
the latest template pattern of a lambda. This difference causes issues
when lambdas are nested, as we always want the primary template
declaration.
This corrects that by moving `Sema::addInstantiatedCapturesToScope` from
SemaConcept to SemaLambda, allowing it to use the localized version of
`getPatternFunctionDecl`.
It is also worth exploring to coalesce the implementation of
`getPatternFunctionDecl` with
`FunctionDecl::getTemplateInstantiationPattern`. But I’m leaving that
for the future, as I’d like to backport this fix (ecc7e6ce4 made the
issue more visible in clang 20, sorry!), and changing Sema’s ABI would
not be suitable in that regards. Hence, no release note.
Fixes https://github.com/llvm/llvm-project/issues/133719
Commit: 6a46c6c865270ceb01bcaef4a2e4c8df56a8800a
https://github.com/llvm/llvm-project/commit/6a46c6c865270ceb01bcaef4a2e4c8df56a8800a
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
Ensure KnownBits passed when calculating from range md has right size (#132985)
KnownBits passed to computeKnownBitsFromRangeMetadata must have the same
bit width as the range metadata bit width. Otherwise the calculated
results will be incorrect.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 4e40c7c4bd66d98f529a807dbf410dc46444f4ca
https://github.com/llvm/llvm-project/commit/4e40c7c4bd66d98f529a807dbf410dc46444f4ca
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
Log Message:
-----------
[lldb][debugserver] Save and restore the SVE/SME register state (#134184)
debugserver isn't saving and restoring the SVE/SME register state around
inferior function calls.
Making arbitrary function calls while in Streaming SVE mode is generally
a poor idea because a NEON instruction can be hit and crash the
expression execution, which is how I missed this, but they should be
handled correctly if the user knows it is safe to do.
rdar://146886210
Commit: 3140d51cf3984e83f6480efc6a6f06e4567e7486
https://github.com/llvm/llvm-project/commit/3140d51cf3984e83f6480efc6a6f06e4567e7486
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/bitcode-uselistorder.ll
Log Message:
-----------
llvm-reduce: Remove unsupported from bitcode uselistorder test (#134185)
This was disabled due to flakiness but I'm currently unable to
reproduce.
I'm nervous the original issue still exists. However, I downgraded the
tripped
assert in 8c18c25b1b22ea710edb40a4f167a6a8bfe6ff9d to a warning since
the same
assert can trigger for illegitimate reasons.
Fixes #64157
Commit: e3c0565b74b1f5122ab4dbabc3e941924e116330
https://github.com/llvm/llvm-project/commit/e3c0565b74b1f5122ab4dbabc3e941924e116330
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/ASTMatchers/CMakeLists.txt
M clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/CMakeLists.txt
M clang/unittests/CrossTU/CMakeLists.txt
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Frontend/CMakeLists.txt
M clang/unittests/Index/CMakeLists.txt
M clang/unittests/InstallAPI/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/CMakeLists.txt
M clang/unittests/Rewrite/CMakeLists.txt
M clang/unittests/Sema/CMakeLists.txt
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/Support/CMakeLists.txt
M clang/unittests/Tooling/CMakeLists.txt
M clang/unittests/Tooling/Syntax/CMakeLists.txt
M clang/unittests/libclang/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
Log Message:
-----------
Reapply "[cmake] Refactor clang unittest cmake" (#134195)
This reapplies 5ffd9bdb50b57 (#133545) with fixes.
The BUILD_SHARED_LIBS=ON build was fixed by adding missing LLVM
dependencies to the InterpTests binary in
unittests/AST/ByteCode/CMakeLists.txt .
Commit: b8d8405238387ddd92450d6a3ad84350254e76a3
https://github.com/llvm/llvm-project/commit/b8d8405238387ddd92450d6a3ad84350254e76a3
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/include/lldb/API/SBModule.h
M lldb/source/API/SBModule.cpp
Log Message:
-----------
[LLDB] Expose checking if the symbol file exists/is loaded via SBModule (#134163)
The motivation for this patch is that in Statistics.cpp we [check to see
if the module symfile is
loaded](https://github.com/llvm/llvm-project/blob/990a086d9da0bc2fd53a6a4c95ecbbe23a297a83/lldb/source/Target/Statistics.cpp#L353C60-L353C75)
to calculate how much debug info has been loaded. I have an external
utility that only wants to look at the loaded debug info, which isn't
exposed by the SBAPI.
Commit: 499827318971a7d540a2b928f43d782e63762a47
https://github.com/llvm/llvm-project/commit/499827318971a7d540a2b928f43d782e63762a47
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/MC/RISCV/insn_xqci-invalid.s
A llvm/test/MC/RISCV/insn_xqci.s
M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
Log Message:
-----------
Reland [RISCV] Add Xqci Insn Formats (#134134)
This adds the following instruction formats from the Xqci Spec:
- QC.EAI
- QC.EI
- QC.EB
- QC.EJ
- QC.ES
The update to the THead test is because the largest number of operands
for a valid instruction has been bumped by this change.
This reverts commit 68fb7a5a1d203dde7badf67031bdd9eb650eef5d. This
relands commit 0cfabd37df9940346f3bf8a4d74c19e1f48a00e9.
Commit: 3ea7902494643517c519142002e42a65e81f40d0
https://github.com/llvm/llvm-project/commit/3ea7902494643517c519142002e42a65e81f40d0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
Log Message:
-----------
[RISCV] Check S0 register list check for qc.cm.pushfp to after we parsed the whole register list. (#134180)
This is more of a semantic check. The diagnostic location to has been
changed to point at the register list start instead of the
closing brace or whatever character might be there instead of a brace
if its malformed.
Commit: f4048268427f7a5dab4dea9b2d0fd908b8660644
https://github.com/llvm/llvm-project/commit/f4048268427f7a5dab4dea9b2d0fd908b8660644
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Don't allow '-' after 'ra' in Zcmp/Xqccmp register list. (#134182)
Move the parsing of '-' under the check that we parsed a comma.
Unfortunately, this leads to a poor error, but I still have more known
issues in this code and may end up with an overall restructuring and
want to think about wording.
Commit: 7f2abe8fd10e611696cbc637e715160851b1902b
https://github.com/llvm/llvm-project/commit/7f2abe8fd10e611696cbc637e715160851b1902b
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
R llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-hoist.ll
R llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-sink.ll
Log Message:
-----------
Revert "[Metadata] Preserve MD_prof when merging instructions when one is missing." (#134200)
Reverts llvm/llvm-project#132433
I suspect this change caused a failure in the bolt build bot.
https://lab.llvm.org/buildbot/#/builders/113/builds/6621
```
!9185 = !{!"branch_weights", i32 3912, i32 802}
Wrong number of operands
!9185 = !{!"branch_weights", i32 3912, i32 802}
fatal error: error in backend: Broken module found, compilation aborted!
```
Commit: a19c018379a1d08eceb5db533a19a6bf37423975
https://github.com/llvm/llvm-project/commit/a19c018379a1d08eceb5db533a19a6bf37423975
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
Log Message:
-----------
Revert "[lldb][debugserver] Save and restore the SVE/SME register state (#134184)"
This reverts commit 4e40c7c4bd66d98f529a807dbf410dc46444f4ca.
arm64 CI is getting a failure in
lldb-api.tools/lldb-server.TestGdbRemoteRegisterState.py
with this commit, need to investigate and re-land.
Commit: b384d6d6ccc8f4452cd7086061c657ce76b41224
https://github.com/llvm/llvm-project/commit/b384d6d6ccc8f4452cd7086061c657ce76b41224
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
Log Message:
-----------
[CodeGen] Don't include CGDebugInfo.h in CodeGenFunction.h (NFC) (#134100)
This is an expensive header, only include it where needed. Move some
functions out of line to achieve that.
This reduces time to build clang by ~0.5% in terms of instructions
retired.
Commit: 7e65944292278cc245e36cc6ca971654d584012d
https://github.com/llvm/llvm-project/commit/7e65944292278cc245e36cc6ca971654d584012d
Author: Hua Tian <akiratian at tencent.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/lib/CodeGen/ModuloSchedule.cpp
A llvm/test/CodeGen/AArch64/aarch64-swp-ws-live-intervals.mir
Log Message:
-----------
[llvm][CodeGen] avoid repeated interval calculation in window scheduler (#132352)
Some new registers are reused when replacing some old ones in
certain use case of ModuloScheduleExpander. It is necessary to
avoid repeated interval calculations for these registers.
Commit: 3295970d846b0d820b863f9eeac559b80239297e
https://github.com/llvm/llvm-project/commit/3295970d846b0d820b863f9eeac559b80239297e
Author: Iris <0.0 at owo.li>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/ConstProp/sinh-cosh-intrinsics.ll
Log Message:
-----------
[ConstantFolding] Add support for `sinh` and `cosh` intrinsics in constant folding (#132671)
Closes #132503.
Commit: b6c0ce0bb67d822fac1e3b42461f66c261c1157c
https://github.com/llvm/llvm-project/commit/b6c0ce0bb67d822fac1e3b42461f66c261c1157c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LowerSwitch.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[IR][NFC] Use `SwitchInst::defaultDestUnreachable` (#134199)
Commit: 91f3965be43ccb5291fcb5578b62648a1ece17bc
https://github.com/llvm/llvm-project/commit/91f3965be43ccb5291fcb5578b62648a1ece17bc
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll
Log Message:
-----------
[LoopInterchange] Fix the vectorizable check for a loop (#133667)
In the profitability check for vectorization, the dependency matrix was
not handled correctly. This can result to make a wrong decision: It may
say "this loop can be vectorized" when in fact it cannot. The root cause
of this is that the check process early returns when it finds '=' or 'I'
in the dependency matrix. To make sure that we can actually vectorize
the loop, we need to check all the rows of the matrix. This patch fixes
the process of checking whether we can vectorize the loop or not. Now it
won't make a wrong decision for a loop that cannot be vectorized.
Related: #131130
Commit: 041e84261a502a28401813bf55aa778ee0bbcdeb
https://github.com/llvm/llvm-project/commit/041e84261a502a28401813bf55aa778ee0bbcdeb
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-error.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Log Message:
-----------
[Clang][AMDGPU] Expose buffer load lds as a clang builtin (#132048)
CK is using either inline assembly or inline LLVM-IR builtins to
generate buffer_load_dword lds instructions.
This patch exposes this instruction as a Clang builtin available on gfx9 and gfx10.
Related to SWDEV-519702 and SWDEV-518861
Commit: 73e1710a4d5629cce5aaebc01cab1f76e3de5c84
https://github.com/llvm/llvm-project/commit/73e1710a4d5629cce5aaebc01cab1f76e3de5c84
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[SimplifyCFG] Remove unused variable. NFC. (#134211)
Commit: e1aaee7ea218f1d89646fa1f43bb4c94c27808b5
https://github.com/llvm/llvm-project/commit/e1aaee7ea218f1d89646fa1f43bb4c94c27808b5
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/SemaCXX/friend-default-parameters-modules.cpp
A clang/test/SemaCXX/friend-default-parameters.cpp
Log Message:
-----------
[modules] Handle friend function that was a definition but became only a declaration during AST deserialization (#132214)
Fix for regression #130917, changes in #111992 were too broad. This change reduces scope of previous fix. Added `ExternalASTSource::wasThisDeclarationADefinition` to detect cases when FunctionDecl lost body due to declaration merges.
Commit: 6333fa5160fbde4bd2cf6afe8856695c13ab621f
https://github.com/llvm/llvm-project/commit/6333fa5160fbde4bd2cf6afe8856695c13ab621f
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.h
Log Message:
-----------
[clang-tidy] Fix broken HeaderFilterRegex when read from config file (#133582)
PR https://github.com/llvm/llvm-project/pull/91400 broke the usage of
HeaderFilterRegex via config file, because it is now created at a
different point in the execution and leads to a different value.
The result of that is that using HeaderFilterRegex only in the config
file does NOT work, in other words clang-tidy stops triggering warnings
on header files, thereby losing a lot of coverage.
This patch reverts the logic so that the header filter is created upon
calling the getHeaderFilter() function.
Additionally, this patch adds 2 unit tests to prevent regressions in the
future:
- One of them, "simple", tests the most basic use case with a single
top-level .clang-tidy file.
- The second one, "inheritance", demonstrates that the subfolder only
gets warnings from headers within it, and not from parent headers.
Fixes #118009
Fixes #121969
Fixes #133453
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: edc22c64e527171041876f26a491bb1d03d905d5
https://github.com/llvm/llvm-project/commit/edc22c64e527171041876f26a491bb1d03d905d5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getFauxShuffleMask - only handle VTRUNC nodes with matching src/dst sizes (#134161)
Cleanup work for #133947 - we need to handle VTRUNC nodes with large
source vectors directly to allow us to widen the size of the shuffle
combine
We currently discard these results in combineX86ShufflesRecursively
anyhow as we don't allow inputs from getTargetShuffleInputs to be larger
than the shuffle value type
Commit: 7baa7edc00c5c92e2d17bae760db2e6df97dcec6
https://github.com/llvm/llvm-project/commit/7baa7edc00c5c92e2d17bae760db2e6df97dcec6
Author: Romaric Jodin <rjodin at chromium.org>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/integer/clc_mul_hi.cl
Log Message:
-----------
[libclc]: clspv: add a dummy implememtation for mul_hi (#134094)
clspv uses a better implementation that is not using a bigger side when
not available.
Add a dummy implementation for mul_hi to avoid to override the
implementation of clspv with the one in libclc.
Commit: 6ec66a2292a7321811700ce455cf404bdaa67fc0
https://github.com/llvm/llvm-project/commit/6ec66a2292a7321811700ce455cf404bdaa67fc0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Move VPERMV3(X,M,Y) -> VPERMV(M,CONCAT(X,Y)) fold after general VPERMV3 canonicalization
Pulled out of #133923 - this prevents regressions with SimplifyDemandedVectorEltsForTargetNode exposing VPERMV3(X,M,X) repeated operand patterns which were getting concatenated to wider VPERMV nodes before simpler canonicalizations could clean them up.
Commit: 6f324bd39b98659c81aae02595cee1b4c92db8e9
https://github.com/llvm/llvm-project/commit/6f324bd39b98659c81aae02595cee1b4c92db8e9
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Remove Convolution Type Verifiers (#134077)
Remove the test in the convolution verifier that checks the input and
output element types of convolution operations conform to the
constraints imposed by the TOSA 1.0 specification.
These checks are too strict for users of the TOSA dialect who wish to
allow more types than those allowed by the spec and provide
compatibility issues with earlier TOSA implementation which allowed more
type combinations.
Users who do wish to constrain the convolution types combination to only
those allowed by the TOSA 1.0 spec should run the TOSA validation pass
which already performs these checks.
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: 094904303d50e0ab14bc5f2586a602f79af95953
https://github.com/llvm/llvm-project/commit/094904303d50e0ab14bc5f2586a602f79af95953
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
Revert "[lldb] Return *const* UnwindPlan pointers from FuncUnwinders (#133247)"
This reverts commit d7afafdbc464e65c56a0a1d77bad426aa7538306.
Caused remote Linux to Linux buildbot failure
https://lab.llvm.org/buildbot/#/builders/195/builds/7046.
Commit: 662d385c7b07fc6aba51e73a09c254f551ab93ab
https://github.com/llvm/llvm-project/commit/662d385c7b07fc6aba51e73a09c254f551ab93ab
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb/telemetry] Report exit status only once (#134078)
SetExitStatus can be called the second time when we reap the debug
server process. This shouldn't be interesting as at that point, we've
already told everyone that the process has exited.
I believe/hope this will also help with sporadic shutdown crashes that
have cropped up recently. They happen because the debug server is
monitored from a detached thread, so this code can be called after main
returns (and starts destroying everything). This isn't a real fix for
that though, as the situation can still happen (it's just that it
usually happens after the exit status has already been set). I think the
real fix for that is to make sure these threads terminate before we
start shutting everything down.
Commit: 2e7ed78cff0ad3e3535443ce8c0c3c0e0925ff73
https://github.com/llvm/llvm-project/commit/2e7ed78cff0ad3e3535443ce8c0c3c0e0925ff73
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
M mlir/lib/Dialect/SPIRV/IR/GroupOps.cpp
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
Log Message:
-----------
[mlir][spirv] Add instruction OpGroupNonUniformRotateKHR (#133428)
Add an instruction under the extension SPV_KHR_subgroup_rotate.
The specification for the extension is here:
https://github.khronos.org/SPIRV-Registry/extensions/KHR/SPV_KHR_subgroup_rotate.html
Commit: bf516098fb7c7d428cae03296b92766467f76c9e
https://github.com/llvm/llvm-project/commit/bf516098fb7c7d428cae03296b92766467f76c9e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] SimplifyDemandedVectorEltsForTargetNode - reduce the size of VPERMV/VPERMV3 nodes if the upper elements are not demanded (#133923)
With AVX512VL targets, use 128/256-bit VPERMV/VPERMV3 nodes when we only need the lower elements.
Commit: ecc35456d79aac3fb85fe95e30cdaaca916e8722
https://github.com/llvm/llvm-project/commit/ecc35456d79aac3fb85fe95e30cdaaca916e8722
Author: Camsyn <camsyn at foxmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
Log Message:
-----------
[Utils] Fix incorrect LCSSA PHI nodes when splitting critical edges with MergeIdenticalEdges (#131744)
This PR fixes incorrect LCSSA PHI node generation when splitting
critical edges with both
`PreserveLCSSA` and `MergeIdenticalEdges` enabled. The bug caused PHI
nodes in the split block
to miss predecessors when multiple identical edges were merged.
Commit: 61907ebd764afe75aa7134627f41827e6893d6d0
https://github.com/llvm/llvm-project/commit/61907ebd764afe75aa7134627f41827e6893d6d0
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGBuilder.h
Log Message:
-----------
[Clang][CodeGen] Do not use the GEP result to infer offset and result type (#134221)
If `CreateConstInBoundsGEP2_32` returns a constant null/gep, the cast to
GetElementPtrInst will fail.
This patch uses two static helpers
`GEPOperator::accumulateConstantOffset/GetElementPtrInst::getIndexedType`
to infer offset and result type instead of depending on the GEP result.
This patch is extracted from
https://github.com/llvm/llvm-project/pull/130734.
Commit: 554f4d1a5769357ee8438c23f572d595c720ff3c
https://github.com/llvm/llvm-project/commit/554f4d1a5769357ee8438c23f572d595c720ff3c
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/source/Target/Process.cpp
A lldb/test/API/commands/expression/expr-from-non-zero-frame/Makefile
A lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
A lldb/test/API/commands/expression/expr-from-non-zero-frame/main.c
Log Message:
-----------
[lldb][Target] RunThreadPlan to save/restore the ExecutionContext's frame if one exists (#134097)
When using `SBFrame::EvaluateExpression` on a frame that's not the
currently selected frame, we would sometimes run into errors such as:
```
error: error: The context has changed before we could JIT the expression!
error: errored out in DoExecute, couldn't PrepareToExecuteJITExpression
```
During expression parsing, we call `RunStaticInitializers`. On our
internal fork this happens quite frequently because any usage of, e.g.,
function pointers, will inject ptrauth fixup code into the expression.
The static initializers are run using `RunThreadPlan`. The
`ExecutionContext::m_frame_sp` going into the `RunThreadPlan` is the
`SBFrame` that we called `EvaluateExpression` on. LLDB then tries to
save this frame to restore it after the thread-plan ran (the restore
occurs by unconditionally overwriting whatever is in
`ExecutionContext::m_frame_sp`). However, if the `selected_frame_sp` is
not the same as the `SBFrame`, then `RunThreadPlan` would set the
`ExecutionContext`'s frame to a different frame than what we started
with. When we `PrepareToExecuteJITExpression`, LLDB checks whether the
`ExecutionContext` frame changed from when we initially
`EvaluateExpression`, and if did, bails out with the error above.
One such test-case is attached. This currently passes regardless of the
fix because our ptrauth static initializers code isn't upstream yet. But
the plan is to upstream it soon.
This patch addresses the issue by saving/restoring the frame of the
incoming `ExecutionContext`, if such frame exists. Otherwise, fall back
to using the selected frame.
rdar://147456589
Commit: 6c27817294d96705ffd005aea52494ea40b1ef74
https://github.com/llvm/llvm-project/commit/6c27817294d96705ffd005aea52494ea40b1ef74
Author: David Green <david.green at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/Thumb2/mve-vdup.ll
M llvm/test/CodeGen/WebAssembly/simd-shuffle-bitcast.ll
M llvm/test/CodeGen/X86/kmov.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
Log Message:
-----------
[SelectionDAG] Use SimplifyDemandedBits from SimplifyDemandedVectorElts Bitcast. (#133717)
This adds a call to SimplifyDemandedBits from bitcasts with scalar input
types in SimplifyDemandedVectorElts, which can help simplify the input
scalar.
Commit: cb0d1305d12ea6637a541028eb0a4438750164b9
https://github.com/llvm/llvm-project/commit/cb0d1305d12ea6637a541028eb0a4438750164b9
Author: Simi Pallipurath <simi.pallipurath at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/print-multi-selection-flags.c
Log Message:
-----------
[Clang][ARM] Ensure both -mno-unaligned-access and -munaligned-access are passed to multilib selection logic (#134099)
Previously, alignment option was passed to multilib selection logic only
when -mno-unaligned-access was explicitly specified on the command line.
Now this change ensure both -mno-unaligned-access and -munaligned-access
are passed to the multilib selection logic, which now also considers the
target architecture when determining alignment access policy.
Commit: ee4e8197fa67dd1ed6e9470e00708e7feeaacd97
https://github.com/llvm/llvm-project/commit/ee4e8197fa67dd1ed6e9470e00708e7feeaacd97
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
M llvm/test/CodeGen/AArch64/sme-intrinsics-mova-extract.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-pr92779.ll
M llvm/test/CodeGen/AArch64/sve-split-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
Log Message:
-----------
[LLVM][AArch64][SVE] Mark DUP immediate instructions with isAsCheapAsAMove. (#133945)
Doing this means we'll regenerate an immediate rather than copy the
result of an existing one, reducing instruction dependency chains.
Commit: 7febd78f1e6caacb05ea43fa838a3b2b21fdd0bd
https://github.com/llvm/llvm-project/commit/7febd78f1e6caacb05ea43fa838a3b2b21fdd0bd
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
Log Message:
-----------
No longer diagnose __auto_type as the auto extension (#134129)
Given:
__auto_type x = 12;
decltype(auto) y = 12;
-Wc++98-compat would diagnose both x and y with:
'auto' type specifier is incompatible with C++98
This patch silences the diagnostic in those cases. decltype(auto) is
still diagnosed with:
'decltype(auto)' type specifier is incompatible with C++ standards
before C++14
as expected but no longer produces the extraneous diagnostic about use
of 'auto'.
Fixes #47900
Commit: 739fe980802e17e49ab9cc2e4c18a48c88e15ef5
https://github.com/llvm/llvm-project/commit/739fe980802e17e49ab9cc2e4c18a48c88e15ef5
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
M lldb/test/API/commands/expression/expr-from-non-zero-frame/main.c
Log Message:
-----------
[lldb][test] TestExprFromNonZeroFrame.py: fix windows build
On Windows this test was failing to link with following error:
```
make: Entering directory 'C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/lldb-test-build.noindex/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.test'
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\clang.exe -gdwarf -O0 -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/../../../../..//include -IC:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/tools/lldb/include -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\API\commands\expression\expr-from-non-zero-frame -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make -include C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/test_common.h -fno-limit-debug-info -MT main.o -MD -MP -MF main.d -c -o main.o C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\API\commands\expression\expr-from-non-zero-frame/main.c
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\clang.exe main.o -gdwarf -O0 -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/../../../../..//include -IC:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/tools/lldb/include -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\API\commands\expression\expr-from-non-zero-frame -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make -include C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/test_common.h -fno-limit-debug-info -fuse-ld=lld --driver-mode=g++ -o "a.out"
lld-link: error: undefined symbol: printf
>>> referenced by main.o:(func)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Makefile.rules:530: a.out] Error 1
make: Leaving directory 'C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/lldb-test-build.noindex/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.test'
```
Commit: 722346c7bc70aa528beccead4119db83f134f5cd
https://github.com/llvm/llvm-project/commit/722346c7bc70aa528beccead4119db83f134f5cd
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/AST/QualTypeNames.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
Log Message:
-----------
[Tooling] Handle AttributedType in getFullyQualifiedType (#134228)
Before this change the code used to add extra qualifiers, e.g.
`std::unique_ptr<int> _Nonnull` became `::std::std::unique_ptr<int>
_Nonnull`
when adding a global namespace qualifier was requested.
Commit: 41a6bb4c055cf08110676d9bc942f369fb19450d
https://github.com/llvm/llvm-project/commit/41a6bb4c055cf08110676d9bc942f369fb19450d
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
M llvm/test/CodeGen/AArch64/load-insert-zero.ll
M llvm/test/CodeGen/AArch64/sinksplat.ll
M llvm/test/CodeGen/AArch64/sve-bf16-int-converts.ll
M llvm/test/CodeGen/AArch64/sve-fcmp.ll
M llvm/test/CodeGen/AArch64/sve-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-fp-combine.ll
M llvm/test/CodeGen/AArch64/sve-implicit-zero-filling.ll
M llvm/test/CodeGen/AArch64/sve-int-log.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-merging.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-scalar-to-vec.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-shifts-merging.ll
M llvm/test/CodeGen/AArch64/sve-knownbits.ll
M llvm/test/CodeGen/AArch64/sve-ld1r.ll
M llvm/test/CodeGen/AArch64/sve-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-pr92779.ll
M llvm/test/CodeGen/AArch64/sve-split-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
M llvm/test/CodeGen/AArch64/sve-vselect-imm.ll
M llvm/test/CodeGen/AArch64/sve-zeroinit.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfadd.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmax.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmaxnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmin.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfminnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfsub.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-counts-not.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-ext.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-flogb.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-frint-frecpx-fsqrt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-rev.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-urecpe-ursqrte-sqabs-sqneg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-uscvtf.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Prefer NEON instructions when zeroing Z registers. (#133929)
Several implementations have zero-latency instructions to zero
registers. To-date no implementation has a dedicated SVE instruction but
we can use the NEON equivalent because it is defined to zero bits
128..VL regardless of the immediate used.
NOTE: The relevant instruction is not available in streaming mode, where
the original SVE DUP instruction remains in use.
Commit: 52f3cad9ffa35a472699d541736bd72dd01d6e62
https://github.com/llvm/llvm-project/commit/52f3cad9ffa35a472699d541736bd72dd01d6e62
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getFauxShuffleMask - move INSERT_SUBVECTOR(SRC0, EXTRACT_SUBVECTOR(SRC1)) matching behind common one use bitcast checks (#134227)
No need to ignore one use checks for the INSERT_SUBVECTOR(SRC0, EXTRACT_SUBVECTOR(SRC1)) fold
Noticed while working on the #133947 regressions
Commit: 2a9948f0384d30fa07522f29ddb2de62560d75a4
https://github.com/llvm/llvm-project/commit/2a9948f0384d30fa07522f29ddb2de62560d75a4
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/RecordLayoutBuilder.cpp
R clang/test/SemaCXX/windows-Wpadded-bitfield.cpp
R clang/test/SemaCXX/windows-Wpadded.cpp
Log Message:
-----------
Revert "[CLANG-CL] ignores wpadded" (#134239)
Reverts llvm/llvm-project#130182
This is causing failures on RISC-V and ppc builders as mentioned on
https://github.com/llvm/llvm-project/pull/130182#issuecomment-2775516899
Reverting so the issue can be fixed by the path author without time pressure (as noted in that PR, it seems a value is uninitialised).
Commit: ebacd46996a7f041be73cf31b5776503e8061e8b
https://github.com/llvm/llvm-project/commit/ebacd46996a7f041be73cf31b5776503e8061e8b
Author: Koakuma <koachan at protonmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcInstrFormats.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/lib/Target/Sparc/SparcInstrVIS.td
A llvm/test/MC/Disassembler/Sparc/sparc-vis.txt
M llvm/test/MC/Sparc/sparc-vis.s
A llvm/test/MC/Sparc/sparc-vis2.s
A llvm/test/MC/Sparc/sparc-vis3.s
Log Message:
-----------
[SPARC][MC] Add tests for VIS family instructions
Also fix up any mistakes/typos in instruction definitions.
Reviewers: rorth, s-barannikov, brad0, MaskRay
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/130967
Commit: c2355892a4bad78b8ac520a11a7a63371c84d11e
https://github.com/llvm/llvm-project/commit/c2355892a4bad78b8ac520a11a7a63371c84d11e
Author: Elen Kalda <elen.kalda at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Add ERROR_IF checks to TRANSPOSE_CONV2D verifier (#133234)
This patch extends the verifier with following checks:
ERROR_IF(out_pad_top <= -KH || out_pad_bottom <= -KH);
ERROR_IF(out_pad_left <= -KW || out_pad_right <= -KW); ERROR_IF(stride_y
< 1 || stride_x < 1);
ERROR_IF(OH != (IH - 1) * stride_y + out_pad_top + out_pad_bottom + KH);
ERROR_IF(OW != (IW - 1) * stride_x + out_pad_left + out_pad_right + KW);
ERROR_IF(BC != OC && BC != 1);
Signed-off-by: Elen Kalda <elen.kalda at arm.com>
Commit: efbbdd69c7974d4fe08ccbbc1d8a206f3f317a1a
https://github.com/llvm/llvm-project/commit/efbbdd69c7974d4fe08ccbbc1d8a206f3f317a1a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
Log Message:
-----------
[ADT] Make DenseMap::init() private (NFC) (#134229)
I believe this method was not supposed to be public, as it has
additional preconditions (it will misbehave when called on a non-empty
DenseMap).
The public API for this is reserve().
Commit: 0509932bb6a291ba11253f30c465ab3ad164ae08
https://github.com/llvm/llvm-project/commit/0509932bb6a291ba11253f30c465ab3ad164ae08
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
[lldb] Initialize active_row pointer variable
It's value is not set on all control flow paths. I believe this should
fix the failure on some buildbots after #133247.
Commit: ae8ad8649da7f69dae2b19db79b69c460be01916
https://github.com/llvm/llvm-project/commit/ae8ad8649da7f69dae2b19db79b69c460be01916
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAArch64.td
Log Message:
-----------
[Clang][AArch64] Model ZT0 table using inaccessible memory (#133727)
This patch changes how ZT0 table is modelled at LLVM-IR level. Currently
accesses to ZT0 are represented at LLVM-IR level as memory reads and
writes. This patch changes that and models them as purely Inaccessible
memory accesses without any unmodeled side-effects.
Commit: c818ae739902f3c46466b67bd4d1bd4d09b38e84
https://github.com/llvm/llvm-project/commit/c818ae739902f3c46466b67bd4d1bd4d09b38e84
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/binary-analysis/AArch64/cmdline-args.test
A bolt/test/binary-analysis/AArch64/gs-pauth-calls.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
Log Message:
-----------
[BOLT] Gadget scanner: detect non-protected indirect calls (#131899)
Implement the detection of non-protected indirect calls and branches
similar to pac-ret scanner.
Commit: 9df324e90b32f91e0b2866dffb78b0be0db4f37c
https://github.com/llvm/llvm-project/commit/9df324e90b32f91e0b2866dffb78b0be0db4f37c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add growShuffleMask helper to grow the shuffle mask for a larger value type. NFC. (#134243)
Prep work for #133947
Commit: a77d8077815627d188ae26fda6e88f0d0d61c990
https://github.com/llvm/llvm-project/commit/a77d8077815627d188ae26fda6e88f0d0d61c990
Author: Steven Perron <stevenperron at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVIRMapping.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/hlsl-resources/StructuredBuffer.ll
Log Message:
-----------
[SPIRV] Add spirv.VulkanBuffer types to the backend (#133475)
Adds code to expand the `llvm.spv.resource.handlefrombinding` and
`llvm.spv.resource.getpointer` when the resource type is
`spirv.VulkanBuffer`.
It gets expanded as a storage buffer or uniform buffer denpending on the
storage class used.
This is implementing part of
https://github.com/llvm/wg-hlsl/blob/main/proposals/0018-spirv-resource-representation.md.
Commit: 6bbdc70066c2bf46ed3d88293e2abfa3d0ffffa3
https://github.com/llvm/llvm-project/commit/6bbdc70066c2bf46ed3d88293e2abfa3d0ffffa3
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use getCallWideningDecision in more places (NFC) (#134236)
Commit: 586c5e3083428e7473e880dafd5939e8707bc1c9
https://github.com/llvm/llvm-project/commit/586c5e3083428e7473e880dafd5939e8707bc1c9
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
Log Message:
-----------
[mlir][mpi] fixing in-place and 0d mpi.all_reduce (#134225)
* inplace allreduce needs special MPI token MPI_IN_PLACE as send buffer
* 0d tensors have no sizes/strides in LLVM memref struct
Commit: 9e0ca5720bee96f4b19eeb69a119b5eda3ab5528
https://github.com/llvm/llvm-project/commit/9e0ca5720bee96f4b19eeb69a119b5eda3ab5528
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/test/CodeGen/X86/base-pointer-and-cmpxchg.ll
Log Message:
-----------
[X86] When expanding LCMPXCHG16B_SAVE_RBX, substitute RBX in base (#134109)
The pseudo-instruction LCMPXCHG16B_SAVE_RBX is used when RBX serves as
frame base pointer. At a very late stage it is then translated into a
regular LCMPXCHG16B, preceded by copying the actual argument into RBX,
and followed by restoring the register to the base pointer.
However, in case the `cmpxchg` operates on a local variable, RBX might
also be used as a base for the memory operand in frame finalization, and
we've overwritten RBX with the input operand for `cmpxchg16b`. So we
have to rewrite the memory operand base to use the saved value of RBX.
Fixes #119959.
Commit: 7145ead280ba10d08fe48e7859f1a61a64653104
https://github.com/llvm/llvm-project/commit/7145ead280ba10d08fe48e7859f1a61a64653104
Author: GeorgeKA <gkasante at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaInit.cpp
M clang/test/SemaCXX/cxx17-compat.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
Log Message:
-----------
[Clang] Add warning message for C++17 alias template CTAD (#133806)
Alias template class template argument deduction is a documented C++20
feature. C++17 also happens to support it, but there is no message
output to indicate the officially supported version. This PR adds that.
Also updated relevant CTAD test cases.
Closes #125913
Commit: 18dd299fb109792d0716156af0a2d8c0ca781c57
https://github.com/llvm/llvm-project/commit/18dd299fb109792d0716156af0a2d8c0ca781c57
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/host-eval.f90
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[Flang][MLIR][OpenMP] Host-evaluation of omp.loop bounds (#133908)
This patch updates Flang lowering and kernel flags identification in
MLIR so that loop bounds on `target teams loop` constructs are evaluated
on the host, making the trip count available to the corresponding
`__tgt_target_kernel` call emitted for the target region.
This is necessary in order to properly execute these constructs as
`target teams distribute parallel do`.
Co-authored-by: Kareem Ergawy <kareem.ergawy at amd.com>
Commit: b61e3874fa97c5ead2c27e8245fe123370a21e81
https://github.com/llvm/llvm-project/commit/b61e3874fa97c5ead2c27e8245fe123370a21e81
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/shl-bo.ll
M llvm/test/Transforms/InstCombine/shl-twice-constant.ll
M llvm/test/Transforms/InstCombine/sub.ll
Log Message:
-----------
Revert "[InstCombine] Match scalable splats in m_ImmConstant (#132522)"
This reverts commit df9e5ae5b40c4d245d904a2565e46f5b7ab9c7c8.
This is triggering an assertion failure on llvm-test-suite with
-enable-vplan-native-path:
https://lab.llvm.org/buildbot/#/builders/198/builds/3365
Commit: 59074a376099333a2546c4e3a8b30693c8a3ee92
https://github.com/llvm/llvm-project/commit/59074a376099333a2546c4e3a8b30693c8a3ee92
Author: gbMattN <matthew.nagy at sony.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
A compiler-rt/test/asan/TestCases/shadowed-stack-serialization.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-inlined.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[ASan] Add metadata to renamed instructions so ASan doesn't use the i… (#119387)
…ncorrect name
Clang needs variables to be represented with unique names. This means
that if a variable shadows another, its given a different name
internally to ensure it has a unique name. If ASan tries to use this
name when printing an error, it will print the modified unique name,
rather than the variable's source code name
Fixes #47326
Commit: 008040482b15aa76699e61e59218e92d3786e17a
https://github.com/llvm/llvm-project/commit/008040482b15aa76699e61e59218e92d3786e17a
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/test/Headers/openmp_device_math_isnan.cpp
M clang/test/OpenMP/declare_variant_construct_codegen_1.c
M clang/test/OpenMP/interop_codegen.cpp
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
M clang/test/OpenMP/target_parallel_no_exceptions.cpp
M clang/test/OpenMP/target_team_variable_codegen.cpp
M clang/test/OpenMP/target_visibility.cpp
Log Message:
-----------
[clang] Add SPIR-V to some OpenMP clang tests (#133503)
Just to get some more coverage.
Some of the behavior might be weird and change in the future, but let's
lock down what happens today to at least prevent regressions.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: b8fc288c46abeea8d330fabdf6ab1ebf1c5b283d
https://github.com/llvm/llvm-project/commit/b8fc288c46abeea8d330fabdf6ab1ebf1c5b283d
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/namespace.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/source-root-dir.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
M cross-project-tests/lit.cfg.py
Log Message:
-----------
[Dexter] Replace clang with clang++ in various cross project tests (#65987)
This patch replaces invocations of clang with clang++ for a set of
c++ files in the dexter cross-project tests. As a small additional change,
this patch removes -lstdc++ from a test that did not appear to require it.
Commit: 50fe5b90e7a17700dd265d3cd917c4332b806152
https://github.com/llvm/llvm-project/commit/50fe5b90e7a17700dd265d3cd917c4332b806152
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
Log Message:
-----------
[sanitizer_common][NFC] Fix sanitizer_symbolizer_libcdep.cpp formatting (#133930)
Commit: 51c2750599d2472dafce0231aa8b95f5137c7de8
https://github.com/llvm/llvm-project/commit/51c2750599d2472dafce0231aa8b95f5137c7de8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/docs/use/python-reference.rst
Log Message:
-----------
[lldb] Update examples in docs/use/python-reference.rst to work with Python 3 (#134204)
The examples on this page were using the Python 2-style print. I ran the
updated code examples under Python 3 to confirm they are still
up-to-date.
Commit: f59b5b8d597d52336a59d2c0555212242e29a45b
https://github.com/llvm/llvm-project/commit/f59b5b8d597d52336a59d2c0555212242e29a45b
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
A mlir/test/Target/LLVMIR/openmp-target-generic-spmd.mlir
Log Message:
-----------
[MLIR][OpenMP] Fix standalone distribute on the device (#133094)
This patch updates the handling of target regions to set trip counts and
kernel execution modes properly, based on clang's behavior. This fixes a
race condition on `target teams distribute` constructs with no `parallel
do` loop inside.
This is how kernels are classified, after changes introduced in this
patch:
```f90
! Exec mode: SPMD.
! Trip count: Set.
!$omp target teams distribute parallel do
do i=...
end do
! Exec mode: Generic-SPMD.
! Trip count: Set (outer loop).
!$omp target teams distribute
do i=...
!$omp parallel do private(idx, y)
do j=...
end do
end do
! Exec mode: Generic-SPMD.
! Trip count: Set (outer loop).
!$omp target teams distribute
do i=...
!$omp parallel
...
!$omp end parallel
end do
! Exec mode: Generic.
! Trip count: Set.
!$omp target teams distribute
do i=...
end do
! Exec mode: SPMD.
! Trip count: Not set.
!$omp target parallel do
do i=...
end do
! Exec mode: Generic.
! Trip count: Not set.
!$omp target
...
!$omp end target
```
For the split `target teams distribute + parallel do` case, clang
produces a Generic kernel which gets promoted to Generic-SPMD by the
openmp-opt pass. We can't currently replicate that behavior in flang
because our codegen for these constructs results in the introduction of
calls to the `kmpc_distribute_static_loop` family of functions, instead
of `kmpc_distribute_static_init`, which currently prevent promotion of
the kernel to Generic-SPMD.
For the time being, instead of relying on the openmp-opt pass, we look
at the MLIR representation to find the Generic-SPMD pattern and directly
tag the kernel as such during codegen. This is what we were already
doing, but incorrectly matching other kinds of kernels as such in the
process.
Commit: c14b6e90bd140c2290258fa9dbe0fc1ad8939111
https://github.com/llvm/llvm-project/commit/c14b6e90bd140c2290258fa9dbe0fc1ad8939111
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/include/lldb/Target/StopInfo.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
Log Message:
-----------
[lldb][NFC] Move ShouldShow/ShouldSelect logic into Stopinfo (#134160)
This NFC patch simplifies the main loop in HandleProcessStateChanged
event by moving duplicated code into the StopInfo class, also allowing
StopInfo subclasses to override behavior.
More specifically, two functions are created:
* ShouldShow: should a Thread with such StopInfo should be printed when
the debugger stops? Currently, no StopInfo subclasses override this, but
a subsequent patch will fix a bug by making StopInfoBreakpoint check
whether the breakpoint is internal.
* ShouldSelect: should a Thread with such a StopInfo be selected? This
is currently overridden by StopInfoUnixSignal but will, in the future,
be overridden by StopInfoBreakpoint.
Commit: 61ef28650626dd4f651a250005c77255d8086f69
https://github.com/llvm/llvm-project/commit/61ef28650626dd4f651a250005c77255d8086f69
Author: gbMattN <matthew.nagy at sony.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
Fix signed/unsigned mismatch warning (#134255)
Commit: 2334fd2ea3a0a391ca88da36764d895d9c34e1bc
https://github.com/llvm/llvm-project/commit/2334fd2ea3a0a391ca88da36764d895d9c34e1bc
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/precompiled_binary/commands.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/windows_noncanonical_path/test.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp
Log Message:
-----------
[Dexter] Update Dexter tests to use new dexter test substitutions
Following commit b8fc288, which changed some dexter test substitutions to
be specific to C and C++, some tests that had been added since the original
patch was written were still using the old substitution; this patch updates
them to use the new.
Commit: f23bb530cfad1ca72812d0daf599834ea2291219
https://github.com/llvm/llvm-project/commit/f23bb530cfad1ca72812d0daf599834ea2291219
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-non-integral-address-spaces-vectors.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-p7-in-memory.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
Log Message:
-----------
[AMDGPULowerBufferFatPointers] Use InstSimplifyFolder during rewrites (#134137)
This PR updates AMDGPULowerBufferFatPointers to use the
InstSimplifyFolder
when creating IR during buffer fat pointer lowering.
This shouldn't cause any large functional changes and might improve the
quality of the generated code.
Commit: 2080334574a88a7ac4102007b56809cd0a19b905
https://github.com/llvm/llvm-project/commit/2080334574a88a7ac4102007b56809cd0a19b905
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/AVR.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MipsLinux.cpp
M clang/lib/Driver/ToolChains/MipsLinux.h
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OHOS.h
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.h
M clang/lib/Driver/ToolChains/PPCLinux.cpp
M clang/lib/Driver/ToolChains/PPCLinux.h
M clang/lib/Driver/ToolChains/Solaris.cpp
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.so
M flang-rt/cmake/modules/GetToolchainDirs.cmake
A flang/test/Driver/flang-ld-powerpc.f90
Log Message:
-----------
[flang-rt] Pass the whole path of libflang_rt.runtime.a to linker on AIX and LoP (#131041)
This PR is to improve the driver code to build `flang-rt` path by
re-using the logic and code of `compiler-rt`.
1. Moved `addFortranRuntimeLibraryPath` and `addFortranRuntimeLibs` to
`ToolChain.h` and made them virtual so that they can be overridden if
customization is needed. The current implementation of those two
procedures is moved to `ToolChain.cpp` as the base implementation to
default to.
2. Both AIX and PPCLinux now override `addFortranRuntimeLibs`.
The overriding function of `addFortranRuntimeLibs` for both AIX and
PPCLinux calls `getCompilerRTArgString` => `getCompilerRT` =>
`buildCompilerRTBasename` to get the path to `flang-rt`. This code
handles `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` setting. As shown in
`PPCLinux.cpp`, `FT_static` is the default. If not found, it will search
and build for `FT_shared`. To differentiate `flang-rt` from `clang-rt`,
a boolean flag `IsFortran` is passed to the chain of functions in order
to reach `buildCompilerRTBasename`.
Commit: 79435de8a51a3df4b74f858a604b7ff56b342ae7
https://github.com/llvm/llvm-project/commit/79435de8a51a3df4b74f858a604b7ff56b342ae7
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/IR/ConstantFold.cpp
M llvm/test/Analysis/ValueTracking/known-bits-from-operator-constexpr.ll
M llvm/test/Transforms/InstCombine/addrspacecast.ll
M llvm/test/Transforms/InstCombine/scalable-const-fp-splat.ll
M llvm/test/Transforms/InstCombine/scalable-trunc.ll
M llvm/test/Transforms/InstSimplify/ConstProp/cast-vector.ll
M llvm/test/Transforms/InstSimplify/ConstProp/vscale-inseltpoison.ll
M llvm/test/Transforms/InstSimplify/ConstProp/vscale.ll
M llvm/test/Transforms/InstSimplify/vscale-inseltpoison.ll
M llvm/test/Transforms/InstSimplify/vscale.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/MemCpyOpt/crash.ll
M llvm/test/Transforms/VectorCombine/pr88796.ll
Log Message:
-----------
[ConstantFold] Support scalable constant splats in ConstantFoldCastInstruction (#133207)
Previously only fixed vector splats were handled. This adds supports for
scalable vectors too by allowing ConstantExpr splats.
We need to add the extra V->getType()->isVectorTy() check because a
ConstantExpr might be a scalar to vector bitcast.
By allowing ConstantExprs this also allow fixed vector ConstantExprs to
be folded, which causes the diffs in
llvm/test/Analysis/ValueTracking/known-bits-from-operator-constexpr.ll
and llvm/test/Transforms/InstSimplify/ConstProp/cast-vector.ll. I can
remove them from this PR if reviewers would prefer.
Fixes #132922
Commit: 12f75bba41d7b9752df799349b2b32bdf68e9765
https://github.com/llvm/llvm-project/commit/12f75bba41d7b9752df799349b2b32bdf68e9765
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
Revert "[X86] SimplifyDemandedVectorEltsForTargetNode - reduce the size of VPERMV/VPERMV3 nodes if the upper elements are not demanded" (#134256)
Found a typo in the VPERMV3 mask adjustment - I'm going to revert and re-apply the patch with a fix
Reverts llvm/llvm-project#133923
Commit: c1ada72b0995844299ef40433314124266015428
https://github.com/llvm/llvm-project/commit/c1ada72b0995844299ef40433314124266015428
Author: Julian Brown <julian.brown at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
Log Message:
-----------
[OpenMP] Mark 'map-type modifiers in arbitrary position' done (#133906)
I think #90499 already implements support for the listed OpenMP 6.0
feature mentioned in the title. This patch just marks it done (for
C/C++).
Commit: 49fd0bf35d2e04a0d76ac7fd13b3e3439a91f76f
https://github.com/llvm/llvm-project/commit/49fd0bf35d2e04a0d76ac7fd13b3e3439a91f76f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaFunctionEffects.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[clang] support pack expansions for trailing requires clauses (#133190)
Commit: d7d91500b6ef7efb059f660ff7e4aa44553643e6
https://github.com/llvm/llvm-project/commit/d7d91500b6ef7efb059f660ff7e4aa44553643e6
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/test/Lower/array-constructor-2.f90
Log Message:
-----------
[flang][nfc] Initial changes needed to use llvm intrinsics instead of regular calls (#134170)
Flang uses `fir.call <llvm intrinsic>` in a few places. This means
consumers of the IR need to strcmp every fir.call if they want to find a
particular LLVM intrinsic.
Emit LLVM memcpy intrinsics instead.
Commit: 3801bf6164f570a145e3ebd20cf9114782ae0329
https://github.com/llvm/llvm-project/commit/3801bf6164f570a145e3ebd20cf9114782ae0329
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStripConvergentIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
Log Message:
-----------
[NFC] Cleanup pass initialization for SPIRV passes (#134189)
- Do not call pass initialization functions from pass contructors.
- Instead, call them from SPIRV target initialization.
- https://github.com/llvm/llvm-project/issues/111767
Commit: bec5cfd970c5882c54a9e8d9f3da430dc39d0dd0
https://github.com/llvm/llvm-project/commit/bec5cfd970c5882c54a9e8d9f3da430dc39d0dd0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
Log Message:
-----------
[lldb-dap] Protect SetBreakpoint with the API mutex (#134030)
Protect the various SetBreakpoint functions with the API mutex. This
fixes a race condition between the breakpoint being created and the DAP
label getting added. This was causing `TestDAP_breakpointEvents.py` to
be flaky.
Fixes #131242.
Commit: bf388f8a43c26264dfa96a91bead440d19f58bc4
https://github.com/llvm/llvm-project/commit/bf388f8a43c26264dfa96a91bead440d19f58bc4
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] legalize operands when move16bit SALU to VALU (#133985)
This is a follow up PR from
https://github.com/llvm/llvm-project/pull/132089.
When a V2S copy and its useMI are lowered to VALU, this patch check:
If the generated new VALU is a true16 inst. Add subreg access on all
operands if necessary.
an example MIR looks like:
```
%1:vgpr_32 = V_CVT_F32_U32_e64 %0:vgpr_32, 0, 0 ...
%2:sreg_32 = COPY %1:vgpr_32
%3:sreg_32 = S_FLOOR_F16 %2:sreg_32, ...
```
currently lowered to
```
%1:vgpr_32 = V_CVT_F32_U32_e64 %0:vgpr_32, 0, 0 ...
%2:vgpr_16 = V_FLOOR_F16_t16_e64 0, %1:vgpr_32, 0, 0, 0 ...
```
after this patch
```
%1:vgpr_32 = V_CVT_F32_U32_e64 %0:vgpr_32, 0, 0 ...
%2:vgpr_16 = V_FLOOR_F16_t16_e64 0, %1.lo16:vgpr_32, 0, 0, 0 ...
```
Commit: 65fa57bdcc9d745dd8c222426e79618fb7cf1c91
https://github.com/llvm/llvm-project/commit/65fa57bdcc9d745dd8c222426e79618fb7cf1c91
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/AST/Attr.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/RootSignatures-AST.hlsl
A clang/test/SemaHLSL/RootSignature-err.hlsl
Log Message:
-----------
[HLSL][RootSignature] Define and integrate `HLSLRootSignatureAttr` (#134124)
- Defines HLSLRootSignature Attr in `Attr.td`
- Define and implement handleHLSLRootSignature in `SemaHLSL`
- Adds sample test case to show AST Node is generated in
`RootSignatures-AST.hlsl`
This commit will "hook-up" the seperately defined RootSignature parser
and invoke it to create the RootElements, then store them on the
ASTContext and finally store the reference to the Elements in
RootSignatureAttr
Resolves https://github.com/llvm/llvm-project/issues/119011
---------
Co-authored-by: Finn Plummer <finnplummer at microsoft.com>
Commit: b738b82699e58fa50d15d76e1e26b58100ad344e
https://github.com/llvm/llvm-project/commit/b738b82699e58fa50d15d76e1e26b58100ad344e
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
R libc/include/llvm-libc-types/__bsearchcompare_t.h
R libc/include/llvm-libc-types/__lsearchcompare_t.h
A libc/include/llvm-libc-types/__search_compare_t.h
M libc/include/search.yaml
M libc/include/stdlib.yaml
Log Message:
-----------
[libc] Combine the function prototype `int (*compar)(const void *, const void *)` (#134238)
Closes #134118.
Commit: 2190808f5d010a91e17c0dd8143466042b5a4028
https://github.com/llvm/llvm-project/commit/2190808f5d010a91e17c0dd8143466042b5a4028
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] SimplifyDemandedVectorEltsForTargetNode - reduce the size of VPERMV/VPERMV3 nodes if the upper elements are not demanded (REAPPLIED) (#134263)
With AVX512VL targets, use 128/256-bit VPERMV/VPERMV3 nodes when we only need the lower elements.
Reapplied version of #133923 with fix for typo in the VPERMV3 mask adjustment
Commit: 73e8d67a200beaa554a72cdd50e4d1a5a55caf69
https://github.com/llvm/llvm-project/commit/73e8d67a200beaa554a72cdd50e4d1a5a55caf69
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/AST/Attr.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
R clang/test/AST/HLSL/RootSignatures-AST.hlsl
R clang/test/SemaHLSL/RootSignature-err.hlsl
Log Message:
-----------
Revert "[HLSL][RootSignature] Define and integrate `HLSLRootSignatureAttr`" (#134273)
Reverts llvm/llvm-project#134124
The build is failing again to a linking error:
[here](https://github.com/llvm/llvm-project/pull/134124#issuecomment-2776370486).
Again the error was not present locally or any of the pre-merge builds
and must have been transitively linked in these build environments...
Commit: bc6cd825ecea94f015c590c877a1401d3a4a46b8
https://github.com/llvm/llvm-project/commit/bc6cd825ecea94f015c590c877a1401d3a4a46b8
Author: John Harrison <harjohn at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Creating a common configuration structure for launch and attach requests. (#133960)
This moves all the common settings of the launch and attach operations
into the `lldb_dap::protocol::Configuration`. These common settings
can be in both `launch` and `attach` requests and allows us to isolate
the DAP configuration operations into a single common location.
This is split out from #133624.
Commit: a1bc979aa854c600e64e7500f1b79cd1d2655eb4
https://github.com/llvm/llvm-project/commit/a1bc979aa854c600e64e7500f1b79cd1d2655eb4
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/SCF/one-shot-bufferize.mlir
Log Message:
-----------
[mlir][Bufferization] Do not have read semantics for destination of `tensor.parallel_insert_slice`. (#134169)
`tensor.insert_slice` needs to have read semantics on its destination
operand. Since it has a return value, its semantics are
- Copy dest to result
- Copy source to subview of destination.
`tensor.parallel_insert_slice` though has no result. So it does not need
to have read semantics. The op description
[here](https://github.com/llvm/llvm-project/blob/a3ac318e5f8668ec5b79dd86639881dfb2e88b69/mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td#L1524)
also says that it is expected to lower to a `memref.subview`, that does
not have read semantics on the destination (its just a view).
This patch drops the read semantics for destination of
`tensor.parallel_insert_slice` but also makes the `shared_outs` operands
of `scf.forall` have read semantics. Earlier it would rely indirectly on
read semantics of destination operand of `tensor.parallel_insert_slice`
to propagate the read semantics for `shared_outs`. Now that is specified
more directly.
Fixes #133964
---------
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: 6ddf7cf7808e7e60314ed003d52c215dedc0924b
https://github.com/llvm/llvm-project/commit/6ddf7cf7808e7e60314ed003d52c215dedc0924b
Author: Christian Sigg <csigg at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/tblgen.bzl
Log Message:
-----------
[mlir][bazel] Allow `gentbl_cc_library(tbl_outs)` to be a dict. (#134271)
This makes the BUILD file shorter and more readable.
I will follow up with converting the other instances.
Commit: a54736afd5b8f8ed25550a9f456afd36e49c04e0
https://github.com/llvm/llvm-project/commit/a54736afd5b8f8ed25550a9f456afd36e49c04e0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
CloneFunction: Do not delete blocks with address taken (#134209)
If a block with a single predecessor also had its address taken,
it was getting deleted in this post-inline cleanup step. This would
result in the blockaddress in the resulting function getting deleted
and replaced with inttoptr 1.
This fixes one bug required to permit inlining of functions with blockaddress
uses.
At the moment this is not testable (at least without an annoyingly complex
unit test), and is a pre-bug fix for future patches. Functions with
blockaddress uses are rejected in isInlineViable, so we don't get this far
with the current InlineFunction uses (some of the existing cases seem to
reproduce this part of the rejection logic, like PartialInliner). This
will be tested in a pending llvm-reduce change.
Prerequisite for #38908
Commit: 9a5b0f302be2ce155d5a4a0f0ca998ecb9bca497
https://github.com/llvm/llvm-project/commit/9a5b0f302be2ce155d5a4a0f0ca998ecb9bca497
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/shl-bo.ll
M llvm/test/Transforms/InstCombine/shl-twice-constant.ll
M llvm/test/Transforms/InstCombine/sub.ll
M llvm/test/Transforms/InstSimplify/vec-icmp-of-cast.ll
Log Message:
-----------
Reapply "[InstCombine] Match scalable splats in m_ImmConstant (#132522)" (#134262)
This reapplies #132522.
Previously casts of scalable m_ImmConstant splats weren't being folded
by ConstantFoldCastOperand, triggering the "Constant-fold of ImmConstant
should not fail" assertion.
There are no changes to the code in this PR, instead we just needed
#133207 to land first.
A test has been added for the assertion in
llvm/test/Transforms/InstSimplify/vec-icmp-of-cast.ll
@icmp_ult_sext_scalable_splat_is_true.
<hr/>
#118806 fixed an infinite loop in FoldShiftByConstant that could occur
when the shift amount was a ConstantExpr.
However this meant that FoldShiftByConstant no longer kicked in for
scalable vectors because scalable splats are represented by
ConstantExprs.
This fixes it by allowing scalable splats of non-ConstantExprs in
m_ImmConstant, which also fixes a few other test cases where scalable
splats were being missed.
But I'm also hoping that UseConstantIntForScalableSplat will eventually
remove the need for this.
I noticed this when trying to reverse a combine on RISC-V in #132245,
and saw that the resulting vector and scalar forms were different.
Commit: 2abcdd8cf08b9a170e6e5ad1b9facbf71135522f
https://github.com/llvm/llvm-project/commit/2abcdd8cf08b9a170e6e5ad1b9facbf71135522f
Author: Austin Schuh <AustinSchuh at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
M clang/lib/Headers/__clang_cuda_texture_intrinsics.h
A clang/test/CodeGen/nvptx-surface.cu
M clang/test/Headers/Inputs/include/cuda.h
A clang/test/Headers/Inputs/include/surface_indirect_functions.h
Log Message:
-----------
[CUDA] Add support for CUDA surfaces (#132883)
This adds support for all the surface read and write calls to clang. It
extends the pattern used for textures to surfaces too.
I tested this by generating all the various permutations of the calls
and argument types in a python script, compiling them with both clang
and nvcc, and comparing the generated ptx for equivilence. They all
agree, ignoring register allocation, and some places where Clang picks
different memory write instructions. An example kernel is:
```
__global__ void testKernel(cudaSurfaceObject_t surfObj, int x, float2* result) {
*result = surf1Dread<float2>(surfObj, x, cudaBoundaryModeZero);
}
```
---------
Signed-off-by: Austin Schuh <austin.linux at gmail.com>
Commit: 0bec0f5c059af5f920fe22ecda469b666b5971b0
https://github.com/llvm/llvm-project/commit/0bec0f5c059af5f920fe22ecda469b666b5971b0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
Log Message:
-----------
[SLP]Initial support for (masked)loads + compress and (masked)interleaved
Added initial support for (masked)loads + compress and
(masked)interleaved loads.
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/132099
Commit: 1a540c3b8bcefaf6b36f261341ce55a1a24eca21
https://github.com/llvm/llvm-project/commit/1a540c3b8bcefaf6b36f261341ce55a1a24eca21
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/lib/CodeGen/LivePhysRegs.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/PowerPC/adde_return_type.ll
M llvm/test/CodeGen/PowerPC/addegluecrash.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-split.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc-large32.ll
M llvm/test/CodeGen/PowerPC/atomicrmw-cond-sub-clamp.ll
A llvm/test/CodeGen/PowerPC/carry-liveness-after-expand-isel.ll
M llvm/test/CodeGen/PowerPC/cvt_i64_to_fp.ll
M llvm/test/CodeGen/PowerPC/inc-of-add.ll
M llvm/test/CodeGen/PowerPC/pr35688.ll
M llvm/test/CodeGen/PowerPC/pr36292.ll
M llvm/test/CodeGen/PowerPC/pr40922.ll
M llvm/test/CodeGen/PowerPC/pr45448.ll
M llvm/test/CodeGen/PowerPC/sat-add.ll
M llvm/test/CodeGen/PowerPC/select.ll
M llvm/test/CodeGen/PowerPC/uaddo-32.ll
M llvm/test/CodeGen/PowerPC/uaddo-64.ll
M llvm/test/CodeGen/PowerPC/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/PowerPC/urem-seteq-illegal-types.ll
Log Message:
-----------
[PowerPC] Deprecate uses of ISD::ADDC/ISD::ADDE/ISD::SUBC/ISD::SUBE (#133155)
ISD::ADDC, ISD::ADDE, ISD::SUBC and ISD::SUBE are being deprecated,
using ISD::UADDO_CARRY,ISD::USUBO_CARRY instead. Lowering the UADDO,
UADDO_CARRY, USUBO, USUBO_CARRY in the patch.
Commit: 75142250527a97fcf0c721148705ae415a2f2d3a
https://github.com/llvm/llvm-project/commit/75142250527a97fcf0c721148705ae415a2f2d3a
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.err.ll
Log Message:
-----------
Use a more proper idiom for "the output file doesn't matter". NFC. (#134280)
As in the description. Follow up to PR #134179.
Commit: 262b9b515330daf7c446cc7983bf5f89185b3666
https://github.com/llvm/llvm-project/commit/262b9b515330daf7c446cc7983bf5f89185b3666
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/LoweringHelpers.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
A clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/Lowering/array.cpp
Log Message:
-----------
[CIR][Upstream] Local initialization for ArrayType (#132974)
This change adds local initialization for ArrayType
Issue #130197
Commit: cfee056b4e75cd941591d298e0f8dc303460c57e
https://github.com/llvm/llvm-project/commit/cfee056b4e75cd941591d298e0f8dc303460c57e
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/Mangle.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
A clang/include/clang/Basic/UnsignedOrNone.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaLambda.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Sema/TemplateDeduction.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang] NFC: introduce UnsignedOrNone as a replacement for std::optional<unsigned> (#134142)
This introduces a new class 'UnsignedOrNone', which models a lite
version of `std::optional<unsigned>`, but has the same size as
'unsigned'.
This replaces most uses of `std::optional<unsigned>`, and similar
schemes utilizing 'int' and '-1' as sentinel.
Besides the smaller size advantage, this is simpler to serialize, as its
internal representation is a single unsigned int as well.
Commit: 3e59ff27e5d4506086dfe02ec600adf0baa9543e
https://github.com/llvm/llvm-project/commit/3e59ff27e5d4506086dfe02ec600adf0baa9543e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Fix pred type for vote functions (#134166)
Commit: 3f6ae3f0a81ac32aee7633b7c240ce8eb25192ff
https://github.com/llvm/llvm-project/commit/3f6ae3f0a81ac32aee7633b7c240ce8eb25192ff
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/docs/ArrayRepacking.md
M flang/include/flang/Lower/LoweringOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Driver/frepack-arrays-contiguity.f90
A flang/test/Driver/frepack-arrays.f90
A flang/test/Driver/fstack-repack-arrays.f90
M flang/test/Lower/repack-arrays.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Added driver options for arrays repacking. (#134002)
Added options:
* -f[no-]repack-arrays
* -f[no-]stack-repack-arrays
* -frepack-arrays-contiguity=whole/innermost
Commit: b8b752db2b89a730aff250a83b64c7ed10d95ca0
https://github.com/llvm/llvm-project/commit/b8b752db2b89a730aff250a83b64c7ed10d95ca0
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/docs/CMakeLists.txt
Log Message:
-----------
[flang][NFC] Create required Source dir for flang-doc. (#134000)
Commit: 158684a80ff825f0f02863360ac51230f5b7c3b4
https://github.com/llvm/llvm-project/commit/158684a80ff825f0f02863360ac51230f5b7c3b4
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after 586c5e3083428e7473e880dafd5939e8707bc1c9
Commit: b393ca6026ffbd5621edb00503dd39e9eec97a1a
https://github.com/llvm/llvm-project/commit/b393ca6026ffbd5621edb00503dd39e9eec97a1a
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVRedundantCopyElimination.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Log Message:
-----------
[NFC][LLVM][RISCV] Cleanup pass initialization for RISCV (#134279)
- Move calls to pass initialization functions to RISCV target
initialization and remove them from pass constructors.
Commit: 7288f1bc32c1964c4de50aa305b696b32d0c0f1a
https://github.com/llvm/llvm-project/commit/7288f1bc32c1964c4de50aa305b696b32d0c0f1a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Use nvvm operation for match any (#134283)
The string used for intrinsic was not the correct one
"llvm.nvvm.match.any.sync.i32p". There was an extra `p` at the end.
Use the NVVM operation instead so we don't duplicate it.
Commit: 229ca7dbcb5a6bcbcdc87fb0feb29362375c2843
https://github.com/llvm/llvm-project/commit/229ca7dbcb5a6bcbcdc87fb0feb29362375c2843
Author: zcfh <1412805291 at qq.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/test/tools/llvm-profdata/memprof-buildid.test
Log Message:
-----------
[memprof] Report an error when buildid and profile do not match (#132504)
## Problem
When the build ids of the profile and binary do not match, the error
reported by llvm-profdata is `no entries in callstack map after
symbolization`, but the root cause of this problem is the **build id
mismatch**.
## Trigger scenario
For example, when performing `memprof` optimization on `clang`,
`rawprofile` is collected through `ninja clang`. In addition to running
clang, some other programs will also be executed, and these programs
will also generate rawprofile. When `no entries in callstack map after
symbolization` appears during `llvm-profdata merge`, users may
mistakenly think that the **instrumentation failed or other reasons**,
and will **not directly realize that the binary and profile do not
match**.
## Changed
Currently, when the build id does not match, an assert error is
triggered only in debug mode. Change it to directly return an error when
the build id does not match.
Commit: 7c4013d5912d2163147b46d6f97f4e2b0d976f3a
https://github.com/llvm/llvm-project/commit/7c4013d5912d2163147b46d6f97f4e2b0d976f3a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
Log Message:
-----------
Revert "[SLP]Initial support for (masked)loads + compress and (masked)interleaved"
This reverts commit 0bec0f5c059af5f920fe22ecda469b666b5971b0 to fix
a crash reported in https://lab.llvm.org/buildbot/#/builders/143/builds/6668.
Commit: 012e574d4dc3f2441fae05e3fa9c35f3fe1e310e
https://github.com/llvm/llvm-project/commit/012e574d4dc3f2441fae05e3fa9c35f3fe1e310e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
Log Message:
-----------
[LV] Add FindLastIV test with truncated IV and epilogue vectorization.
This adds missing test coverage for
https://github.com/llvm/llvm-project/pull/132691.
Commit: daab7d08078bb7cd37c66b78a56f4773e6b12fba
https://github.com/llvm/llvm-project/commit/daab7d08078bb7cd37c66b78a56f4773e6b12fba
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
Log Message:
-----------
[SLP]Initial support for (masked)loads + compress and (masked)interleaved
Added initial support for (masked)loads + compress and
(masked)interleaved loads.
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/132099
Commit: b93376f899824ad8543b961f2f79de6841034090
https://github.com/llvm/llvm-project/commit/b93376f899824ad8543b961f2f79de6841034090
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp
Log Message:
-----------
[libc++][type_traits] `reference_{constructs|converts}_from_temporary` with `-Winvalid-specialization` tests (#133946)
Addresses comment:
https://github.com/llvm/llvm-project/pull/128649/files#r2022341035
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 61768b35285ef73b88146946dddfef045b353708
https://github.com/llvm/llvm-project/commit/61768b35285ef73b88146946dddfef045b353708
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/ctxprof-separate-module.ll
Log Message:
-----------
[ctxprof] Don't import roots elsewhere (#134012)
Block a context root from being imported by its callers.
Suppose that happened. Its caller - usually a message pump - inlines its copy of the root. Then it (the root) and whatever it calls will be the non-contextually optimized callee versions.
Commit: cdff7f0b6ebe48c7d99079db002855be7716a7a9
https://github.com/llvm/llvm-project/commit/cdff7f0b6ebe48c7d99079db002855be7716a7a9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Retrieve middle VPBB via scalar ph to fix epilogue resumephis (NFC)
If ScalarPH has predecessors, we may need to update its reduction resume
values. If there is a middle block, it must be the first predecessor.
Note that the first predecessor may not be the middle block, if the
middle block doesn't branch to the scalar preheader. In that case,
fixReductionScalarResumeWhenVectorizingEpilog will be a no-op.
In preparation for https://github.com/llvm/llvm-project/pull/106748.
Commit: 5f99e0d4b9ea071e29a9cba75619d26811ff76c2
https://github.com/llvm/llvm-project/commit/5f99e0d4b9ea071e29a9cba75619d26811ff76c2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
Log Message:
-----------
[lldb] Use the "reverse video" effect when colors are disabled. (#134203)
When you run lldb without colors (`-X`), the status line looks weird
because it doesn't have a background. You end up with what appears to be
floating text at the bottom of your terminal.
This patch changes the statusline to use the reverse video effect, even
when colors are off. The effect doesn't introduce any new colors and
just inverts the foreground and background color.
I considered an alternative approach which changes the behavior of the
`-X` option, so that turning off colors doesn't prevent emitting
non-color related control characters such as bold, underline, and
reverse video. I decided to go with this more targeted fix as (1) nobody
is asking for this more general change and (2) it introduces significant
complexity to plumb this through using a setting and driver flag so that
it can be disabled when running the tests.
Fixes #134112.
Commit: 7d3dfc862d283319d01997c0672c50b4a082aa4e
https://github.com/llvm/llvm-project/commit/7d3dfc862d283319d01997c0672c50b4a082aa4e
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
A llvm/include/llvm/ExecutionEngine/JITLink/XCOFF.h
A llvm/include/llvm/ExecutionEngine/JITLink/XCOFF_ppc64.h
M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFF.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.h
A llvm/lib/ExecutionEngine/JITLink/XCOFF_ppc64.cpp
M llvm/lib/ExecutionEngine/Orc/LoadLinkableFile.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectFileInterface.cpp
M llvm/lib/Object/XCOFFObjectFile.cpp
A llvm/test/ExecutionEngine/JITLink/ppc64/XCOFF_ppc64.ll
Log Message:
-----------
[JITLink][XCOFF] Setup initial build support for XCOFF (#127266)
This patch starts the initial implementation of JITLink for XCOFF (Object format for AIX).
Commit: 4f902d2425e59bd182390702de23d5cec3467fc2
https://github.com/llvm/llvm-project/commit/4f902d2425e59bd182390702de23d5cec3467fc2
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-completeness.s
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
Log Message:
-----------
[llvm-dwarfdump] Make --verify for .debug_names multithreaded. (#127281)
This PR makes verification of .debug_names acceleration table
multithreaded. In local testing it improves verification of clang
.debug_names from four minutes to under a minute.
This PR relies on a current mechanism of extracting DIEs into a vector.
Future improvements can include creating API to extract one DIE at a
time, or grouping Entires into buckets by CUs and extracting before
parallel step.
Single Thread
4:12.37 real, 246.88 user, 3.54 sys, 0 amem,10232004 mmem
Multi Thread
0:49.40 real, 612.84 user, 515.73 sys, 0 amem, 11226292 mmem
Commit: 13aac46332f607a38067b5ddd466071683b8c255
https://github.com/llvm/llvm-project/commit/13aac46332f607a38067b5ddd466071683b8c255
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGExpr.cpp
Log Message:
-----------
[clang][NFC] Refactor CodeGen's hasBooleanRepresentation (#134159)
The ClangIR upstreaming project needs the same logic for
hasBooleanRepresentation() that is currently implemented in the standard
clang codegen. In order to share this code, this change moves the
implementation of this function into the AST Type class.
No functional change is intended by this change. The ClangIR use of this
function will be added separately in a later change.
Commit: a06ae976dc0d977ca034041a8b91634e32bf6994
https://github.com/llvm/llvm-project/commit/a06ae976dc0d977ca034041a8b91634e32bf6994
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/unary.cpp
Log Message:
-----------
[CIR] Upstream support for promoted types with unary plus/minus (#133829)
The initial upstreaming of unary operations left promoted types
unhandled for the unary plus and minus operators. This change implements
support for promoted types and performs a bit of related code cleanup.
Commit: 0f696c2e866d7aa913c7a1eaadde9bd4378e25b1
https://github.com/llvm/llvm-project/commit/0f696c2e866d7aa913c7a1eaadde9bd4378e25b1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/vector-loop-backedge-elimination-epilogue.ll
Log Message:
-----------
[LV] Add test where epilogue is vectorized and backedge removed.
Adds extra test coverage for
https://github.com/llvm/llvm-project/pull/106748.
Commit: de40f6101d34dd7964d409366fca663c5515a941
https://github.com/llvm/llvm-project/commit/de40f6101d34dd7964d409366fca663c5515a941
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda][NFC] Use NVVM op for match all (#134303)
Commit: fb6f60ddc5f2e386bbeaa2927a6081d15bc159fc
https://github.com/llvm/llvm-project/commit/fb6f60ddc5f2e386bbeaa2927a6081d15bc159fc
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda][NFC] Use NVVM VoteBallotOp (#134307)
`llvm.nvvm.vote.ballot.sync` has its own operation so use it in
lowering.
Commit: 85fdab33b09ab2246e69f806a85f1846a9ea1e51
https://github.com/llvm/llvm-project/commit/85fdab33b09ab2246e69f806a85f1846a9ea1e51
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/command.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Runtime/command.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
A flang/test/Lower/Intrinsics/unlink-func.f90
A flang/test/Lower/Intrinsics/unlink-sub.f90
Log Message:
-----------
[flang][intrinsic] add nonstandard intrinsic unlink (#134162)
This PR adds the intrinsic `unlink` to flang.
## Test plan
- Added two codegen unit tests and ensured flang-check continues to
pass.
- Manually compiled and ran the example from the documentation.
Commit: 506630d6db7c848f8943fff752039b9e1c91cb63
https://github.com/llvm/llvm-project/commit/506630d6db7c848f8943fff752039b9e1c91cb63
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][deps] Avoid unchecked error assertion (#134284)
Commit: 109566a3d0cf20fc13a181a844c159032e7042ee
https://github.com/llvm/llvm-project/commit/109566a3d0cf20fc13a181a844c159032e7042ee
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fold "${Target}Analysis" targets into their respective CodeGen targets. (#134312)
After 3801bf6164f570a145e3ebd20cf9114782ae0329, SPIRVAnalysis needs to
include SPIRV.h provided by SPIRVCodegen, but the CodeGen target already
depends on Analysis, so that would cause a circular dependency.
Analysis is a subdirectory of CodeGen so it makes sense as a part of the
main CodeGen target too.
Commit: 996cf5dc6731d00da6ce5dc7a25b399d0ed29d54
https://github.com/llvm/llvm-project/commit/996cf5dc6731d00da6ce5dc7a25b399d0ed29d54
Author: Sumit Agarwal <sumitagarwal330 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/dot2add.hlsl
A clang/test/SemaHLSL/BuiltIns/dot2add-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/dot2add.ll
Log Message:
-----------
[HLSL] Implement dot2add intrinsic (#131237)
Resolves #99221
Key points: For SPIRV backend, it decompose into a `dot` followed a
`add`.
- [x] Implement dot2add clang builtin,
- [x] Link dot2add clang builtin with hlsl_intrinsics.h
- [x] Add sema checks for dot2add to CheckHLSLBuiltinFunctionCall in
SemaHLSL.cpp
- [x] Add codegen for dot2add to EmitHLSLBuiltinExpr in CGBuiltin.cpp
- [x] Add codegen tests to clang/test/CodeGenHLSL/builtins/dot2add.hlsl
- [x] Add sema tests to clang/test/SemaHLSL/BuiltIns/dot2add-errors.hlsl
- [x] Create the int_dx_dot2add intrinsic in IntrinsicsDirectX.td
- [x] Create the DXILOpMapping of int_dx_dot2add to 162 in DXIL.td
- [x] Create the dot2add.ll and dot2add_errors.ll tests in
llvm/test/CodeGen/DirectX/
Commit: b11eece1bb582fa1d06ca61e210f9741e0a357b7
https://github.com/llvm/llvm-project/commit/b11eece1bb582fa1d06ca61e210f9741e0a357b7
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/extensions.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
A flang/test/Lower/Intrinsics/time.f90
Log Message:
-----------
[flang][intrinsics] Implement the time intrinsic (#133823)
This PR implements the nonstandard intrinsic time.
In addition to running the unit tests, I also double checked that the
example code works by manually compiling and running it.
Commit: 2cd8edd1fff2a9d82902f70270b4209463a34cba
https://github.com/llvm/llvm-project/commit/2cd8edd1fff2a9d82902f70270b4209463a34cba
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
Log Message:
-----------
[libc++] Add missing release note for LLVM 20 about zip_view (#134144)
We should have had a release note in LLVM 20 about implementing P2165R4
since that is technically an ABI and API break for zip_view. We don't
expect anyone to actually hit the ABI issue, but we've come across some
(fairly small) breakage due to the API change, so this should at least
be mentioned in the release notes.
Commit: f1c6612202d88cbde224387621327a31609f2177
https://github.com/llvm/llvm-project/commit/f1c6612202d88cbde224387621327a31609f2177
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
Log Message:
-----------
[lldb][debugserver] Save and restore the SVE/SME register state (#134184)
debugserver isn't saving and restoring the SVE/SME register state around
inferior function calls.
Making arbitrary function calls while in Streaming SVE mode is generally
a poor idea because a NEON instruction can be hit and crash the
expression execution, which is how I missed this, but they should be
handled correctly if the user knows it is safe to do.
Re-landing this change after fixing an incorrect behavior on systems
without SME support.
rdar://146886210
Commit: 9f2feeb1891a4d58823e6cbbb404847d6e43e65b
https://github.com/llvm/llvm-project/commit/9f2feeb1891a4d58823e6cbbb404847d6e43e65b
Author: modiking <modiking213 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/lib/Target/LLVM/NVVM/Target.cpp
M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
Log Message:
-----------
[mlir][gpu][nvptx] Remove null terminator when outputting PTX (#133019)
PTX source files are expected to only contain ASCII text
(https://docs.nvidia.com/cuda/parallel-thread-execution/#source-format) and no null terminators.
`ptxas` has so far not enforced this but is moving towards doing so.
This revealed a problem where the null terminator is getting printed out
in the output file in MLIR path when outputting ptx directly. Only add the null on the assembly output path for JIT instead of in output of `moduleToObject `.
Commit: bd197ca00365cd35002792324bd149f71e864e1a
https://github.com/llvm/llvm-project/commit/bd197ca00365cd35002792324bd149f71e864e1a
Author: Ian Anderson <iana at apple.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/test/Driver/Inputs/DriverKit23.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.14.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.15.versioned.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.1.sdk/SDKSettings.json
M clang/test/Driver/Inputs/WatchOS6.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/iPhoneOS13.0.sdk/SDKSettings.json
M clang/test/Driver/darwin-ld-platform-version-watchos.c
M clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/AppleTVOS15.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/MacOSX11.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/WatchOS7.0.sdk/SDKSettings.json
Log Message:
-----------
[clang][modules] Determine if the SDK supports builtin modules independent of the target (#134005)
Whether the SDK supports builtin modules is a property of the SDK
itself, and really has nothing to do with the target. This was already
worked around for Mac Catalyst, but there are some other more esoteric
non-obvious target-to-sdk mappings that aren't handled. Have the SDK
parse its OS out of CanonicalName and use that instead of the target to
determine if builtin modules are supported.
Commit: d33ae41c621dfbfb1eda5d469e2fb146ef49fbf9
https://github.com/llvm/llvm-project/commit/d33ae41c621dfbfb1eda5d469e2fb146ef49fbf9
Author: Aditya Tejpaul <97700214+hoarfrost32 at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/sys/time.yaml
M libc/src/sys/CMakeLists.txt
A libc/src/sys/time/CMakeLists.txt
A libc/src/sys/time/linux/CMakeLists.txt
A libc/src/sys/time/linux/utimes.cpp
A libc/src/sys/time/utimes.h
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/time/CMakeLists.txt
A libc/test/src/sys/time/utimes_test.cpp
Log Message:
-----------
[libc] Implemented utimes (Issue #133953) (#134167)
This pull request implements the `utimes` command in libc ([Issue
#133953](https://github.com/llvm/llvm-project/issues/133953)).
- [x] Add the implementation of `utimes` in `/src/sys/time`.
- [x] Add tests for `utimes` in `/test/src/sys/time`.
- [x] Add `utimes` to
[entrypoints.txt](https://github.com/llvm/llvm-project/blob/main/libc/config/linux/x86_64/entrypoints.txt)
for at least x86_64 and whatever you're building on
- [x] Add `utimes` to
[include/sys/time.yaml](https://github.com/llvm/llvm-project/blob/main/libc/include/sys/time.yaml)
Commit: ba0a52a04b140bb7ed75cca4e1c27ec7d747fa40
https://github.com/llvm/llvm-project/commit/ba0a52a04b140bb7ed75cca4e1c27ec7d747fa40
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/test/CodeGen/NVPTX/i1-ext-load.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
M llvm/test/DebugInfo/NVPTX/debug-info.ll
A llvm/test/Transforms/InferAddressSpaces/NVPTX/arguments.ll
Log Message:
-----------
[InferAS] Support getAssumedAddrSpace for Arguments for NVPTX (#133991)
Commit: ee1ee1144a20c439432a4f6075bdd7aa0afcfb9f
https://github.com/llvm/llvm-project/commit/ee1ee1144a20c439432a4f6075bdd7aa0afcfb9f
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.cpp
Log Message:
-----------
Fix unused variable warning in non-debug build after 7d3dfc862d283319d01997c0672c50b4a082aa4e (NFC)
Commit: c0079ba3dd31dd928df0c7f0f0e6106260f0ca19
https://github.com/llvm/llvm-project/commit/c0079ba3dd31dd928df0c7f0f0e6106260f0ca19
Author: Michael Jones <michaelrj at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M libc/test/src/sys/time/utimes_test.cpp
Log Message:
-----------
[libc] Make utimes_test more stable (#134321)
The test for utimes added in #134167 might fail if the file for one test
hasn't been cleaned up by the OS before the second test starts. This
patch makes the tests use different files.
Commit: 65b85bf8bcb6c88f249de99c6b568f13b9794c1c
https://github.com/llvm/llvm-project/commit/65b85bf8bcb6c88f249de99c6b568f13b9794c1c
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/test/Driver/linker-flags.f90
Log Message:
-----------
[flang] Fixed driver link LIT test for PPC targets. (#134320)
After #131041, the F128 libraries are not linked for PPC targets even
when the driver is built with FLANG_RUNTIME_F128_MATH_LIB.
Commit: fcfbef5582f097f3933470755c3f873e9efce03f
https://github.com/llvm/llvm-project/commit/fcfbef5582f097f3933470755c3f873e9efce03f
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Remove extra declarations of MulOperandsAndResultElementType in TosaOps.td (#134300)
Minor code cleanup
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 7d05c2326c579ff93b7b2a412cc2fd2b10598b34
https://github.com/llvm/llvm-project/commit/7d05c2326c579ff93b7b2a412cc2fd2b10598b34
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Remove extra trailing whitespace (#134290)
Trivial change.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: ae5306f30e17719d7589b7941bd107ce58a04228
https://github.com/llvm/llvm-project/commit/ae5306f30e17719d7589b7941bd107ce58a04228
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
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
A llvm/test/MC/RISCV/xqcibi-relocations.s
Log Message:
-----------
[RISCV] Add symbol parsing support for the Xqcibi branch immediate instructions (#134233)
This patch adds support for parsing symbols in the Xqcibi branch
immediate instructions. While the 32 bit branch instructions use the
same instruction format and relocation as the existing branch
instructions in RISCV, the 48 bit ones use the `InstFormatQC_EB`
instruction format and the `R_RISCV_QC_E_BRANCH` relocation that is
defined in `BinaryFormat/ELFRelocs/RISCV_nonstandard.def.`
Vendor relocation support will be added in a later patch.
Commit: b9891715af7ab055ccb7ad424aefe54c67d77988
https://github.com/llvm/llvm-project/commit/b9891715af7ab055ccb7ad424aefe54c67d77988
Author: Rodrigo Rocha <rcor at dcc.ufmg.br>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
Log Message:
-----------
[BOLT] Handle generation of compare and jump sequences (#131949)
This patch fixes the following two issues with the createCmpJE for
AArch64:
1. Avoids overwriting the value of the input register RegNo by use XZR
as the destination register.
subs xzr, RegNo, #Imm
which is equivalent to a simple
cmp RegNo, #Imm
2. The immediate operand to the Bcc instruction must be EQ instead of
#Imm.
This patch also adds a new function for createCmpJNE and unit tests for
the both createCmpJE and createCmpJNE for X86 and AArch64.
Commit: 21468261695918cd74e0079153eedbccb689fe20
https://github.com/llvm/llvm-project/commit/21468261695918cd74e0079153eedbccb689fe20
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/test/ThinLTO/X86/ctxprof-separate-module.ll
Log Message:
-----------
[ctxprof] Support for "move" semantics for the contextual root (#134192)
This PR finishes what PR #133992 started.
Commit: 4532512f6c2558fa7d5ba9f35fbce7bad76c1380
https://github.com/llvm/llvm-project/commit/4532512f6c2558fa7d5ba9f35fbce7bad76c1380
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
Log Message:
-----------
[ctxprof] Move `MoveSymbolGUID` to address dependency issues (#134334)
See PR #134192
Commit: 4088c70f4e7eae0bfc2916cc88c7301ec5e19daf
https://github.com/llvm/llvm-project/commit/4088c70f4e7eae0bfc2916cc88c7301ec5e19daf
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
Log Message:
-----------
CGHLSLBuiltins.cpp: Suppress a warning in #131237 [-Wunused-variable]
Commit: c9f6d26e049849a8d8d31deaf6c710894a361b0e
https://github.com/llvm/llvm-project/commit/c9f6d26e049849a8d8d31deaf6c710894a361b0e
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/AsmLexer.h
M llvm/include/llvm/MC/MCParser/MCAsmLexer.h
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/CMakeLists.txt
R llvm/lib/MC/MCParser/MCAsmLexer.cpp
M llvm/utils/gn/secondary/llvm/lib/MC/MCParser/BUILD.gn
Log Message:
-----------
[MC] Merge MCAsmLexer.{h,cpp} into AsmLexer.{h,cpp} (#134207)
2b11c7de4ae182496438e166cb6758d41b6e1740 introduced
`llvm/include/llvm/MC/MCAsmLexer.h` and made `AsmLexer` inherit from
`MCAsmLexer`, likely to allow target-specific parsers to depend solely
on `MCAsmLexer`. However, this separation now seems unnecessary and
confusing.
`MCAsmLexer` defines virtual functions with `AsmLexer` as its only
implementation, and `AsmLexer` itself has few extra public methods.
To simplify the codebase, this change merges MCAsmLexer.{h,cpp} into
AsmLexer.{h,cpp}. MCAsmLexer.h is temporarily kept as a forwarder.
Note: I doubt that a downstream lexer handling an assembly syntax
significantly different from the standard GNU Assembler syntax would
want to inherit from `MCAsmLexer`. Instead, it's more likely they'd
extend `AsmLexer` by adding new states and modifying its internal logic,
as seen with variables for MASM, M68k, and HLASM.
Commit: 897f9a51b981c773a63dd94709d9de2442feb008
https://github.com/llvm/llvm-project/commit/897f9a51b981c773a63dd94709d9de2442feb008
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/Headers/avx10_2_512bf16intrin.h
M clang/lib/Headers/avx10_2bf16intrin.h
Log Message:
-----------
[X86][AVX10.2] Replace nepbh with bf16 to match with others, NFCI (#134240)
Commit: 8e7d6baf0e013408be932758b4a5334c14a34086
https://github.com/llvm/llvm-project/commit/8e7d6baf0e013408be932758b4a5334c14a34086
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/include/lldb/API/SBModule.h
M lldb/source/API/SBModule.cpp
Log Message:
-----------
Revert "[LLDB] Expose checking if the symbol file exists/is loaded via SBModule" (#134341)
Reverts llvm/llvm-project#134163
Reverting while @clayborg and I come up with a better API
Commit: 6333f8457c43f5a2d19d6552689726e86196dea7
https://github.com/llvm/llvm-project/commit/6333f8457c43f5a2d19d6552689726e86196dea7
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Lower/OpenMP/loop-directive.f90
Log Message:
-----------
[flang][OpenMP] Move reductions from `loop` to `teams` when `loop` is mapped to `distribute` (#132920)
Follow-up to #132003, in particular, see
https://github.com/llvm/llvm-project/pull/132003#issuecomment-2739701936.
This PR extends reduction support for `loop` directives. Consider the
following scenario:
```fortran
subroutine bar
implicit none
integer :: x, i
!$omp teams loop reduction(+: x)
DO i = 1, 5
call foo()
END DO
end subroutine
```
Note the following:
* According to the spec, the `reduction` clause will be attached to
`loop` during earlier stages in the compiler.
* Additionally, `loop` cannot be mapped to `distribute parallel for` due
to the call to a foreign function inside the loop's body.
* Therefore, `loop` must be mapped to `distribute`.
* However, `distribute` does not have `reduction` clauses.
* As a result, we have to move the `reduction`s from the `loop` to its
parent `teams` directive, which is what is done by this PR.
Commit: 46e2c07fa28bd42da8f8ca52e93603297114afa2
https://github.com/llvm/llvm-project/commit/46e2c07fa28bd42da8f8ca52e93603297114afa2
Author: cmtice <cmtice at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
A lldb/docs/dil-expr-lang.ebnf
A lldb/include/lldb/ValueObject/DILAST.h
A lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
A lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/Target/StackFrame.cpp
M lldb/source/ValueObject/CMakeLists.txt
A lldb/source/ValueObject/DILAST.cpp
A lldb/source/ValueObject/DILEval.cpp
A lldb/source/ValueObject/DILParser.cpp
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/Makefile
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/TestFrameVarDILGlobalVariableLookup.py
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/Makefile
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/TestFrameVarDILInstanceVariables.py
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/Makefile
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/TestFrameVarDILLocalVars.py
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/main.cpp
M lldb/unittests/ValueObject/DILLexerTests.cpp
Log Message:
-----------
[LLDB] Add DIL code for handling plain variable names. (#120971)
Add the Data Inspection Language (DIL) implementation pieces for
handling plain local and global variable names.
See https://discourse.llvm.org/t/rfc-data-inspection-language/69893 for
information about DIL.
This change includes the basic AST, Lexer, Parser and Evaluator pieces,
as well as some tests.
Commit: 92c93f5286b9ff33f27ff694d2dc33da1c07afdd
https://github.com/llvm/llvm-project/commit/92c93f5286b9ff33f27ff694d2dc33da1c07afdd
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/AsmLexer.h
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/lib/MC/MCParser/AsmLexer.cpp
Log Message:
-----------
[MC] Merge MCAsmLexer and AsmLexer
Follow-up to #134207
Both classes define `IsAtStartOfStatement` but the semantics are
confusingly different. Rename the base class one.
Commit: 80815be48bb1f7fd995362eeac20ceabac7eedb9
https://github.com/llvm/llvm-project/commit/80815be48bb1f7fd995362eeac20ceabac7eedb9
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
R .ci/compute-projects.sh
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/generate-buildkite-pipeline-premerge
R .ci/generate_test_report.py
A .ci/generate_test_report_buildkite.py
A .ci/generate_test_report_github.py
A .ci/generate_test_report_lib.py
A .ci/generate_test_report_lib_test.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .github/new-prs-labeler.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/llvm-tests.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/premerge.yaml
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Core/Relocation.h
M bolt/include/bolt/Passes/DominatorAnalysis.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/AArch64/jmp-table-unsupported.s
A bolt/test/AArch64/lite-mode.s
A bolt/test/X86/lite-mode-target-expr.s
M bolt/test/binary-analysis/AArch64/cmdline-args.test
A bolt/test/binary-analysis/AArch64/gs-pauth-calls.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
M bolt/unittests/Core/MCPlusBuilder.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/assets/index.js
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/raw-string-literal.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-emplace.rst
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/test/clang-doc/assets.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.h
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang/Maintainers.rst
M clang/bindings/python/tests/cindex/test_diagnostics.py
M clang/docs/BoundsSafety.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/ConstantInterpreter.rst
M clang/docs/HIPSupport.rst
M clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/MSVCCompatibility.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerCoverage.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/Mangle.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/include/clang/Basic/ABI.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsSPIRV.td
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
A clang/include/clang/Basic/UnsignedOrNone.h
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/LoweringHelpers.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/include/clang/Lex/Preprocessor.h
A clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaBase.h
M clang/include/clang/Sema/SemaConcept.h
M clang/include/clang/Sema/SemaLambda.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Sema/TemplateDeduction.h
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
A clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Lowering/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
A clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGLoopInfo.h
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/Driver/Job.cpp
M clang/lib/Driver/Multilib.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/AVR.h
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MipsLinux.cpp
M clang/lib/Driver/ToolChains/MipsLinux.h
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OHOS.h
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.h
M clang/lib/Driver/ToolChains/PPCLinux.cpp
M clang/lib/Driver/ToolChains/PPCLinux.h
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/MacroCallReconstructor.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
M clang/lib/Headers/__clang_cuda_texture_intrinsics.h
M clang/lib/Headers/__clang_hip_math.h
M clang/lib/Headers/avx10_2_512bf16intrin.h
M clang/lib/Headers/avx10_2bf16intrin.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/stdint.h
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Interpreter/Wasm.h
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/CMakeLists.txt
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
A clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaFunctionEffects.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaSPIRV.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Core/Store.cpp
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
A clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
R clang/test/AST/ByteCode/codegen-mutable-read.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-expr.cpp
R clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/ast-print-openacc-atomic-construct.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/AST/ast-print-openacc-wait-construct.cpp
M clang/test/Analysis/ArrayBound/assumption-reporting.c
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
M clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
A clang/test/Analysis/lvalue_elements.c
M clang/test/Analysis/taint-generic.cpp
A clang/test/C/C11/n1518.c
M clang/test/C/C23/n3042.c
A clang/test/C/C2y/n3369.c
A clang/test/C/C2y/n3369_1.c
A clang/test/C/C2y/n3369_2.c
A clang/test/C/C2y/n3469.c
M clang/test/C/drs/dr209.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/CodeGen/unary.cpp
A clang/test/CIR/IR/unary.cir
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Lowering/global-var-simple.cpp
M clang/test/CIR/Lowering/hello.c
M clang/test/CIR/Transforms/loop.cir
M clang/test/CIR/global-var-simple.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p1.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/CodeGen/2003-08-20-vfork-bug.c
M clang/test/CodeGen/AArch64/bf16-dotprod-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
M clang/test/CodeGen/AArch64/neon-2velem.c
M clang/test/CodeGen/AArch64/neon-extract.c
M clang/test/CodeGen/AArch64/neon-fma.c
M clang/test/CodeGen/AArch64/neon-fp16fml.c
M clang/test/CodeGen/AArch64/neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-ldst-one-rcpc3.c
M clang/test/CodeGen/AArch64/neon-ldst-one.c
M clang/test/CodeGen/AArch64/neon-misc-constrained.c
M clang/test/CodeGen/AArch64/neon-misc.c
M clang/test/CodeGen/AArch64/neon-perm.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem-constrained.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
M clang/test/CodeGen/AArch64/neon-vcmla.c
M clang/test/CodeGen/AArch64/poly-add.c
M clang/test/CodeGen/AArch64/poly128.c
M clang/test/CodeGen/AArch64/poly64.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
M clang/test/CodeGen/AArch64/v8.1a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/AArch64/v8.6a-neon-intrinsics.c
A clang/test/CodeGen/Mips/subtarget-feature-test.c
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
M clang/test/CodeGen/arm-bf16-getset-intrinsics.c
M clang/test/CodeGen/arm-neon-directed-rounding-constrained.c
M clang/test/CodeGen/arm-neon-directed-rounding.c
M clang/test/CodeGen/arm-neon-fma.c
M clang/test/CodeGen/arm-neon-numeric-maxmin.c
M clang/test/CodeGen/arm-neon-vcvtX.c
M clang/test/CodeGen/arm-neon-vst.c
M clang/test/CodeGen/arm-poly-add.c
M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.6a-neon-intrinsics.c
M clang/test/CodeGen/arm64-vrnd-constrained.c
M clang/test/CodeGen/arm64-vrnd.c
M clang/test/CodeGen/arm64_vcreate.c
M clang/test/CodeGen/arm64_vdupq_n_f64.c
M clang/test/CodeGen/arm_neon_intrinsics.c
M clang/test/CodeGen/attr-btf_type_tag-similar-type.c
M clang/test/CodeGen/attr-btf_type_tag-typedef-field.c
M clang/test/CodeGen/bounds-checking-debuginfo.c
M clang/test/CodeGen/link-builtin-bitcode.c
A clang/test/CodeGen/nvptx-surface.cu
A clang/test/CodeGen/patchable-function-entry-section.c
A clang/test/CodeGen/promoted-complex-div.c
M clang/test/CodeGen/sanitize-coverage.c
M clang/test/CodeGen/setjmp.c
R clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/pragma-followup_inner.cpp
M clang/test/CodeGenCXX/pragma-followup_outer.cpp
M clang/test/CodeGenCXX/pragma-loop.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
A clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/acos.hlsl
A clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin.hlsl
A clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan.hlsl
A clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2.hlsl
A clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
A clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cosh.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees.hlsl
M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/dot.hlsl
A clang/test/CodeGenHLSL/builtins/dot2add.hlsl
A clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp.hlsl
A clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2.hlsl
A clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
A clang/test/CodeGenHLSL/builtins/frac-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
A clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
A clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
A clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize.hlsl
A clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
A clang/test/CodeGenHLSL/builtins/radians-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians.hlsl
A clang/test/CodeGenHLSL/builtins/rcp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
A clang/test/CodeGenHLSL/builtins/saturate-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
A clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh.hlsl
A clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
A clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
A clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step.hlsl
A clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan.hlsl
A clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh.hlsl
A clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-cvt-off-f32-i4.cl
R clang/test/CodeGenOpenCL/builtins-amdgcn-gfx942.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
A clang/test/CodeGenSPIRV/Builtins/smoothstep.c
M clang/test/Driver/Inputs/DriverKit23.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.14.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.15.versioned.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.1.sdk/SDKSettings.json
A clang/test/Driver/Inputs/SYCL/bar.ll
A clang/test/Driver/Inputs/SYCL/baz.ll
A clang/test/Driver/Inputs/SYCL/foo.ll
A clang/test/Driver/Inputs/SYCL/libsycl.ll
M clang/test/Driver/Inputs/WatchOS6.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/iPhoneOS13.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc.a
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc64.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc-ibm-aix/libclang_rt.builtins.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libclang_rt.builtins.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.so
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/bin/.hipVersion
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/include/hip/hip_runtime.h
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/asanrtl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/hip.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ockl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_400.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_500.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1010.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1011.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1012.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_803.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_900.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_908.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ocml.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/opencl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/bin/.keep
M clang/test/Driver/aix-ld.c
M clang/test/Driver/aix-print-runtime-dir.c
M clang/test/Driver/aix-rtlib.c
M clang/test/Driver/amdgpu-toolchain.c
A clang/test/Driver/arch-arm64e.c
M clang/test/Driver/clang-sycl-linker-test.cpp
A clang/test/Driver/cuda-no-pgo-or-coverage.cu
M clang/test/Driver/darwin-ld-platform-version-watchos.c
M clang/test/Driver/fpatchable-function-entry.c
M clang/test/Driver/fsanitize-coverage.c
M clang/test/Driver/fveclib.c
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
M clang/test/Driver/hip-toolchain-rdc.hip
A clang/test/Driver/link-device-code.test
M clang/test/Driver/print-multi-selection-flags.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/rocm-detect.hip
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/test/Driver/x86-target-features.c
A clang/test/Frontend/print-stats.c
M clang/test/Headers/Inputs/include/cuda.h
A clang/test/Headers/Inputs/include/surface_indirect_functions.h
M clang/test/Headers/openmp_device_math_isnan.cpp
M clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
M clang/test/Misc/diag-template-diffing-cxx11.cpp
M clang/test/Misc/show-diag-options.c
A clang/test/Modules/ComplexExplicitSpecifier.cpp
A clang/test/Modules/no-transitive-decl-change-3.cppm
M clang/test/Modules/vtable-windows.cppm
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/OpenMP/declare_variant_construct_codegen_1.c
M clang/test/OpenMP/interop_codegen.cpp
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
M clang/test/OpenMP/target_parallel_no_exceptions.cpp
M clang/test/OpenMP/target_team_variable_codegen.cpp
M clang/test/OpenMP/target_visibility.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/stdint.c
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
M clang/test/Sema/Inputs/AppleTVOS15.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/MacOSX11.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/WatchOS7.0.sdk/SDKSettings.json
A clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M clang/test/Sema/attr-args.c
M clang/test/Sema/for.c
M clang/test/Sema/patchable-function-entry-attr.c
A clang/test/SemaCXX/concepts-subsumption.cpp
M clang/test/SemaCXX/cxx17-compat.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
A clang/test/SemaCXX/friend-default-parameters-modules.cpp
A clang/test/SemaCXX/friend-default-parameters.cpp
A clang/test/SemaCXX/invalid-std-initializer-list.cpp
M clang/test/SemaCXX/ms_struct.cpp
M clang/test/SemaCXX/offsetof-0x.cpp
M clang/test/SemaCXX/offsetof.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
M clang/test/SemaCXX/warn-base-type-qualifiers.cpp
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/clip-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/dot2add-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl
M clang/test/SemaOpenACC/atomic-construct-ast.cpp
M clang/test/SemaOpenACC/atomic-construct.cpp
M clang/test/SemaOpenACC/combined-construct-wait-ast.cpp
M clang/test/SemaOpenACC/combined-construct-wait-clause.c
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct-wait-ast.cpp
M clang/test/SemaOpenACC/data-construct-wait-clause.c
A clang/test/SemaOpenACC/no-empty-pqr-list.cpp
M clang/test/SemaOpenACC/update-construct.cpp
M clang/test/SemaOpenACC/wait-construct-ast.cpp
A clang/test/SemaOpenCL/builtins-amdgcn-cvt-off-f32-i4-err.cl
R clang/test/SemaOpenCL/builtins-amdgcn-gfx942-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-global-load-lds-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-error.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
A clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-sycl-linker/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/AST/SourceLocationTest.cpp
M clang/unittests/ASTMatchers/CMakeLists.txt
M clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/MultiVarConstantPropagationTest.cpp
M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/CMakeLists.txt
M clang/unittests/CrossTU/CMakeLists.txt
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CMakeLists.txt
M clang/unittests/Index/CMakeLists.txt
M clang/unittests/InstallAPI/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/CMakeLists.txt
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
A clang/unittests/Parse/CMakeLists.txt
A clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M clang/unittests/Rewrite/CMakeLists.txt
M clang/unittests/Sema/CMakeLists.txt
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
M clang/unittests/Support/CMakeLists.txt
M clang/unittests/Tooling/CMakeLists.txt
M clang/unittests/Tooling/ExecutionTest.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
M clang/unittests/Tooling/Syntax/CMakeLists.txt
M clang/unittests/libclang/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M clang/www/c_status.html
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/asan/asan_activation.cpp
M compiler-rt/lib/asan/asan_flags.h
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_poisoning.h
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
A compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
A compiler-rt/lib/ctx_profile/RootAutoDetector.h
M compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
A compiler-rt/lib/ctx_profile/tests/RootAutoDetectorTest.cpp
M compiler-rt/lib/memprof/memprof_flags.h
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp
M compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
M compiler-rt/test/asan/TestCases/alloca_instruments_all_paddings.cpp
A compiler-rt/test/asan/TestCases/shadowed-stack-serialization.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-inlined.cpp
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/metadata/lit.cfg.py
A compiler-rt/test/profile/AIX/pgo-lto-bcdtor-function-section.test
M compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/getservent_r.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
M compiler-rt/test/sanitizer_common/lit.common.cfg.py
M compiler-rt/test/tsan/Darwin/no_call_setenv_in_symbolize.cpp
M compiler-rt/test/tsan/Linux/clone_setns.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/namespace.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/precompiled_binary/commands.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/windows_noncanonical_path/test.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/source-root-dir.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
M cross-project-tests/lit.cfg.py
M flang-rt/cmake/modules/GetToolchainDirs.cmake
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/memory.cpp
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/command.cpp
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/stop.cpp
M flang/docs/ArrayRepacking.md
M flang/docs/CMakeLists.txt
M flang/docs/Directives.md
A flang/docs/DoConcurrentConversionToOpenMP.md
M flang/docs/Intrinsics.md
M flang/docs/index.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Evaluate/traverse.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Optimizer/OpenMP/Passes.h
M flang/include/flang/Optimizer/OpenMP/Passes.td
A flang/include/flang/Optimizer/OpenMP/Utils.h
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/command.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Runtime/stop.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/include/flang/Support/LangOptions.def
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
A flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-directives.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/module/cudadevice.f90
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/bbc-openmp-version-macro.f90
A flang/test/Driver/do_concurrent_to_omp_cli.f90
A flang/test/Driver/flang-ld-powerpc.f90
M flang/test/Driver/flang-openmp-version-macro.f90
A flang/test/Driver/frepack-arrays-contiguity.f90
A flang/test/Driver/frepack-arrays.f90
A flang/test/Driver/fstack-repack-arrays.f90
M flang/test/Driver/fveclib.f90
M flang/test/Driver/linker-flags.f90
A flang/test/Driver/m64-option.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/CUDA/cuda-constructor.f90
M flang/test/Fir/basic-program.fir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Integration/unroll_and_jam.f90
M flang/test/Integration/vector-always.f90
R flang/test/Lower/AMD/code-object-version.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
A flang/test/Lower/Intrinsics/erf.f90
M flang/test/Lower/Intrinsics/erf_real16.f90
M flang/test/Lower/Intrinsics/erfc.f90
M flang/test/Lower/Intrinsics/erfc_real16.f90
M flang/test/Lower/Intrinsics/erfc_scaled.f90
A flang/test/Lower/Intrinsics/erfc_scaled_real16.f90
A flang/test/Lower/Intrinsics/perror.f90
A flang/test/Lower/Intrinsics/time.f90
A flang/test/Lower/Intrinsics/unlink-func.f90
A flang/test/Lower/Intrinsics/unlink-sub.f90
A flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
A flang/test/Lower/OpenMP/Todo/interop-construct.f90
M flang/test/Lower/OpenMP/copyin.f90
A flang/test/Lower/OpenMP/cray-pointers01.f90
A flang/test/Lower/OpenMP/cray-pointers02.f90
M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/host-eval.f90
M flang/test/Lower/OpenMP/loop-directive.f90
M flang/test/Lower/OpenMP/omp-is-gpu.f90
M flang/test/Lower/OpenMP/rtl-flags.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/target_cpu_features.f90
A flang/test/Lower/OpenMP/task-depend-array-section.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/array-constructor-2.f90
M flang/test/Lower/repack-arrays.f90
M flang/test/Lower/unroll_and_jam.f90
M flang/test/Lower/vector-always.f90
A flang/test/Parser/OpenMP/interop-construct.f90
M flang/test/Parser/compiler-directives.f90
A flang/test/Semantics/OpenMP/declare-target-function-name-with-symbols.f90
A flang/test/Semantics/OpenMP/interop-construct.f90
A flang/test/Semantics/erf.f90
A flang/test/Semantics/erfc.f90
A flang/test/Semantics/erfc_scaled.f90
A flang/test/Transforms/DoConcurrent/basic_device.mlir
A flang/test/Transforms/DoConcurrent/basic_host.f90
A flang/test/Transforms/DoConcurrent/basic_host.mlir
A flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
A flang/test/Transforms/DoConcurrent/loop_nest_test.f90
A flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
A flang/test/Transforms/DoConcurrent/non_const_bounds.f90
A flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
A flang/test/Transforms/loop-versioning-with-repack-arrays.fir
A flang/test/Transforms/lower-repack-arrays.fir
M flang/test/Transforms/simplify-fir-operations.fir
M flang/tools/bbc/bbc.cpp
A libc/Maintainers.rst
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/CMakeLists.txt
A libc/docs/Maintainers.rst
M libc/docs/headers/math/index.rst
M libc/docs/index.rst
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
R libc/include/llvm-libc-types/__bsearchcompare_t.h
R libc/include/llvm-libc-types/__lsearchcompare_t.h
A libc/include/llvm-libc-types/__search_compare_t.h
M libc/include/math.yaml
M libc/include/search.yaml
M libc/include/stdlib.yaml
M libc/include/sys/time.yaml
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/type_traits/is_signed.h
M libc/src/__support/CPP/type_traits/is_unsigned.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/cast.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/libc_assert.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/math/CMakeLists.txt
A libc/src/math/asinhf16.h
A libc/src/math/atan2f128.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/asinhf16.cpp
A libc/src/math/generic/atan2f128.cpp
M libc/src/math/generic/atan_utils.h
A libc/src/math/generic/hypotf16.cpp
A libc/src/math/hypotf16.h
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/memalignment.cpp
A libc/src/stdlib/memalignment.h
M libc/src/sys/CMakeLists.txt
A libc/src/sys/time/CMakeLists.txt
A libc/src/sys/time/linux/CMakeLists.txt
A libc/src/sys/time/linux/utimes.cpp
A libc/src/sys/time/utimes.h
M libc/startup/gpu/CMakeLists.txt
M libc/test/src/__support/CPP/type_traits_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/HypotTest.h
A libc/test/src/math/asinhf16_test.cpp
A libc/test/src/math/atan2f128_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/hypotf16_test.cpp
M libc/test/src/math/exhaustive/hypotf_test.cpp
A libc/test/src/math/hypotf16_test.cpp
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/hypotf16_perf.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/asinhf16_test.cpp
A libc/test/src/math/smoke/atan2f128_test.cpp
A libc/test/src/math/smoke/hypotf16_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/memalignment_test.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/time/CMakeLists.txt
A libc/test/src/sys/time/utimes_test.cpp
M libc/test/src/time/CMakeLists.txt
M libc/test/src/time/mktime_test.cpp
M libclc/CMakeLists.txt
M libclc/amdgpu/lib/SOURCES
R libclc/amdgpu/lib/math/native_exp.cl
R libclc/amdgpu/lib/math/native_exp.inc
R libclc/amdgpu/lib/math/native_log.cl
R libclc/amdgpu/lib/math/native_log.inc
R libclc/amdgpu/lib/math/native_log10.cl
R libclc/amdgpu/lib/math/native_log10.inc
A libclc/clc/include/clc/math/binary_decl_with_int_second_arg.inc
A libclc/clc/include/clc/math/binary_def_via_fp32.inc
A libclc/clc/include/clc/math/binary_def_with_int_second_arg.inc
A libclc/clc/include/clc/math/clc_acosh.h
A libclc/clc/include/clc/math/clc_asinh.h
A libclc/clc/include/clc/math/clc_atan2.h
A libclc/clc/include/clc/math/clc_atan2pi.h
A libclc/clc/include/clc/math/clc_atanh.h
A libclc/clc/include/clc/math/clc_cbrt.inc
A libclc/clc/include/clc/math/clc_cosh.h
A libclc/clc/include/clc/math/clc_cospi.h
A libclc/clc/include/clc/math/clc_ep_log.h
A libclc/clc/include/clc/math/clc_ep_log.inc
A libclc/clc/include/clc/math/clc_exp.h
A libclc/clc/include/clc/math/clc_exp10.h
A libclc/clc/include/clc/math/clc_exp2.h
A libclc/clc/include/clc/math/clc_exp_helper.h
A libclc/clc/include/clc/math/clc_exp_helper.inc
A libclc/clc/include/clc/math/clc_expm1.h
A libclc/clc/include/clc/math/clc_fmod.h
A libclc/clc/include/clc/math/clc_lgamma.h
A libclc/clc/include/clc/math/clc_lgamma_r.h
A libclc/clc/include/clc/math/clc_log1p.h
A libclc/clc/include/clc/math/clc_native_cos.h
A libclc/clc/include/clc/math/clc_native_divide.h
A libclc/clc/include/clc/math/clc_native_exp.h
A libclc/clc/include/clc/math/clc_native_exp10.h
A libclc/clc/include/clc/math/clc_native_exp2.h
A libclc/clc/include/clc/math/clc_native_log.h
A libclc/clc/include/clc/math/clc_native_log10.h
A libclc/clc/include/clc/math/clc_native_log2.h
A libclc/clc/include/clc/math/clc_native_powr.h
A libclc/clc/include/clc/math/clc_native_recip.h
A libclc/clc/include/clc/math/clc_native_rsqrt.h
A libclc/clc/include/clc/math/clc_native_sin.h
A libclc/clc/include/clc/math/clc_native_sqrt.h
A libclc/clc/include/clc/math/clc_native_tan.h
A libclc/clc/include/clc/math/clc_pow.h
A libclc/clc/include/clc/math/clc_pown.h
A libclc/clc/include/clc/math/clc_powr.h
A libclc/clc/include/clc/math/clc_remainder.h
A libclc/clc/include/clc/math/clc_remquo.h
A libclc/clc/include/clc/math/clc_rootn.h
M libclc/clc/include/clc/math/clc_sincos_helpers.inc
A libclc/clc/include/clc/math/clc_sincos_piby4.h
A libclc/clc/include/clc/math/clc_sincos_piby4.inc
A libclc/clc/include/clc/math/clc_sinh.h
A libclc/clc/include/clc/math/clc_sinpi.h
A libclc/clc/include/clc/math/clc_tanh.h
A libclc/clc/include/clc/math/clc_tanpi.h
A libclc/clc/include/clc/math/clc_tgamma.h
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/math/remquo_decl.inc
M libclc/clc/include/clc/math/tables.h
A libclc/clc/include/clc/math/unary_def_via_fp32.inc
R libclc/clc/include/clc/math/unary_intrin.inc
M libclc/clc/lib/amdgpu/SOURCES
A libclc/clc/lib/amdgpu/math/clc_native_exp.cl
A libclc/clc/lib/amdgpu/math/clc_native_exp.inc
A libclc/clc/lib/amdgpu/math/clc_native_exp2.cl
A libclc/clc/lib/amdgpu/math/clc_native_log10.cl
A libclc/clc/lib/amdgpu/math/clc_native_log10.inc
M libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_acosh.cl
A libclc/clc/lib/generic/math/clc_acosh.inc
A libclc/clc/lib/generic/math/clc_asinh.cl
A libclc/clc/lib/generic/math/clc_asinh.inc
A libclc/clc/lib/generic/math/clc_atan2.cl
A libclc/clc/lib/generic/math/clc_atan2.inc
A libclc/clc/lib/generic/math/clc_atan2pi.cl
A libclc/clc/lib/generic/math/clc_atan2pi.inc
A libclc/clc/lib/generic/math/clc_atanh.cl
A libclc/clc/lib/generic/math/clc_atanh.inc
A libclc/clc/lib/generic/math/clc_cbrt.cl
A libclc/clc/lib/generic/math/clc_cbrt.inc
A libclc/clc/lib/generic/math/clc_cosh.cl
A libclc/clc/lib/generic/math/clc_cosh.inc
A libclc/clc/lib/generic/math/clc_cospi.cl
A libclc/clc/lib/generic/math/clc_cospi.inc
A libclc/clc/lib/generic/math/clc_ep_log.cl
A libclc/clc/lib/generic/math/clc_ep_log.inc
A libclc/clc/lib/generic/math/clc_exp.cl
A libclc/clc/lib/generic/math/clc_exp.inc
A libclc/clc/lib/generic/math/clc_exp10.cl
A libclc/clc/lib/generic/math/clc_exp10.inc
A libclc/clc/lib/generic/math/clc_exp2.cl
A libclc/clc/lib/generic/math/clc_exp2.inc
A libclc/clc/lib/generic/math/clc_exp_helper.cl
A libclc/clc/lib/generic/math/clc_exp_helper.inc
A libclc/clc/lib/generic/math/clc_expm1.cl
A libclc/clc/lib/generic/math/clc_expm1.inc
A libclc/clc/lib/generic/math/clc_fmod.cl
A libclc/clc/lib/generic/math/clc_lgamma.cl
A libclc/clc/lib/generic/math/clc_lgamma.inc
A libclc/clc/lib/generic/math/clc_lgamma_r.cl
A libclc/clc/lib/generic/math/clc_lgamma_r.inc
A libclc/clc/lib/generic/math/clc_log1p.cl
A libclc/clc/lib/generic/math/clc_log1p.inc
M libclc/clc/lib/generic/math/clc_log_base.h
A libclc/clc/lib/generic/math/clc_native_cos.cl
A libclc/clc/lib/generic/math/clc_native_divide.cl
A libclc/clc/lib/generic/math/clc_native_divide.inc
A libclc/clc/lib/generic/math/clc_native_exp.cl
A libclc/clc/lib/generic/math/clc_native_exp10.cl
A libclc/clc/lib/generic/math/clc_native_exp10.inc
A libclc/clc/lib/generic/math/clc_native_exp2.cl
A libclc/clc/lib/generic/math/clc_native_log.cl
A libclc/clc/lib/generic/math/clc_native_log10.cl
A libclc/clc/lib/generic/math/clc_native_log2.cl
A libclc/clc/lib/generic/math/clc_native_powr.cl
A libclc/clc/lib/generic/math/clc_native_powr.inc
A libclc/clc/lib/generic/math/clc_native_recip.cl
A libclc/clc/lib/generic/math/clc_native_recip.inc
A libclc/clc/lib/generic/math/clc_native_rsqrt.cl
A libclc/clc/lib/generic/math/clc_native_rsqrt.inc
A libclc/clc/lib/generic/math/clc_native_sin.cl
A libclc/clc/lib/generic/math/clc_native_sqrt.cl
A libclc/clc/lib/generic/math/clc_native_tan.cl
A libclc/clc/lib/generic/math/clc_native_tan.inc
A libclc/clc/lib/generic/math/clc_pow.cl
A libclc/clc/lib/generic/math/clc_pow.inc
A libclc/clc/lib/generic/math/clc_pown.cl
A libclc/clc/lib/generic/math/clc_pown.inc
A libclc/clc/lib/generic/math/clc_powr.cl
A libclc/clc/lib/generic/math/clc_powr.inc
A libclc/clc/lib/generic/math/clc_remainder.cl
A libclc/clc/lib/generic/math/clc_remquo.cl
A libclc/clc/lib/generic/math/clc_rootn.cl
A libclc/clc/lib/generic/math/clc_rootn.inc
M libclc/clc/lib/generic/math/clc_sincos_helpers.cl
M libclc/clc/lib/generic/math/clc_sincos_helpers.inc
A libclc/clc/lib/generic/math/clc_sinh.cl
A libclc/clc/lib/generic/math/clc_sinh.inc
A libclc/clc/lib/generic/math/clc_sinpi.cl
A libclc/clc/lib/generic/math/clc_sinpi.inc
A libclc/clc/lib/generic/math/clc_tables.cl
A libclc/clc/lib/generic/math/clc_tanh.cl
A libclc/clc/lib/generic/math/clc_tanh.inc
A libclc/clc/lib/generic/math/clc_tanpi.cl
A libclc/clc/lib/generic/math/clc_tanpi.inc
A libclc/clc/lib/generic/math/clc_tgamma.cl
M libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_native_rsqrt.cl
M libclc/clspv/lib/SOURCES
M libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/include/clc/math/lgamma_r.h
R libclc/generic/include/clc/math/lgamma_r.inc
M libclc/generic/include/clc/math/native_divide.h
M libclc/generic/include/clc/math/native_powr.h
M libclc/generic/include/clc/math/pown.h
R libclc/generic/include/clc/math/pown.inc
M libclc/generic/include/clc/math/remquo.h
R libclc/generic/include/clc/math/remquo.inc
M libclc/generic/include/clc/math/rootn.h
R libclc/generic/include/clc/math/rootn.inc
R libclc/generic/include/math/clc_exp10.h
R libclc/generic/include/math/clc_fmod.h
R libclc/generic/include/math/clc_pow.h
R libclc/generic/include/math/clc_pown.h
R libclc/generic/include/math/clc_pown.inc
R libclc/generic/include/math/clc_powr.h
R libclc/generic/include/math/clc_remainder.h
R libclc/generic/include/math/clc_remquo.h
R libclc/generic/include/math/clc_rootn.h
R libclc/generic/include/math/clc_rootn.inc
R libclc/generic/include/math/clc_tanpi.h
M libclc/generic/lib/SOURCES
R libclc/generic/lib/clc_unary.inc
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/atan2.cl
M libclc/generic/lib/math/atan2pi.cl
M libclc/generic/lib/math/atanh.cl
R libclc/generic/lib/math/binary_impl.inc
M libclc/generic/lib/math/cbrt.cl
R libclc/generic/lib/math/clc_exp10.cl
R libclc/generic/lib/math/clc_fmod.cl
R libclc/generic/lib/math/clc_pow.cl
R libclc/generic/lib/math/clc_pown.cl
R libclc/generic/lib/math/clc_powr.cl
R libclc/generic/lib/math/clc_remainder.cl
R libclc/generic/lib/math/clc_remquo.cl
R libclc/generic/lib/math/clc_rootn.cl
R libclc/generic/lib/math/clc_sw_binary.inc
M libclc/generic/lib/math/clc_tan.cl
R libclc/generic/lib/math/clc_tanpi.cl
M libclc/generic/lib/math/cosh.cl
M libclc/generic/lib/math/cospi.cl
R libclc/generic/lib/math/ep_log.cl
R libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/exp.cl
M libclc/generic/lib/math/exp10.cl
M libclc/generic/lib/math/exp2.cl
R libclc/generic/lib/math/exp_helper.cl
R libclc/generic/lib/math/exp_helper.h
M libclc/generic/lib/math/expm1.cl
M libclc/generic/lib/math/fmod.cl
M libclc/generic/lib/math/lgamma.cl
M libclc/generic/lib/math/lgamma_r.cl
R libclc/generic/lib/math/lgamma_r.inc
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/native_cos.cl
M libclc/generic/lib/math/native_divide.cl
R libclc/generic/lib/math/native_divide.inc
M libclc/generic/lib/math/native_exp.cl
M libclc/generic/lib/math/native_exp10.cl
R libclc/generic/lib/math/native_exp10.inc
M libclc/generic/lib/math/native_exp2.cl
M libclc/generic/lib/math/native_log.cl
M libclc/generic/lib/math/native_log10.cl
M libclc/generic/lib/math/native_log2.cl
M libclc/generic/lib/math/native_powr.cl
R libclc/generic/lib/math/native_powr.inc
M libclc/generic/lib/math/native_recip.cl
R libclc/generic/lib/math/native_recip.inc
M libclc/generic/lib/math/native_rsqrt.cl
R libclc/generic/lib/math/native_rsqrt.inc
M libclc/generic/lib/math/native_sin.cl
M libclc/generic/lib/math/native_sqrt.cl
M libclc/generic/lib/math/native_tan.cl
R libclc/generic/lib/math/native_tan.inc
R libclc/generic/lib/math/native_unary_intrinsic.inc
M libclc/generic/lib/math/pow.cl
M libclc/generic/lib/math/pown.cl
R libclc/generic/lib/math/pown.inc
M libclc/generic/lib/math/powr.cl
M libclc/generic/lib/math/remainder.cl
M libclc/generic/lib/math/remquo.cl
M libclc/generic/lib/math/remquo.inc
M libclc/generic/lib/math/rootn.cl
R libclc/generic/lib/math/rootn.inc
R libclc/generic/lib/math/sincosD_piby4.h
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
R libclc/generic/lib/math/sincospiF_piby4.h
M libclc/generic/lib/math/sinh.cl
M libclc/generic/lib/math/sinpi.cl
M libclc/generic/lib/math/tables.cl
M libclc/generic/lib/math/tanh.cl
M libclc/generic/lib/math/tanpi.cl
M libclc/generic/lib/math/tgamma.cl
M libclc/r600/lib/SOURCES
R libclc/r600/lib/math/native_rsqrt.cl
M libclc/spirv/lib/SOURCES
M libcxx/.clang-format
M libcxx/cmake/caches/AMDGPU.cmake
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/index.rst
M libcxx/include/__algorithm/min_element.h
M libcxx/include/__algorithm/ranges_max.h
M libcxx/include/__algorithm/ranges_max_element.h
M libcxx/include/__algorithm/ranges_min.h
M libcxx/include/__algorithm/ranges_min_element.h
M libcxx/include/__atomic/support/c11.h
M libcxx/include/__config
M libcxx/include/__configuration/availability.h
M libcxx/include/__configuration/compiler.h
M libcxx/include/__cstddef/byte.h
M libcxx/include/__exception/exception.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__exception/operations.h
M libcxx/include/__exception/terminate.h
M libcxx/include/__filesystem/operations.h
M libcxx/include/__flat_set/flat_set.h
M libcxx/include/__functional/hash.h
M libcxx/include/__fwd/byte.h
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/iter_move.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__new/align_val_t.h
M libcxx/include/__new/destroying_delete_t.h
M libcxx/include/__new/exceptions.h
M libcxx/include/__new/new_handler.h
M libcxx/include/__new/nothrow_t.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__system_error/error_category.h
M libcxx/include/__tree
M libcxx/include/__type_traits/is_referenceable.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/any
M libcxx/include/typeinfo
M libcxx/include/variant
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/functional.cpp
M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
M libcxx/test/std/containers/sequences/array/array.overview/nttp.verify.cpp
A libcxx/test/std/containers/sequences/vector.bool/small_allocator_size.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/ctor.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_bool.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.virtuals/tested_elsewhere.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/types.pass.cpp
M libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.verify.cpp
M libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.verify.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
M libcxx/utils/ci/run-buildbot
M lld/COFF/DebugTypes.cpp
M lld/COFF/Driver.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Driver.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/OutputSections.h
M lld/ELF/Relocations.cpp
M lld/ELF/ScriptParser.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Thunks.cpp
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/MachO/SymbolTable.cpp
M lld/MachO/SyntheticSections.cpp
M lld/docs/ReleaseNotes.rst
M lld/test/ELF/aarch64-call26-thunk.s
M lld/test/ELF/aarch64-cortex-a53-843419-thunk.s
M lld/test/ELF/aarch64-feature-pac.s
M lld/test/ELF/aarch64-jump26-thunk.s
M lld/test/ELF/aarch64-range-thunk-extension-plt32.s
A lld/test/ELF/aarch64-thunk-align.s
M lld/test/ELF/aarch64-thunk-bti-multipass.s
M lld/test/ELF/aarch64-thunk-bti.s
M lld/test/ELF/linkerscript/nocrossrefs.test
M lld/test/ELF/linkerscript/overlay.test
A lld/test/ELF/loongarch-relax-tlsdesc.s
M lld/test/ELF/riscv-relax-hi20-lo12-pie.s
M lld/test/ELF/riscv-reloc-plt32.s
M lld/test/ELF/riscv-undefined-weak.s
M lld/test/ELF/riscv64-reloc-got32-pcrel.s
M lld/test/ELF/weak-undef-rw.s
M lld/test/MachO/icf-safe-thunks-dwarf.ll
A lld/test/MachO/interposable.s
A lldb/bindings/interface/SBMutexExtensions.i
M lldb/bindings/interface/SBProgressDocstrings.i
A lldb/bindings/interface/SBProgressExtensions.i
M lldb/bindings/interfaces.swig
M lldb/bindings/python/python-wrapper.swig
A lldb/docs/dil-expr-lang.ebnf
M lldb/docs/use/python-reference.rst
M lldb/include/lldb/API/LLDB.h
M lldb/include/lldb/API/SBDefines.h
A lldb/include/lldb/API/SBMutex.h
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Core/Progress.h
M lldb/include/lldb/Core/Statusline.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/Function.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Symbol/UnwindTable.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Utility/UUID.h
A lldb/include/lldb/ValueObject/DILAST.h
A lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
A lldb/include/lldb/ValueObject/DILParser.h
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/intelpt/intelpt_testcase.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/API/CMakeLists.txt
A lldb/source/API/SBMutex.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/Core/Telemetry.cpp
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ABI/X86/ABIX86.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h
M lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Symbol/UnwindTable.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/ProcessTrace.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Utility/LLDBAssert.cpp
M lldb/source/Utility/UUID.cpp
M lldb/source/ValueObject/CMakeLists.txt
A lldb/source/ValueObject/DILAST.cpp
A lldb/source/ValueObject/DILEval.cpp
A lldb/source/ValueObject/DILParser.cpp
A lldb/test/API/commands/expression/expr-from-non-zero-frame/Makefile
A lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
A lldb/test/API/commands/expression/expr-from-non-zero-frame/main.c
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/Makefile
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/TestFrameVarDILGlobalVariableLookup.py
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/Makefile
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/TestFrameVarDILInstanceVariables.py
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/Makefile
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/TestFrameVarDILLocalVars.py
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/main.cpp
M lldb/test/API/commands/target/stop-hooks/TestStopHooks.py
M lldb/test/API/commands/trace/TestTraceDumpFunctionCalls.py
M lldb/test/API/commands/trace/TestTraceEvents.py
M lldb/test/API/commands/trace/TestTraceSave.py
M lldb/test/API/commands/trace/TestTraceStartStop.py
M lldb/test/API/commands/trace/TestTraceTSC.py
M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
M lldb/test/API/functionalities/statusline/TestStatusline.py
M lldb/test/API/functionalities/thread/finish-from-empty-func/TestEmptyFuncThreadStepOut.py
M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py
M lldb/test/API/lang/objc/tagged-pointer/TestTaggedPointerCmd.py
A lldb/test/API/macosx/dsym_modules/Makefile
A lldb/test/API/macosx/dsym_modules/TestdSYMModuleInit.py
A lldb/test/API/macosx/dsym_modules/has_dsym.py
A lldb/test/API/macosx/dsym_modules/main.c
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
A lldb/test/Shell/DAP/TestHelp.test
R lldb/test/Shell/DAP/TestOptions.test
A lldb/test/Shell/DAP/TestVersion.test
A lldb/test/Shell/Unwind/Inputs/basic-block-sections-with-dwarf.s
A lldb/test/Shell/Unwind/Inputs/linux-x86_64.yaml
A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf-static.test
A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf.test
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/Breakpoint.h
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/DAPForward.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/ExceptionBreakpoint.h
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/FunctionBreakpoint.h
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Options.td
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/README.md
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.h
M lldb/tools/lldb-dap/Watchpoint.cpp
M lldb/tools/lldb-dap/Watchpoint.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
A lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
A lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
A lldb/tools/lldb-dap/src-ts/ui/error-with-notification.ts
A lldb/tools/lldb-dap/src-ts/ui/show-error-message.ts
M lldb/tools/lldb-server/lldb-platform.cpp
M lldb/unittests/API/CMakeLists.txt
A lldb/unittests/API/SBMutexTest.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/PluginManagerTest.cpp
R lldb/unittests/Disassembler/ARM/CMakeLists.txt
M lldb/unittests/Disassembler/CMakeLists.txt
R lldb/unittests/Disassembler/RISCV/CMakeLists.txt
R lldb/unittests/Disassembler/x86/CMakeLists.txt
M lldb/unittests/Host/HostTest.cpp
M lldb/unittests/Process/CMakeLists.txt
A lldb/unittests/Process/ProcessTraceTest.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
M lldb/unittests/Utility/UUIDTest.cpp
M lldb/unittests/ValueObject/DILLexerTests.cpp
M llvm/CMakeLists.txt
M llvm/Maintainers.md
M llvm/cmake/modules/CheckProblematicConfigurations.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/docs/CommandGuide/llvm-reduce.rst
M llvm/docs/GitHub.rst
M llvm/docs/GlobalISel/KnownBits.rst
M llvm/docs/LangRef.rst
M llvm/docs/RISCV/RISCVVectorExtension.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
M llvm/docs/SandboxIR.md
A llvm/docs/SandboxVectorizer.md
M llvm/docs/Security.rst
M llvm/docs/TableGen/ProgRef.rst
M llvm/docs/Vectorizers.rst
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/ADT/AddressRanges.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/include/llvm/ADT/SmallSet.h
M llvm/include/llvm/ADT/StringSet.h
M llvm/include/llvm/Analysis/Lint.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
A llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
R llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h
A llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/CodeGen/TileShapeInfo.h
A llvm/include/llvm/CodeGen/XRayInstrumentation.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
A llvm/include/llvm/ExecutionEngine/JITLink/XCOFF.h
A llvm/include/llvm/ExecutionEngine/JITLink/XCOFF_ppc64.h
A llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/CmpPredicate.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.def
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCParser/AsmLexer.h
M llvm/include/llvm/MC/MCParser/MCAsmLexer.h
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/include/llvm/SandboxIR/Value.h
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
A llvm/include/llvm/Support/KnownFPClass.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/include/llvm/Transforms/Utils/IRNormalizer.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintRegion.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/DependenceGraphBuilder.cpp
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/EarlyIfConversion.cpp
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
R llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
A llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LivePhysRegs.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/StackProtector.cpp
A llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/WindowScheduler.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVSymbol.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFF.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.h
A llvm/lib/ExecutionEngine/JITLink/XCOFF_ppc64.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/GetDylibInterface.cpp
M llvm/lib/ExecutionEngine/Orc/IRPartitionLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LoadLinkableFile.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectFileInterface.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/IR/VFABIDemangler.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/IRPrinter/IRPrintingPasses.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/CMakeLists.txt
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
R llvm/lib/MC/MCParser/MCAsmLexer.cpp
M llvm/lib/MC/MCParser/MCAsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/ObjCopy/COFF/COFFReader.cpp
M llvm/lib/ObjCopy/XCOFF/XCOFFReader.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/lib/Object/XCOFFObjectFile.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/ProfileData/SampleProf.cpp
M llvm/lib/SandboxIR/Constant.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/Debug.cpp
A llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Support/SuffixTree.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64PfmCounters.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
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.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/R600AsmPrinter.h
M llvm/lib/Target/AMDGPU/R600MCInstLower.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
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/VOP3Instructions.td
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
M llvm/lib/Target/ARM/MVETailPredication.cpp
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/LoongArch/LoongArchFloatInstrFormats.td
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/LoongArchInstPrinter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsInstrInfo.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.h
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
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/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
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/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
M llvm/lib/Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
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.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoSFB.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqccmp.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
A llvm/lib/Target/RISCV/RISCVLateBranchOpt.cpp
M llvm/lib/Target/RISCV/RISCVRedundantCopyElimination.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVIRMapping.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStripConvergentIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizerWrapper.h
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/SparcInstrFormats.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/lib/Target/Sparc/SparcInstrVIS.td
M llvm/lib/Target/SystemZ/SystemZCopyPhysRegs.cpp
M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
M llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp
M llvm/lib/Target/TargetLoweringObjectFile.cpp
M llvm/lib/Target/VE/VETargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InterleavedAccess.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
M llvm/lib/Target/Xtensa/XtensaCallingConv.td
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
M llvm/lib/Target/Xtensa/XtensaFrameLowering.h
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaMachineFunctionInfo.h
M llvm/lib/Target/Xtensa/XtensaOperators.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
M llvm/lib/Transforms/Coroutines/SpillUtils.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
M llvm/lib/Transforms/IPO/ExtractGV.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/KCFI.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/PGOForceFunctionAttrs.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/CodeLayout.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/GuardUtils.cpp
M llvm/lib/Transforms/Utils/IRNormalizer.cpp
M llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/LowerSwitch.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/bitreverse.ll
M llvm/test/Analysis/CostModel/AArch64/bswap.ll
M llvm/test/Analysis/CostModel/AArch64/cast.ll
M llvm/test/Analysis/CostModel/AArch64/cost-scalable-vector-gep.ll
M llvm/test/Analysis/CostModel/AArch64/ctlz.ll
M llvm/test/Analysis/CostModel/AArch64/ctpop.ll
M llvm/test/Analysis/CostModel/AArch64/cttz.ll
M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
M llvm/test/Analysis/CostModel/AArch64/div.ll
M llvm/test/Analysis/CostModel/AArch64/insert-extract.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/min-max.ll
M llvm/test/Analysis/CostModel/AArch64/no-sve-no-neon.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-minmax.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-load.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/shuffle-transpose.ll
M llvm/test/Analysis/CostModel/AArch64/store.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cast.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-ext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fpext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptoi.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-insert-extract.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/AArch64/sve-itofp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-ldst.ll
M llvm/test/Analysis/CostModel/AArch64/sve-math.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
M llvm/test/Analysis/CostModel/AArch64/sve-shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/AArch64/sve-trunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-vscale.ll
M llvm/test/Analysis/CostModel/AArch64/vec3-ops.ll
M llvm/test/Analysis/CostModel/AArch64/vector-reverse.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
M llvm/test/Analysis/Lint/abort-on-error.ll
M llvm/test/Analysis/Lint/const-store.ll
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll
M llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance.ll
M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
M llvm/test/Analysis/ScalarEvolution/exit-count-samesign.ll
M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
M llvm/test/Analysis/ValueTracking/known-bits-from-operator-constexpr.ll
M llvm/test/Bitcode/DIExpression-aggresult.ll
A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll
A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll.bc
M llvm/test/Bitcode/dbg-label-record-bc.ll
M llvm/test/Bitcode/dbg-record-roundtrip.ll
A llvm/test/Bitcode/fixedpoint_type.ll
M llvm/test/Bitcode/upgrade-dbg-addr.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-neg-and-one-to-sext-inreg.mir
A llvm/test/CodeGen/AArch64/aarch64-swp-ws-live-intervals.mir
M llvm/test/CodeGen/AArch64/andorxor.ll
A llvm/test/CodeGen/AArch64/arm64ec-alias.ll
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
A llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/bitcast-promote-widen.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
A llvm/test/CodeGen/AArch64/constant-pool-partition.ll
M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
M llvm/test/CodeGen/AArch64/dllexport.ll
A llvm/test/CodeGen/AArch64/early-ifcvt-on-double-killed-reg.mir
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/extract-subvec-combine.ll
M llvm/test/CodeGen/AArch64/load-insert-zero.ll
M llvm/test/CodeGen/AArch64/neon-bitcast.ll
M llvm/test/CodeGen/AArch64/pr58516.ll
M llvm/test/CodeGen/AArch64/sinksplat.ll
M llvm/test/CodeGen/AArch64/sme-intrinsics-mova-extract.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_1x1.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_1x2.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_2x1.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_2x2.ll
M llvm/test/CodeGen/AArch64/sve-bf16-int-converts.ll
M llvm/test/CodeGen/AArch64/sve-fcmp.ll
M llvm/test/CodeGen/AArch64/sve-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-fp-combine.ll
M llvm/test/CodeGen/AArch64/sve-implicit-zero-filling.ll
M llvm/test/CodeGen/AArch64/sve-int-log.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-merging.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-scalar-to-vec.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-shifts-merging.ll
M llvm/test/CodeGen/AArch64/sve-knownbits.ll
M llvm/test/CodeGen/AArch64/sve-ld1r.ll
M llvm/test/CodeGen/AArch64/sve-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-pr92779.ll
M llvm/test/CodeGen/AArch64/sve-split-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
M llvm/test/CodeGen/AArch64/sve-vselect-imm.ll
M llvm/test/CodeGen/AArch64/sve-zeroinit.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfadd.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmax.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmaxnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmin.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfminnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfsub.ll
A llvm/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.ll
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
M llvm/test/CodeGen/AArch64/win-catchpad-nested-cxx.ll
M llvm/test/CodeGen/AArch64/wineh-catchret-label-generation.ll
M llvm/test/CodeGen/AArch64/wineh-try-catch.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-counts-not.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-ext.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-flogb.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-frint-frecpx-fsqrt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-rev.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-urecpe-ursqrte-sqabs-sqneg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-uscvtf.ll
M llvm/test/CodeGen/AArch64/zext.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/addsubu64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-non-integral-address-spaces-vectors.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/bswap.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-flat.ll
M llvm/test/CodeGen/AMDGPU/div-rem-by-constant-64.ll
M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
A llvm/test/CodeGen/AMDGPU/dpp_combine-true16.mir
M llvm/test/CodeGen/AMDGPU/dpp_combine.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fold-gep-offset.ll
M llvm/test/CodeGen/AMDGPU/fold-int-pow2-with-fmul-or-fdiv.ll
A llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
M llvm/test/CodeGen/AMDGPU/gfx10-vop-literal.ll
M llvm/test/CodeGen/AMDGPU/gfx12_scalar_subword_loads.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/icmp.i16.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.alignbyte.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.lds.err.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.off.f32.i4.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.err.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-always-uniform.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-local-redundant-copies.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-p7-in-memory.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
M llvm/test/CodeGen/AMDGPU/lrint.ll
M llvm/test/CodeGen/AMDGPU/lround.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/multi-call-resource-usage-mcexpr.ll
A llvm/test/CodeGen/AMDGPU/nor-divergent-lanemask.ll
M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/recursion.ll
M llvm/test/CodeGen/AMDGPU/recursive-resource-usage-mcexpr.ll
M llvm/test/CodeGen/AMDGPU/resource-optimization-remarks.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/set-wave-priority.ll
M llvm/test/CodeGen/AMDGPU/shl64_reduce.ll
M llvm/test/CodeGen/AMDGPU/shl_add_ptr_csub.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/sub.ll
A llvm/test/CodeGen/AMDGPU/true16-fold.mir
M llvm/test/CodeGen/AMDGPU/uaddsat.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/unnamed-function-resource-info.ll
M llvm/test/CodeGen/AMDGPU/usubsat.ll
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
A llvm/test/CodeGen/AMDGPU/vopc_dpp-true16.mir
M llvm/test/CodeGen/ARM/GlobalISel/arm-isel-globals-pic.ll
M llvm/test/CodeGen/ARM/GlobalISel/thumb-isel-globals-pic.ll
M llvm/test/CodeGen/ARM/elf-preemption.ll
M llvm/test/CodeGen/ARM/globals.ll
M llvm/test/CodeGen/ARM/litpool-licm.ll
M llvm/test/CodeGen/ARM/load-global.ll
M llvm/test/CodeGen/ARM/load-global2.ll
M llvm/test/CodeGen/ARM/plt-relative-reloc.ll
M llvm/test/CodeGen/ARM/stack-guard-elf.ll
M llvm/test/CodeGen/ARM/stack-guard-rwpi.ll
A llvm/test/CodeGen/DirectX/dot2add.ll
A llvm/test/CodeGen/DirectX/remove-dead-intriniscs.ll
M llvm/test/CodeGen/Generic/MIRDebugify/locations-and-values.mir
A llvm/test/CodeGen/Hexagon/early-if-predicator-reg-killed-everywhere.mir
R llvm/test/CodeGen/LoongArch/fix-tle-le-sym-type.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/absd.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/absd.ll
M llvm/test/CodeGen/Mips/brdelayslot.ll
M llvm/test/CodeGen/Mips/ehframe-indirect.ll
M llvm/test/CodeGen/Mips/indirect-jump-hazard/long-branch.ll
M llvm/test/CodeGen/Mips/jtstat.ll
M llvm/test/CodeGen/Mips/load-store-left-right.ll
M llvm/test/CodeGen/Mips/longbranch.ll
M llvm/test/CodeGen/Mips/mcount.ll
M llvm/test/CodeGen/Mips/micromips-mtc-mfc.ll
M llvm/test/CodeGen/Mips/mips16ex.ll
M llvm/test/CodeGen/Mips/reloc-jalr.ll
M llvm/test/CodeGen/Mips/shrink-wrapping.ll
M llvm/test/CodeGen/Mips/unalignedload.ll
M llvm/test/CodeGen/Mips/xray-mips-attribute-instrumentation.ll
M llvm/test/CodeGen/NVPTX/atomics.ll
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fast-math.ll
A llvm/test/CodeGen/NVPTX/frem.ll
M llvm/test/CodeGen/NVPTX/i1-ext-load.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/CodeGen/PowerPC/adde_return_type.ll
M llvm/test/CodeGen/PowerPC/addegluecrash.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-split.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc-large32.ll
M llvm/test/CodeGen/PowerPC/atomicrmw-cond-sub-clamp.ll
A llvm/test/CodeGen/PowerPC/carry-liveness-after-expand-isel.ll
M llvm/test/CodeGen/PowerPC/cvt_i64_to_fp.ll
A llvm/test/CodeGen/PowerPC/global-merge-llvm-metadata.ll
M llvm/test/CodeGen/PowerPC/inc-of-add.ll
M llvm/test/CodeGen/PowerPC/pr35688.ll
M llvm/test/CodeGen/PowerPC/pr36292.ll
M llvm/test/CodeGen/PowerPC/pr40922.ll
M llvm/test/CodeGen/PowerPC/pr45448.ll
M llvm/test/CodeGen/PowerPC/sat-add.ll
M llvm/test/CodeGen/PowerPC/select.ll
M llvm/test/CodeGen/PowerPC/uaddo-32.ll
M llvm/test/CodeGen/PowerPC/uaddo-64.ll
M llvm/test/CodeGen/PowerPC/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/PowerPC/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
M llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/itofp-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/RISCV/alu8.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/avgceilu.ll
M llvm/test/CodeGen/RISCV/avgflooru.ll
M llvm/test/CodeGen/RISCV/bfloat-br-fcmp.ll
M llvm/test/CodeGen/RISCV/branch_zero.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-sext-zext.ll
M llvm/test/CodeGen/RISCV/csr-first-use-cost.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/div-by-constant.ll
M llvm/test/CodeGen/RISCV/div.ll
M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/dso_local_equivalent.ll
M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/float-br-fcmp.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/fold-mem-offset.ll
M llvm/test/CodeGen/RISCV/frm-dependency.ll
M llvm/test/CodeGen/RISCV/half-br-fcmp.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
M llvm/test/CodeGen/RISCV/machine-combiner.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
M llvm/test/CodeGen/RISCV/memset-inline.ll
M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
A llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
M llvm/test/CodeGen/RISCV/pr65025.ll
A llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
M llvm/test/CodeGen/RISCV/rem.ll
M llvm/test/CodeGen/RISCV/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
A llvm/test/CodeGen/RISCV/rvv/pr133217.ll
M llvm/test/CodeGen/RISCV/rvv/riscv-codegenprepare-asm.ll
M llvm/test/CodeGen/RISCV/rvv/riscv-codegenprepare.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/vec3-setcc-crash.ll
M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvl-ext.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-zve64f.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvlmax-ext.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-slot-rv32.mir
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-slot-rv64.mir
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
M llvm/test/CodeGen/RISCV/select-constant-xor.ll
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
A llvm/test/CodeGen/RISCV/simplify-condbr.ll
M llvm/test/CodeGen/RISCV/split-store.ll
M llvm/test/CodeGen/RISCV/typepromotion-overflow.ll
M llvm/test/CodeGen/RISCV/uadd_sat_plus.ll
M llvm/test/CodeGen/RISCV/usub_sat_plus.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
M llvm/test/CodeGen/RISCV/zcb-regalloc-hints.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/StructuredBuffer.ll
A llvm/test/CodeGen/SPIRV/opencl/smoothstep.ll
M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple2.ll
A llvm/test/CodeGen/SPIRV/structurizer/loop-unroll.ll
A llvm/test/CodeGen/SystemZ/Large/debug-instrref-brct.py
A llvm/test/CodeGen/SystemZ/debug-instrref-copyphysregs.mir
A llvm/test/CodeGen/SystemZ/debug-instrref-elimcompare.mir
A llvm/test/CodeGen/SystemZ/debug-instrref-postrewrite.mir
M llvm/test/CodeGen/Thumb2/mve-vdup.ll
M llvm/test/CodeGen/Thumb2/tpsoft.ll
M llvm/test/CodeGen/WebAssembly/cfi.ll
A llvm/test/CodeGen/WebAssembly/libcalls64.ll
M llvm/test/CodeGen/WebAssembly/simd-shuffle-bitcast.ll
M llvm/test/CodeGen/WebAssembly/wide-arithmetic.ll
M llvm/test/CodeGen/X86/abi-isel.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/atomic-minmax-i6432.ll
M llvm/test/CodeGen/X86/avx512-vselect.ll
M llvm/test/CodeGen/X86/base-pointer-and-cmpxchg.ll
M llvm/test/CodeGen/X86/callbr-asm-instr-scheduling.ll
M llvm/test/CodeGen/X86/catchpad-reuse.ll
M llvm/test/CodeGen/X86/combine-bitselect.ll
M llvm/test/CodeGen/X86/combine-movmsk-avx.ll
M llvm/test/CodeGen/X86/combine-sdiv.ll
A llvm/test/CodeGen/X86/constant-pool-partition.ll
M llvm/test/CodeGen/X86/dollar-name.ll
A llvm/test/CodeGen/X86/fold_bitcast_md_range.ll
A llvm/test/CodeGen/X86/global-variable-partition.ll
M llvm/test/CodeGen/X86/inline-asm-i-constraint-i1.ll
A llvm/test/CodeGen/X86/insert-subvector-broadcast.ll
M llvm/test/CodeGen/X86/kmov.ll
M llvm/test/CodeGen/X86/patchable-function-entry.ll
M llvm/test/CodeGen/X86/pr42905.ll
M llvm/test/CodeGen/X86/relptr-rodata.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/seh-unwind-inline-asm-codegen.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
M llvm/test/CodeGen/X86/stack-coloring-wineh.ll
M llvm/test/CodeGen/X86/tailcc-ssp.ll
M llvm/test/CodeGen/X86/vector-idiv-udiv-256.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
A llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vl.ll
M llvm/test/CodeGen/X86/win-catchpad-nested-cxx.ll
M llvm/test/CodeGen/X86/win-catchpad.ll
M llvm/test/CodeGen/X86/win-cleanuppad.ll
M llvm/test/CodeGen/X86/win-funclet-cfi.ll
M llvm/test/CodeGen/X86/win32-eh.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppDtors01.ll
M llvm/test/CodeGen/X86/wineh-coreclr.ll
M llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
M llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll
M llvm/test/CodeGen/X86/xray-empty-firstmbb.mir
M llvm/test/CodeGen/X86/xray-multiplerets-in-blocks.mir
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
A llvm/test/CodeGen/Xtensa/aligned_alloc.ll
A llvm/test/CodeGen/Xtensa/calling-conv-windowed.ll
A llvm/test/CodeGen/Xtensa/callw.ll
M llvm/test/CodeGen/Xtensa/saverestore.ll
M llvm/test/DebugInfo/COFF/jump-table.ll
M llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
M llvm/test/DebugInfo/NVPTX/debug-info.ll
M llvm/test/DebugInfo/X86/undef-dbg-val.ll
R llvm/test/DebugInfo/print-non-instruction-debug-info.ll
R llvm/test/DebugInfo/roundtrip-non-instruction-debug-info.ll
M llvm/test/DebugInfo/salvage-cast-debug-info.ll
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ptrauth_noolloc_sections.yaml
A llvm/test/ExecutionEngine/JITLink/ppc64/XCOFF_ppc64.ll
A llvm/test/ExecutionEngine/JITLink/x86-64/Inputs/libFooUniversalDylib.yaml
A llvm/test/ExecutionEngine/JITLink/x86-64/MachO_foo-in-weak-dylib.s
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/sse2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/sse2-intrinsics-i386.ll
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
A llvm/test/MC/AArch64/execute-only-memtag.ll
M llvm/test/MC/AMDGPU/expressions.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
M llvm/test/MC/AMDGPU/mcexpr_amd.s
M llvm/test/MC/ARM/arm-branches.s
M llvm/test/MC/ARM/basic-arm-instructions.s
M llvm/test/MC/ARM/elf-movt.s
M llvm/test/MC/ARM/macho-word-reloc-thumb.s
M llvm/test/MC/AVR/inst-brbc.s
M llvm/test/MC/AVR/inst-brbs.s
M llvm/test/MC/AVR/inst-brcc.s
M llvm/test/MC/AVR/inst-brcs.s
M llvm/test/MC/AVR/inst-breq.s
M llvm/test/MC/AVR/inst-brge.s
M llvm/test/MC/AVR/inst-brhc.s
M llvm/test/MC/AVR/inst-brhs.s
M llvm/test/MC/AVR/inst-brid.s
M llvm/test/MC/AVR/inst-brie.s
M llvm/test/MC/AVR/inst-brlo.s
M llvm/test/MC/AVR/inst-brlt.s
M llvm/test/MC/AVR/inst-brmi.s
M llvm/test/MC/AVR/inst-brne.s
M llvm/test/MC/AVR/inst-brpl.s
M llvm/test/MC/AVR/inst-brsh.s
M llvm/test/MC/AVR/inst-brtc.s
M llvm/test/MC/AVR/inst-brts.s
M llvm/test/MC/AVR/inst-brvc.s
M llvm/test/MC/AVR/inst-brvs.s
M llvm/test/MC/AVR/inst-rcall.s
M llvm/test/MC/AVR/inst-rjmp.s
M llvm/test/MC/AsmParser/directive_fill.s
M llvm/test/MC/AsmParser/dollars-in-identifiers.s
M llvm/test/MC/AsmParser/expr_symbol_modifiers.s
M llvm/test/MC/COFF/cross-section-relative.ll
A llvm/test/MC/Disassembler/RISCV/c_lui_disasm.txt
A llvm/test/MC/Disassembler/RISCV/c_slli.txt
A llvm/test/MC/Disassembler/RISCV/xqccmp-invalid-rlist.txt
A llvm/test/MC/Disassembler/Sparc/sparc-vis.txt
M llvm/test/MC/ELF/gnu-type-diagnostics.s
M llvm/test/MC/ELF/reloc-directive.s
M llvm/test/MC/ELF/rtti-proxy-gotpcrel.ll
M llvm/test/MC/Lanai/memory.s
A llvm/test/MC/LoongArch/Misc/no-aliases.s
A llvm/test/MC/LoongArch/Relocations/relocation-specifier.s
M llvm/test/MC/LoongArch/Relocations/relocations.s
M llvm/test/MC/LoongArch/lasx/invalid-imm.s
M llvm/test/MC/LoongArch/lsx/invalid-imm.s
M llvm/test/MC/MachO/AArch64/cstexpr-gotpcrel.ll
M llvm/test/MC/MachO/dollar-identifier.s
M llvm/test/MC/Mips/expansion-jal-sym-pic.s
M llvm/test/MC/Mips/expr1.s
M llvm/test/MC/Mips/macro-div.s
M llvm/test/MC/Mips/macro-divu.s
M llvm/test/MC/Mips/macro-rem.s
M llvm/test/MC/Mips/macro-remu.s
M llvm/test/MC/Mips/memory-offsets.s
M llvm/test/MC/Mips/mips-fpu-instructions.s
M llvm/test/MC/Mips/mips1/valid.s
M llvm/test/MC/Mips/mips2/valid.s
M llvm/test/MC/Mips/mips32/valid.s
M llvm/test/MC/Mips/mips32r2/valid.s
M llvm/test/MC/Mips/mips32r3/valid.s
M llvm/test/MC/Mips/mips32r5/valid.s
M llvm/test/MC/Mips/mips32r6/valid.s
M llvm/test/MC/Mips/mips64r6/valid.s
M llvm/test/MC/Mips/mips_directives.s
M llvm/test/MC/Mips/reloc-directive-label-offset.s
M llvm/test/MC/PowerPC/ppc32-tls.s
M llvm/test/MC/PowerPC/ppc64-fixups.s
M llvm/test/MC/RISCV/data-directive-specifier.s
M llvm/test/MC/RISCV/insn.s
A llvm/test/MC/RISCV/insn_xqci-invalid.s
A llvm/test/MC/RISCV/insn_xqci.s
M llvm/test/MC/RISCV/linker-relaxation.s
M llvm/test/MC/RISCV/pseudo-jump-invalid.s
A llvm/test/MC/RISCV/rv32e-xqccmp-invalid.s
A llvm/test/MC/RISCV/rv32e-zcmp-invalid.s
M llvm/test/MC/RISCV/rv32i-aliases-invalid.s
M llvm/test/MC/RISCV/rv32i-aliases-valid.s
M llvm/test/MC/RISCV/rv32i-invalid.s
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32xqccmp-valid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
A llvm/test/MC/RISCV/rv64e-xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64e-xqccmp-valid.s
A llvm/test/MC/RISCV/rv64e-zcmp-invalid.s
M llvm/test/MC/RISCV/rv64i-aliases-invalid.s
M llvm/test/MC/RISCV/rv64i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-valid.s
M llvm/test/MC/RISCV/rv64xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64xqccmp-valid.s
M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
M llvm/test/MC/RISCV/rvd-valid.s
M llvm/test/MC/RISCV/rve-invalid.s
M llvm/test/MC/RISCV/rvf-valid.s
M llvm/test/MC/RISCV/rvi-pseudos.s
M llvm/test/MC/RISCV/rvi-valid.s
M llvm/test/MC/RISCV/rvzfbfmin-valid.s
M llvm/test/MC/RISCV/rvzfh-valid.s
M llvm/test/MC/RISCV/rvzfhmin-valid.s
A llvm/test/MC/RISCV/xqcibi-relocations.s
M llvm/test/MC/RISCV/xqcibm-invalid.s
M llvm/test/MC/RISCV/xqcibm-valid.s
A llvm/test/MC/RISCV/xqciio-aliases-valid.s
A llvm/test/MC/RISCV/xqciio-invalid.s
A llvm/test/MC/RISCV/xqciio-valid.s
M llvm/test/MC/Sparc/sparc-vis.s
A llvm/test/MC/Sparc/sparc-vis2.s
A llvm/test/MC/Sparc/sparc-vis3.s
M llvm/test/MC/SystemZ/insn-good-z196.s
M llvm/test/MC/SystemZ/insn-good-zEC12.s
M llvm/test/MC/SystemZ/insn-good.s
A llvm/test/MC/WebAssembly/lto-set-conditional.s
M llvm/test/Other/time-passes.ll
A llvm/test/TableGen/CompressInstEmitter/suboperands.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/type-inference.td
M llvm/test/TableGen/HasNoUse.td
M llvm/test/TableGen/MacroFusion.td
A llvm/test/TableGen/instances.td
M llvm/test/TableGen/predicate-patfags.td
A llvm/test/ThinLTO/X86/ctxprof-separate-module.ll
A llvm/test/Transforms/Coroutines/coro-spill-suspend.ll
M llvm/test/Transforms/GlobalOpt/localize-constexpr-debuginfo.ll
A llvm/test/Transforms/HotColdSplit/musttail.ll
A llvm/test/Transforms/IRNormalizer/pass-parameters.ll
M llvm/test/Transforms/IRNormalizer/reordering.ll
M llvm/test/Transforms/IndVarSimplify/iv-ext-samesign.ll
A llvm/test/Transforms/IndVarSimplify/pr126409.ll
A llvm/test/Transforms/InferAddressSpaces/NVPTX/arguments.ll
A llvm/test/Transforms/Inline/no-inline-incompatible-gc.ll
A llvm/test/Transforms/InstCombine/AMDGPU/simplify-amdgcn.cvt.off.f32.i4.ll
M llvm/test/Transforms/InstCombine/addrspacecast.ll
M llvm/test/Transforms/InstCombine/fpextend.ll
M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
M llvm/test/Transforms/InstCombine/scalable-const-fp-splat.ll
M llvm/test/Transforms/InstCombine/scalable-trunc.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/shl-bo.ll
M llvm/test/Transforms/InstCombine/shl-twice-constant.ll
M llvm/test/Transforms/InstCombine/sub.ll
M llvm/test/Transforms/InstSimplify/ConstProp/cast-vector.ll
A llvm/test/Transforms/InstSimplify/ConstProp/sinh-cosh-intrinsics.ll
M llvm/test/Transforms/InstSimplify/ConstProp/vscale-inseltpoison.ll
M llvm/test/Transforms/InstSimplify/ConstProp/vscale.ll
M llvm/test/Transforms/InstSimplify/vec-icmp-of-cast.ll
M llvm/test/Transforms/InstSimplify/vscale-inseltpoison.ll
M llvm/test/Transforms/InstSimplify/vscale.ll
A llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll
Log Message:
-----------
migrate more Mach-O uses
Created using spr 1.3.5-bogner
Compare: https://github.com/llvm/llvm-project/compare/a4afa71d0449...80815be48bb1
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