[all-commits] [llvm/llvm-project] 2d94c0: Reland [Driver] Add option to force undefined symb...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Mon Jun 30 21:57:23 PDT 2025
Branch: refs/heads/users/MaskRay/spr/mc-store-fragment-content-and-fixups-out-of-line
Home: https://github.com/llvm/llvm-project
Commit: 2d94c08d03ada0a4d3c30a93594d0381946aa85a
https://github.com/llvm/llvm-project/commit/2d94c08d03ada0a4d3c30a93594d0381946aa85a
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
A clang/test/Driver/baremetal-undefined-symbols.c
R clang/test/Driver/riscv-args.c
Log Message:
-----------
Reland [Driver] Add option to force undefined symbols during linking in BareMetal toolchain object. (#146304)
Add support for `-u` option to force defined symbols. This option is
supported by both lld and gnuld.
This is done as a part of the effort to merge RISCVToolchain object into
BareMetal toolchain object.
This is the 4th patch in the series of patches for merging
RISCVToolchain object into BareMetal toolchain object.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: 629126ed44bd3ce5b6f476459c805be4e4e0c2ca
https://github.com/llvm/llvm-project/commit/629126ed44bd3ce5b6f476459c805be4e4e0c2ca
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/FunctionPointer.cpp
Log Message:
-----------
[clang][bytecode][NFC] Remove some dead code (#146287)
Commit: 140e1894f245896752d06a7f5c405a465b492e73
https://github.com/llvm/llvm-project/commit/140e1894f245896752d06a7f5c405a465b492e73
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/AsmParser/LLParser.cpp
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
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/test/DebugInfo/KeyInstructions/Generic/inline-nodbg.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/inline.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/jump-threading-2-bbs.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/jump-threading-basic.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/jump-threading-dup-cond-br-on-phi-into-pred.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/loop-rotate.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/loop-unroll-runtime.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/loop-unroll.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/loop-unswitch.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/parse.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/simplifycfg-branch-fold.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/simplifycfg-thread-phi.ll
A llvm/test/DebugInfo/KeyInstructions/Generic/verify.ll
M llvm/test/DebugInfo/KeyInstructions/X86/cgp-break-critical-edge.ll
M llvm/test/DebugInfo/KeyInstructions/X86/dwarf-basic-ranks.ll
M llvm/test/DebugInfo/KeyInstructions/X86/dwarf-basic.ll
M llvm/test/DebugInfo/KeyInstructions/X86/dwarf-buoy-multi-key.mir
M llvm/test/DebugInfo/KeyInstructions/X86/dwarf-buoy.mir
M llvm/test/DebugInfo/KeyInstructions/X86/dwarf-calls.ll
M llvm/test/DebugInfo/KeyInstructions/X86/dwarf-ranks-blocks.ll
M llvm/test/DebugInfo/KeyInstructions/debugify.ll
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/MetadataTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
Log Message:
-----------
[KeyInstr] Add DISubprogram::keyInstructions bit (#144107)
Patch 1/4 adding bitcode support.
Store whether or not a function is using Key Instructions in its DISubprogram so
that we don't need to rely on the -mllvm flag -dwarf-use-key-instructions to
determine whether or not to interpret Key Instructions metadata to decide
is_stmt placement at DWARF emission time. This makes bitcode support simple and
enables well defined mixing of non-key-instructions and key-instructions
functions in an LTO context.
This patch adds the bit (using DISubprogram::SubclassData1).
PR 144104 and 144103 use it during DWARF emission.
PR 44102 adds bitcode
support.
See pull request for overview of alternative attempts.
Commit: ed391f174b90b561b1885a9a1e9284d77bc930de
https://github.com/llvm/llvm-project/commit/ed391f174b90b561b1885a9a1e9284d77bc930de
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal.cpp
Log Message:
-----------
[Driver] Forward sysroot from Driver to linker in BareMetal ToolChain Object (#132808)
RISCVToolChain object passes `--sysroot` option from clang to gnuld.
Adding
the supprt for the same in BareMetal toolchain object.
This is done as a part of the effort to merge RISCVToolchain object into
BareMetal toolchain object.
This is the 5th patch in the series of patches for merging
RISCVToolchain object
into BareMetal toolchain object.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: 7354123c34e658e990559a36b1ac7eb0b671e317
https://github.com/llvm/llvm-project/commit/7354123c34e658e990559a36b1ac7eb0b671e317
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-inline-modes.mir
Log Message:
-----------
[KeyInstr] Use DISubprogram's is-key-instructions-on flag at DWARF emission (#144104)
Patch 2/4 adding bitcode support.
A non-key-instructions function inlined into a key-instructions function uses
non-key-instructions is_stmt placement (without `findForceIsStmtInstrs`).
A key-instructions function inlined into a non-key-instructions function
currently results in falling back to non-key-instructions for the inlined scope
too.
Both of these concessions (not using `findForceIsStmtInstrs` in the 1st case,
and not using Key Instructions for the inlined scope in the 2nd) are for
performance reasons; to do the right thing we'd need to run both
`findForceIsStmtInstrs` and `computeKeyInstructions` - in case that's
controversial I've got a separate PR for that: PR 144103.
Commit: 57f7e14b577945258d0f25860ea5abc9098edc04
https://github.com/llvm/llvm-project/commit/57f7e14b577945258d0f25860ea5abc9098edc04
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
A clang/test/CodeGen/LoongArch/bitint.c
Log Message:
-----------
[LoongArch] Pre-commit test for _BitInt(N)
Commit: 8602204d9fc483c7c58fa4e4d422d9bffb4e4e95
https://github.com/llvm/llvm-project/commit/8602204d9fc483c7c58fa4e4d422d9bffb4e4e95
Author: Markus Böck <markus.boeck02 at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/test/Dialect/Tensor/bufferize.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/ops.mlir
Log Message:
-----------
[mlir][tensor] Relax input type requirement on `tensor.splat` (#145893)
`tensor.splat` is currently restricted to only accepting input values
that are of integer, index or float type.
This is much more restrictive than the tensor type itself as well as any
lowerings of it.
This PR therefore removes this restriction by using `AnyType` for the
input value. Whether the type is actually valid or not for a tensor
remains verified through the type equality of the result tensor element
type and the input type.
Commit: 834c410d9df313fde9160b23e6e1c6cf95bed8a3
https://github.com/llvm/llvm-project/commit/834c410d9df313fde9160b23e6e1c6cf95bed8a3
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
Log Message:
-----------
[Target] Prevent copying in loop variables (NFC)
/data/llvm-project/llvm/lib/Target/Lanai/LanaiISelLowering.cpp:715:19: error: loop variable '[Reg, N]' creates a copy from type 'std::pair<unsigned int, llvm::SDValue> const' [-Werror,-Wrange-loop-construct]
for (const auto [Reg, N] : RegsToPass) {
^
/data/llvm-project/llvm/lib/Target/Lanai/LanaiISelLowering.cpp:715:8: note: use reference type 'std::pair<unsigned int, llvm::SDValue> const &' to prevent copying
for (const auto [Reg, N] : RegsToPass) {
^~~~~~~~~~~~~~~~~~~~~
&
/data/llvm-project/llvm/lib/Target/Lanai/LanaiISelLowering.cpp:747:19: error: loop variable '[Reg, N]' creates a copy from type 'std::pair<unsigned int, llvm::SDValue> const' [-Werror,-Wrange-loop-construct]
for (const auto [Reg, N] : RegsToPass)
^
/data/llvm-project/llvm/lib/Target/Lanai/LanaiISelLowering.cpp:747:8: note: use reference type 'std::pair<unsigned int, llvm::SDValue> const &' to prevent copying
for (const auto [Reg, N] : RegsToPass)
^~~~~~~~~~~~~~~~~~~~~
&
2 errors generated.
Commit: faefe7cf7daf585a781af151726d31981cee9e4f
https://github.com/llvm/llvm-project/commit/faefe7cf7daf585a781af151726d31981cee9e4f
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Optimizer/Passes/CommandLineOpts.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Semantics/runtime-type-info.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Passes/CommandLineOpts.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
A flang/test/Integration/skip-external-rtti-definition.F90
M flang/test/Lower/select-type-2.f90
M flang/test/Lower/select-type.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] add option to generate runtime type info as external (#146071)
Reland #145901 with a fix for shared library builds.
So far flang generates runtime derived type info global definitions (as
opposed to declarations) for all the types used in the current
compilation unit even when the derived types are defined in other
compilation units. It is using linkonce_odr to achieve derived type
descriptor address "uniqueness" aspect needed to match two derived type
inside the runtime.
This comes at a big compile time cost because of all the extra globals
and their definitions in apps with many and complex derived types.
This patch adds and experimental option to only generate the rtti
definition for the types defined in the current compilation unit and to
only generate external declaration for the derived type descriptor
object of types defined elsewhere.
Note that objects compiled with this option are not compatible with
object files compiled without because files compiled without it may drop
the rtti for type they defined if it is not used in the compilation unit
because of the linkonce_odr aspect.
I am adding the option so that we can better measure the extra cost of
the current approach on apps and allow speeding up some compilation
where devirtualization does not matter (and the build config links to
all module file object anyway).
Commit: 597ee882a5575987b63d82805e3bbaf3cedc7cc5
https://github.com/llvm/llvm-project/commit/597ee882a5575987b63d82805e3bbaf3cedc7cc5
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/include/clang/Driver/CommonArgs.h
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal.cpp
Log Message:
-----------
[Driver] Add support for `-m` flag to linker job of Baremetal toolchain (#134442)
This PR is 6th patch in the series of patches of merging RISCVToolchain
object into BareMetal toolchain object.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: b563e763065deb0bb5365a3dbdab283ae852dc7e
https://github.com/llvm/llvm-project/commit/b563e763065deb0bb5365a3dbdab283ae852dc7e
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/popcount.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-bit-counting.ll
Log Message:
-----------
[AArch64] Improve scalar and Neon popcount with SVE CNT. (#143870)
When available, we can use SVE's CNT instruction to improve the lowering
of scalar and fixed-length popcount (CTPOP) since the SVE instruction
supports types that the Neon variant doesn't.
For the scalar types, I see the following speedups on NVIDIA Grace CPU:
| size (bits) | before (Gibit/s) | after (Gibit/s) | speedup |
|------------:|-----------------:|----------------:|--------:|
| 32 | 75.20 | 86.79 | 1.15 |
| 64 | 149.87 | 173.70 | 1.16 |
| 128 | 158.56 | 164.88 | 1.04 |
Commit: 5220e4f2bfb6e01adcb7708dba44701c84016a4d
https://github.com/llvm/llvm-project/commit/5220e4f2bfb6e01adcb7708dba44701c84016a4d
Author: Nico Weber <thakis at chromium.org>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/test/Driver/aarch64-toolchain.c
Log Message:
-----------
Speculative test tweak after ed25d473fb1b7
Commit: e0864b56b01696d7d386dfcc9437304282e1c84d
https://github.com/llvm/llvm-project/commit/e0864b56b01696d7d386dfcc9437304282e1c84d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M libcxx/include/module.modulemap.in
Log Message:
-----------
[libc++] Fix <charconv> not exporting std::errc (#146268)
`<charconv>` doesn't properly export `std::errc` with locales disabled,
which causes the CI to fail. This fixed the modulemap to let
`from_chars_result` export `std::errc`, like it's supposed to do.
Commit: 9fbde32a8c75a288d237e74d0a459ec7dc7698d8
https://github.com/llvm/llvm-project/commit/9fbde32a8c75a288d237e74d0a459ec7dc7698d8
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCCodeView.h
M llvm/include/llvm/MC/MCFragment.h
M llvm/lib/MC/MCCodeView.cpp
Log Message:
-----------
Revert "CodeView: Move MCCVDefRangeFragment storage to MCContext/MCFragment"
This reverts commit e47d4010d34119c2b4a28e7609fde35449a8b437.
Causing a few tests to crash on Windows buildbots.
Commit: 179cc202bda35e6da410b7475ed781fac85345e7
https://github.com/llvm/llvm-project/commit/179cc202bda35e6da410b7475ed781fac85345e7
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M libcxx/include/__type_traits/invoke.h
Log Message:
-----------
[libc++] Add missing _LIBCPP_NODEBUG in <__type_traits/invoke.h>
libc++ doesn't run clang-tidy in the bootstrapping build, so it wasn't
run when `__builtin_invoke` was introduced. Once libc++ upgrades to a
newer clang version, clang-tidy will start to fail due to missing
`_LIBCPP_NODEBUG` annotations.
Commit: 6a120bf02ec08a25324c94fbb273049fc6419659
https://github.com/llvm/llvm-project/commit/6a120bf02ec08a25324c94fbb273049fc6419659
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
Log Message:
-----------
[Hexagon] Remove unused flag from HexagonGenExtract(NFC) (#146310)
Commit: 5c5bcd622192dc291073ba87d833001f8e425a49
https://github.com/llvm/llvm-project/commit/5c5bcd622192dc291073ba87d833001f8e425a49
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 34b2e934ea9e
Commit: 22064ce53eb5c406baa4cbfdd471c2a808bc4e08
https://github.com/llvm/llvm-project/commit/22064ce53eb5c406baa4cbfdd471c2a808bc4e08
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Interpreter/BUILD.gn
Log Message:
-----------
[gn build] Port 3f531552e66f
Commit: 96fc0b3a329cb3f6efeb9a53fa9888f4ab67a69a
https://github.com/llvm/llvm-project/commit/96fc0b3a329cb3f6efeb9a53fa9888f4ab67a69a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
Log Message:
-----------
[gn build] Port a3a60e03e2bf
Commit: 7ec494e9bde8e4dc09deba871ed271141794559f
https://github.com/llvm/llvm-project/commit/7ec494e9bde8e4dc09deba871ed271141794559f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/mach-core/BUILD.gn
Log Message:
-----------
[gn build] Port a64db49371f0
Commit: af82e14c4a351227c50cb4db4fd3aeb2c99627ef
https://github.com/llvm/llvm-project/commit/af82e14c4a351227c50cb4db4fd3aeb2c99627ef
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/test/DebugInfo/KeyInstructions/X86/dwarf-inline-modes.mir
Log Message:
-----------
[KeyInstr] Fully support mixed key/non-key inlining modes (#144103)
Patch 3/4 adding bitcode support, though the final patch doesn't depend on this
one.
Prior to this patch, a Key Instructions function inlined into a
Not-Key-Instructions function fell back to Not-Key-Instructions handling.
In order to fully support inlining mixed modes we need to run
`computeKeyInstructions` (in case there's a Key Instructions scope) and
`findForceIsStmtInstrs` (in case there's a Not-Key-Instructions scope) on all
functions. This has a slight performance cost for all configurations - see PR
for details.
Commit: b42c8831d57a18d95ae7941384c693e90dbdc270
https://github.com/llvm/llvm-project/commit/b42c8831d57a18d95ae7941384c693e90dbdc270
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/test/Analysis/z3-crosscheck-max-attempts.cpp
M clang/test/Analysis/z3/D83660.c
M clang/test/CMakeLists.txt
M clang/test/lit.cfg.py
M clang/test/lit.site.cfg.py.in
Log Message:
-----------
[clang] Build the Z3 mock module via CMake (#146284)
Build the Z3 mock module via CMake rather than compiling it directly in
tests. This ensures that the toolchain file is exported, and therefore
fixes testing for Gentoo multilib. Also, it ensures that the module is
compiled only once for the two tests using it.
While at it, remove the related Z3 include directory and host compiler
substitutions -- they are not used anymore, and the latter can't be
reliably used in tests.
The code is based on the existing bits for CTTestTidyModule.
See
https://github.com/llvm/llvm-project/pull/145731#issuecomment-3015197983
Commit: 473769ec9b2f860813229eb449fb4298dfc7ff94
https://github.com/llvm/llvm-project/commit/473769ec9b2f860813229eb449fb4298dfc7ff94
Author: Ashwin Banwari <ashwinkbanwari at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/modules.cppm
Log Message:
-----------
[clang] [modules] Add err_main_in_named_module (#146247)
Close https://github.com/llvm/llvm-project/issues/146229
As the issue said, main shouldn't be in any modules.
new diagnostic output:
```
/my/code/directory/main.cpp:3:1: warning: 'main' should not be attached to a named module; consider adding C++ language linkage [-Wmain]
3 | int main() {
| ^
| extern "C++"
1 warning generated.
```
Commit: 2e7aa7ead6808047df2b7b56bfc725ffc3685e43
https://github.com/llvm/llvm-project/commit/2e7aa7ead6808047df2b7b56bfc725ffc3685e43
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
Log Message:
-----------
[mlir][tosa] Add custom operand getters for select op (#145921)
The select op has 3 inputs: input1, input2, input3 to according to the
tosa specification. However, use of getInput1(), getInput2() and
getInput3() in the codebase can be confusing and hinder readability.
This commit adds custom getters to help improve readability:
- input1 -> getPred()
- input2 -> getOnTrue()
- input3 -> getOnFalse()
They should be preferred as they are more descriptive, however, the ODS
generated getters (getInputX()) may still be used.
Unfortunately the custom getters don't propagate to Adaptors such as
`FoldAdaptor`, so the ODS generated getters must be used.
Commit: 1dfc3e846154ce915665e04b19126a8b9a09408a
https://github.com/llvm/llvm-project/commit/1dfc3e846154ce915665e04b19126a8b9a09408a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/freeze-binary.ll
Log Message:
-----------
[X86] Add test coverage to show failure to push freeze through saddo/uaddo nodes (+carry variants)
Test coverage to pull out the overflow handling from #145939
Commit: 338dee0742ce2b64cd5cc6d4f46f959262a08e48
https://github.com/llvm/llvm-project/commit/338dee0742ce2b64cd5cc6d4f46f959262a08e48
Author: Wenju He <wenju.he at intel.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M libclc/clc/include/clc/clcmacro.h
M libclc/clc/include/clc/geometric/clc_fast_distance.h
M libclc/clc/include/clc/geometric/clc_fast_length.h
M libclc/clc/include/clc/geometric/clc_fast_normalize.h
M libclc/clc/include/clc/math/clc_exp_helper.h
M libclc/clc/include/clc/math/clc_half_cos.h
M libclc/clc/include/clc/math/clc_half_divide.h
M libclc/clc/include/clc/math/clc_half_exp.h
M libclc/clc/include/clc/math/clc_half_exp10.h
M libclc/clc/include/clc/math/clc_half_exp2.h
M libclc/clc/include/clc/math/clc_half_log.h
M libclc/clc/include/clc/math/clc_half_log10.h
M libclc/clc/include/clc/math/clc_half_log2.h
M libclc/clc/include/clc/math/clc_half_powr.h
M libclc/clc/include/clc/math/clc_half_recip.h
M libclc/clc/include/clc/math/clc_half_rsqrt.h
M libclc/clc/include/clc/math/clc_half_sin.h
M libclc/clc/include/clc/math/clc_half_sqrt.h
M libclc/clc/include/clc/math/clc_half_tan.h
M libclc/clc/include/clc/math/clc_native_cos.h
M libclc/clc/include/clc/math/clc_native_divide.h
M libclc/clc/include/clc/math/clc_native_exp.h
M libclc/clc/include/clc/math/clc_native_exp10.h
M libclc/clc/include/clc/math/clc_native_exp2.h
M libclc/clc/include/clc/math/clc_native_log.h
M libclc/clc/include/clc/math/clc_native_log10.h
M libclc/clc/include/clc/math/clc_native_log2.h
M libclc/clc/include/clc/math/clc_native_powr.h
M libclc/clc/include/clc/math/clc_native_recip.h
M libclc/clc/include/clc/math/clc_native_rsqrt.h
M libclc/clc/include/clc/math/clc_native_sin.h
M libclc/clc/include/clc/math/clc_native_sqrt.h
M libclc/clc/include/clc/math/clc_native_tan.h
M libclc/clc/include/clc/math/clc_sincos_helpers.h
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/shared/binary_def_scalarize.inc
A libclc/clc/include/clc/shared/ternary_def_scalarize.inc
A libclc/clc/include/clc/shared/unary_def_scalarize.inc
M libclc/clc/lib/amdgcn/math/clc_fmax.cl
M libclc/clc/lib/amdgcn/math/clc_fmin.cl
M libclc/clc/lib/amdgcn/math/clc_ldexp_override.cl
M libclc/clc/lib/amdgpu/math/clc_native_exp2.cl
M libclc/clc/lib/amdgpu/math/clc_sqrt_fp64.cl
M libclc/clc/lib/clspv/math/clc_sw_fma.cl
M libclc/clc/lib/generic/integer/clc_clz.cl
M libclc/clc/lib/generic/integer/clc_ctz.cl
M libclc/clc/lib/generic/math/clc_erf.cl
M libclc/clc/lib/generic/math/clc_erfc.cl
M libclc/clc/lib/generic/math/clc_fmax.cl
M libclc/clc/lib/generic/math/clc_fmin.cl
M libclc/clc/lib/generic/math/clc_fmod.cl
M libclc/clc/lib/generic/math/clc_ldexp.cl
M libclc/clc/lib/generic/math/clc_log.cl
M libclc/clc/lib/generic/math/clc_log10.cl
M libclc/clc/lib/generic/math/clc_log2.cl
M libclc/clc/lib/generic/math/clc_remainder.cl
M libclc/clc/lib/generic/math/clc_sincos_helpers.cl
M libclc/clc/lib/generic/math/clc_sw_fma.cl
M libclc/clc/lib/generic/math/clc_tgamma.cl
M libclc/clc/lib/r600/math/clc_fmax.cl
M libclc/clc/lib/r600/math/clc_fmin.cl
M libclc/clc/lib/r600/math/clc_native_rsqrt.cl
M libclc/clc/lib/r600/math/clc_rsqrt_override.cl
M libclc/opencl/include/clc/opencl/geometric/fast_distance.h
M libclc/opencl/include/clc/opencl/geometric/fast_length.h
M libclc/opencl/include/clc/opencl/geometric/fast_normalize.h
M libclc/opencl/include/clc/opencl/math/half_cos.h
M libclc/opencl/include/clc/opencl/math/half_exp.h
M libclc/opencl/include/clc/opencl/math/half_exp10.h
M libclc/opencl/include/clc/opencl/math/half_exp2.h
M libclc/opencl/include/clc/opencl/math/half_log.h
M libclc/opencl/include/clc/opencl/math/half_log10.h
M libclc/opencl/include/clc/opencl/math/half_log2.h
M libclc/opencl/include/clc/opencl/math/half_recip.h
M libclc/opencl/include/clc/opencl/math/half_rsqrt.h
M libclc/opencl/include/clc/opencl/math/half_sin.h
M libclc/opencl/include/clc/opencl/math/half_sqrt.h
M libclc/opencl/include/clc/opencl/math/half_tan.h
M libclc/opencl/include/clc/opencl/math/native_cos.h
M libclc/opencl/include/clc/opencl/math/native_exp.h
M libclc/opencl/include/clc/opencl/math/native_exp10.h
M libclc/opencl/include/clc/opencl/math/native_exp2.h
M libclc/opencl/include/clc/opencl/math/native_log.h
M libclc/opencl/include/clc/opencl/math/native_log10.h
M libclc/opencl/include/clc/opencl/math/native_log2.h
M libclc/opencl/include/clc/opencl/math/native_recip.h
M libclc/opencl/include/clc/opencl/math/native_rsqrt.h
M libclc/opencl/include/clc/opencl/math/native_sin.h
M libclc/opencl/include/clc/opencl/math/native_sqrt.h
M libclc/opencl/include/clc/opencl/math/native_tan.h
Log Message:
-----------
[NFC][libclc] Refactor _CLC_*_VECTORIZE macros to functions in .inc files (#145678)
With this PR, if we have customized implementation for scalar or vector
length = 2, we don't need to write new macros, e.g.
https://github.com/intel/llvm/blob/fb18321705f6/libclc/clc/include/clc/clcmacro.h#L15
Undef __HALF_ONLY, __FLOAT_ONLY and __DOUBLE_ONLY at the end of
clc/include/clc/math/gentype.inc
llvm-diff shows no change to nvptx64--nvidiacl.bc and amdgcn--amdhsa.bc
Commit: f226852265e6eca9c0f0633cc25dc5e1f30b2c55
https://github.com/llvm/llvm-project/commit/f226852265e6eca9c0f0633cc25dc5e1f30b2c55
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/freeze-binary.ll
Log Message:
-----------
[X86] Add test coverage to show failure to push freeze through ssubo/usubo nodes (+carry variants)
Test coverage to pull out the overflow handling from #145939
Commit: d0c1ea928c5c4a99689ff3dcbf1ca578d56b80a3
https://github.com/llvm/llvm-project/commit/d0c1ea928c5c4a99689ff3dcbf1ca578d56b80a3
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/matrix-multiplication-negation.ll
M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
Log Message:
-----------
[InstCombine] Pull unary shuffles through fneg/fabs (#144933)
This canonicalizes fneg/fabs (shuffle X, poison, mask) -> shuffle
(fneg/fabs X), posion, mask
This undoes part of b331a7ebc1e02f9939d1a4a1509e7eb6cdda3d38 and
a8f13dbdeb31be37ee15b5febb7cc2137bbece67, but keeps the binary shuffle
case i.e. shuffle fneg, fneg, mask.
By pulling out the shuffle we bring it inline with the same
canonicalisation we perform on binary ops and intrinsics, which the
original commit acknowledges it goes in the opposite direction.
However nowadays VectorCombine is more powerful and can do more
optimisations when the shuffle is pulled out, so I think we should
revisit this. In particular we get more shuffles folded and can perform
scalarization.
Commit: 47ecd18f24d338d83c3a06dd1c7906b35edb8d91
https://github.com/llvm/llvm-project/commit/47ecd18f24d338d83c3a06dd1c7906b35edb8d91
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/IR/IRBuilder.cpp
A llvm/test/Transforms/InstCombine/SystemZ/printf-opt-alignment.ll
Log Message:
-----------
Global string alignment (#142346)
When creating global strings, some targets have requirements that need
to be taken into account. Previously, the global strings created by
`IRBuilder::createGlobalString` had a hard-coded alignment of `1`.
This commit makes it so that the alignment is taken from the data layout
instead, giving targets the chance to align global strings according to
their preferences.
This PR is motivated by (and should fix) #141491, where the 1-byte
alignment in a global string created by a `printf` optimization led to
the resulting assembly in a `-fno-PIC` compile to unexpectedly reference
the GOT based on whether the code contained `printf` statements of the
form `printf("foo\n");`.
Commit: 24fd3437c311e42891d117a9c4cf993032561bab
https://github.com/llvm/llvm-project/commit/24fd3437c311e42891d117a9c4cf993032561bab
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M lldb/test/API/macosx/lc-note/additional-registers/add-lcnote.cpp
Log Message:
-----------
[lldb][test] TestMetadataRegisters.py: add missing include
The macOS Clang-17 matrix bot was failing with:
```
07:33:28 /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/macosx/lc-note/additional-registers/add-lcnote.cpp:79:12: error: implicit instantiation of undefined template 'std::vector<unsigned char>'
07:33:28 79 | payload.resize(payload_str->size(), 0);
07:33:28 | ^
07:33:28 /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1706_build/include/c++/v1/iosfwd:133:28: note: template is declared here
07:33:28 133 | class _LIBCPP_TEMPLATE_VIS vector;
07:33:28 | ^
07:33:28 /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/macosx/lc-note/additional-registers/add-lcnote.cpp:80:19: error: implicit instantiation of undefined template 'std::vector<unsigned char>'
07:33:28 80 | memcpy(payload.data(), payload_str->c_str(), payload_str->size());
07:33:28 | ^
07:33:28 /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1706_build/include/c++/v1/iosfwd:133:28: note: template is declared here
07:33:28 133 | class _LIBCPP_TEMPLATE_VIS vector;
07:33:28 | ^
07:33:28 /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/macosx/lc-note/additional-registers/add-lcnote.cpp:87:12: error: implicit instantiation of undefined template 'std::vector<unsigned char>'
07:33:28 87 | payload.resize(sb.st_size, 0);
07:33:28 | ^
07:33:28 /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1706_build/include/c++/v1/iosfwd:133:28: note: template is declared here
07:33:28 133 | class _LIBCPP_TEMPLATE_VIS vector;
```
Commit: f8cb7987c64dcffb72414a40560055cb717dbf74
https://github.com/llvm/llvm-project/commit/f8cb7987c64dcffb72414a40560055cb717dbf74
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
R clang/lib/Driver/ToolChains/RISCVToolchain.cpp
R clang/lib/Driver/ToolChains/RISCVToolchain.h
M clang/test/Driver/baremetal-undefined-symbols.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain.c
Log Message:
-----------
[RISCV] Integrate RISCV target in baremetal toolchain object and deprecate RISCVToolchain object (#121831)
This patch:
- Adds CXXStdlib, runtimelib defaults for riscv target to
BareMetal toolchain object.
- Set the unwindlib to None for riscv target to match the
behavior of RISCVToolChain.
- Removes call to RISCVToolChain object from llvm.
This PR is last patch in the series of patches of merging RISCVToolchain
object into BareMetal toolchain object.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: de6b8cdc41123b71c2306384fd177a18a504a187
https://github.com/llvm/llvm-project/commit/de6b8cdc41123b71c2306384fd177a18a504a187
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/test/CodeGenCXX/auto-var-init.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
M llvm/test/Transforms/EarlyCSE/writeonly.ll
Log Message:
-----------
[EarlyCSE] Add support for writeonly call CSE (#145474)
Add support for CSE of writeonly calls, similar to the existing support
for readonly calls.
Commit: f4128428af0de952c9c5f0e10d8be7512a492986
https://github.com/llvm/llvm-project/commit/f4128428af0de952c9c5f0e10d8be7512a492986
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/test/CodeGen/AArch64/PHIElimination-reuse-copy.mir
Log Message:
-----------
[PHIElimination] Fix bug around $noreg assignment (#146320)
PR which introduced the bug:
https://github.com/llvm/llvm-project/pull/131837.
Fixes a crash around dead registers which started in f5c62ee0fa04 by
verifying that the reused incoming register is also virtual.
Commit: d7a3bdffb9a34da27188368bde45fdd1426f5185
https://github.com/llvm/llvm-project/commit/d7a3bdffb9a34da27188368bde45fdd1426f5185
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
A llvm/test/Other/fatlto.ll
M llvm/test/Other/pipeline-alias-errors.ll
Log Message:
-----------
[PassBuilder][FatLTO] Expose FatLTO pipeline via pipeline string (#146048)
Expose the FatLTO pipeline via `-passes="fatlto-pre-link<Ox>"`, similar
to all the other optimization pipelines. This is to allow reproducing it
outside clang. (Possibly also useful for C API users.)
Commit: 5e732c09b2138e40d682dcc47a9d85198386d628
https://github.com/llvm/llvm-project/commit/5e732c09b2138e40d682dcc47a9d85198386d628
Author: amilendra <amilendra.kodithuwakku at arm.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ro.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1rq.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1.c
Log Message:
-----------
[CLANG][AArch64] Add mfloat8_t support for more SVE load intrinsics (#145383)
Add mfloat8_t support for the following SVE load intrinsics.
- SVLD1RO
- SVLD1RQ
- SVLDFF1
- SVLDFF1_VNUM
- SVLDNF1
- SVLDNF1_VNUM
Commit: a72a0f415d595317a6966fc73bc716b13b19d7c2
https://github.com/llvm/llvm-project/commit/a72a0f415d595317a6966fc73bc716b13b19d7c2
Author: amilendra <amilendra.kodithuwakku at arm.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-ldst-one.c
Log Message:
-----------
[Clang][AArch64] Add mfloat8_t variants of Neon load intrinsics (#145666)
Add mfloat8_t support for the following Neon load intrinsics.
- VLD1
- VLD1_X2
- VLD1_X3
- VLD1_X4
- VLD1_LANE
- VLD1_DUP
- VLD2
- VLD3
- VLD4
- VLD2_DUP
- VLD3_DUP
- VLD4_DUP
- VLD2_LANE
- VLD3_LANE
- VLD4_LANE
Commit: 33c8d5c686ea923d0905d3f60cf2db6e6ec868e1
https://github.com/llvm/llvm-project/commit/33c8d5c686ea923d0905d3f60cf2db6e6ec868e1
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-ldst-one.c
Log Message:
-----------
[Clang][AArch64] Add FP8 variants of Neon store intrinsics (#145346)
Adds FP8 variants for existing VST1, VST2, VST3 & VST4 intrinsics.
Commit: 5186d4aeeeca56a77404c2842e494524b7cdd4ba
https://github.com/llvm/llvm-project/commit/5186d4aeeeca56a77404c2842e494524b7cdd4ba
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/test/Driver/autocomplete.c
Log Message:
-----------
[NFC] [clang] Fix a test regression
Commit: 3a7d60860d1a48aebae0f4ff121a91b2a39cec9b
https://github.com/llvm/llvm-project/commit/3a7d60860d1a48aebae0f4ff121a91b2a39cec9b
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/test/Other/fatlto.ll
Log Message:
-----------
[FatLTO] Relax checks for fatlto pipeline test
EmbedBitcodePass now reports that it modified the IR, so there
are more analysis invalidations in between. Convert CHECK-NEXT
to CHECK.
Commit: c3f8dd1228224841e2fae52cf4f4f4070f2edfac
https://github.com/llvm/llvm-project/commit/c3f8dd1228224841e2fae52cf4f4f4070f2edfac
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/test/Analysis/ArrayDelete.cpp
M clang/test/Analysis/DeleteWithNonVirtualDtor.cpp
M clang/test/Analysis/PR37855.c
M clang/test/Analysis/aggrinit-cfg-output.cpp
M clang/test/Analysis/compound-literals.c
M clang/test/Analysis/ctu-cxxdefaultinitexpr.cpp
M clang/test/Analysis/ctu-implicit.c
M clang/test/Analysis/ctu-import-threshold.c
M clang/test/Analysis/ctu-lookup-name-with-space.cpp
M clang/test/Analysis/ctu-main.c
M clang/test/Analysis/ctu-on-demand-parsing.c
M clang/test/Analysis/ctu-test-import-failure.cpp
M clang/test/Analysis/exploded-graph-rewriter/dynamic_types.cpp
M clang/test/Analysis/exploded-graph-rewriter/escapes.c
M clang/test/Analysis/exploded-graph-rewriter/initializers_under_construction.cpp
M clang/test/Analysis/exploded-graph-rewriter/l_name_starts_with_l.cpp
M clang/test/Analysis/exploded-graph-rewriter/macros.c
M clang/test/Analysis/exploded-graph-rewriter/objects_under_construction.cpp
M clang/test/Analysis/exploded-graph-rewriter/win_path_forbidden_chars.cpp
M clang/test/Analysis/gmalloc.c
M clang/test/Analysis/handle_constructors_for_default_arguments.cpp
M clang/test/Analysis/handle_constructors_with_new_array.cpp
M clang/test/Analysis/initialization.c
M clang/test/Analysis/initialization.cpp
M clang/test/Analysis/lifetime-cfg-output.cpp
M clang/test/Analysis/loopexit-cfg-output.cpp
M clang/test/Analysis/method-arg-decay.m
M clang/test/Analysis/null-deref-static.m
M clang/test/Analysis/objc-encode.m
M clang/test/Analysis/openmp-unsupported.c
M clang/test/Analysis/pointer-escape-on-conservative-calls.c
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/Analysis/taint-diagnostic-visitor.c
M clang/test/Analysis/temporaries-callback-order.cpp
M clang/test/Analysis/undef-call.c
M clang/test/Analysis/z3-crosscheck-max-attempts.cpp
M clang/test/Analysis/z3-crosscheck.c
M clang/test/Analysis/z3/D83660.c
M clang/test/Analysis/z3/pretty-dump.c
Log Message:
-----------
[NFC][analyzer] Use %clang_analyze_cc1 consistently (#145895)
A large majority of the LIT tests of the clang static analyzer use RUN
lines with the placeholder `%clang_analyze_cc1` which expands to
`%clang_cc1 -analyze -setup-static-analyzer` where the only effect of
`-setup-static-analyzer` is that it ensures that the macro
`__clang_analyzer__` is defined. However, there were some tests that
used `%clang_cc1 -analyze` directly; this commit changes those to using
`%clang_analyze_cc1` for the sake of consistency.
Previously `%clang_analyze_cc1` did not work within the directory
`exploded-graph-rewriter` (because that directory has its own custom
`lit.local.cfg`) but this problem was eliminated by the recent commit
40cc4379cda6e0d6efe72c55d1968f9cf427a16a, so it was possible to resolve
and delete the FIXME comments asking for this change.
There are a few tests that use `%clang --analyze` or other command-line
flags (e.g. help flags), those are not affected by this change.
This cleanup was discussed in the discourse thread
https://discourse.llvm.org/t/taking-ownership-of-clang-test-analysis/84689/11
Commit: 7a3e555353c5a5efd3978f731e7f98fbf75f53d7
https://github.com/llvm/llvm-project/commit/7a3e555353c5a5efd3978f731e7f98fbf75f53d7
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/CXX/class.access/class.access.dcl/p1.cpp
M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p3.cpp
M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p4.cpp
M clang/test/CXX/drs/cwg4xx.cpp
Log Message:
-----------
[Clang][Sema] Require `BaseClass::` (not other classes) in member using-declaration in C++98 mode (#143492)
[CWG400](https://wg21.link/cwg400) rejects member using-declaration
whose nested-name-specifier doesn't refer to a base class of the current
class.
```cpp
struct A {};
struct B {
using B::A; // error
};
```
Clang didn't reject this case in C++98 mode. This patch fixes this
issue.
Commit: 6e6c61d696c9ead7deb0b05d3643bf5c70883aa3
https://github.com/llvm/llvm-project/commit/6e6c61d696c9ead7deb0b05d3643bf5c70883aa3
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/SystemZ/printf-opt-alignment.ll
Log Message:
-----------
[InstCombine] Add explicit data layout to test
To avoid the dependence on the SystemZ target. What is relevant here
is a data layout with preferred alignment for i8.
Commit: 003145d0c8d5417d7b7ef1eb40838bc0fb50e229
https://github.com/llvm/llvm-project/commit/003145d0c8d5417d7b7ef1eb40838bc0fb50e229
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M offload/liboffload/API/Common.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/unittests/OffloadAPI/init/olInit.cpp
Log Message:
-----------
[Offload] Implement `olShutDown` (#144055)
`olShutDown` was not properly calling deinit on the platforms, resulting
in random segfaults on AMD devices.
As part of this, `olInit` and `olShutDown` now alloc and free the
offload context rather than it being static. This
allows `olShutDown` to be called within a destructor of a static object
(like the tests do) without having to worry about destructor ordering.
Commit: be75ded3fea900718a72298276d2428ea227ceaf
https://github.com/llvm/llvm-project/commit/be75ded3fea900718a72298276d2428ea227ceaf
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGClass.cpp
A clang/test/DebugInfo/KeyInstructions/init-member-memcopyable-2.cpp
A clang/test/DebugInfo/KeyInstructions/init-member-memcopyable.cpp
Log Message:
-----------
[KeyInstr][Clang] Copy ctor/assignment operator source atoms (#144346)
Commit: b29fea6eebae562d9be32f14b8fe79c89ab80292
https://github.com/llvm/llvm-project/commit/b29fea6eebae562d9be32f14b8fe79c89ab80292
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/DebugInfo/KeyInstructions/flag.cpp
Log Message:
-----------
[KeyInstr][Clang][NFC] Don't set -dwarf-use-key-instructions (#144115)
Now PR 144104 has landed the flag is true by default (each DISubprogram tracks
whether or not it's using key instructions).
Commit: a4647b21f2cbb89283a4e84b0d8a167ebcbe5e3c
https://github.com/llvm/llvm-project/commit/a4647b21f2cbb89283a4e84b0d8a167ebcbe5e3c
Author: Nico Weber <thakis at chromium.org>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/test/BUILD.gn
Log Message:
-----------
[gn] port b42c8831d57a
Commit: e810c639febc759e7007104495093fbcd20e961a
https://github.com/llvm/llvm-project/commit/e810c639febc759e7007104495093fbcd20e961a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
Log Message:
-----------
[gn build] Port f8cb7987c64d
Commit: a99c964d7f40766b58b8f1b5c04a73cae1627375
https://github.com/llvm/llvm-project/commit/a99c964d7f40766b58b8f1b5c04a73cae1627375
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.f16.fp8.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_cvt_f16_fp8` on gfx1250 (#146302)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: 749c7c5dc49a39275da6d7fc520fde2518bb2697
https://github.com/llvm/llvm-project/commit/749c7c5dc49a39275da6d7fc520fde2518bb2697
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_cvt_f16_bf8` on gfx1250 (#146305)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: eb1a80bfd3a07e1d771c1d322ed377254afc5f2e
https://github.com/llvm/llvm-project/commit/eb1a80bfd3a07e1d771c1d322ed377254afc5f2e
Author: zhaohui <wangzhaohui at uniontech.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] Implement SDPatternMatch `m_SpecificScalarVT` and `m_SpecificVectorElementVT` matchers (#144996)
Resolves https://github.com/llvm/llvm-project/issues/144477
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: b9e4679976e247b4b46454a78b8c212ebbfa7221
https://github.com/llvm/llvm-project/commit/b9e4679976e247b4b46454a78b8c212ebbfa7221
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/freeze-binary.ll
Log Message:
-----------
[DAG] canCreateUndefOrPoison - add handling for ADD/SUB/MUL overflow nodes (#146322)
Neither the arithmetic value or overflow result can create undef/poison from regular operands values.
We have complete test coverage for all ADDO/SUBO nodes, 32-bit codegen handles the _CARRY variants but until #145939 lands AND DAGCombiner::visitFREEZE handles multiple results we can't see any codegen change.
Pulled out of #145939
Commit: 652630b3c918c807fca8785eabdb92393b87043a
https://github.com/llvm/llvm-project/commit/652630b3c918c807fca8785eabdb92393b87043a
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
Log Message:
-----------
[ISel/RISCV] Fix fixed-vector [l]lrint lowering (#145898)
Make the fixed-vector lowering of ISD::[L]LRINT use the custom-lowering
routine, lowerVectorXRINT, and fix issues in lowerVectorXRINT related to
this new functionality.
Commit: f01a7936bea491324e06dcf203749dda08ce7c07
https://github.com/llvm/llvm-project/commit/f01a7936bea491324e06dcf203749dda08ce7c07
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
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
Log Message:
-----------
[VPlan] Replace all uses of VF when EVL tail folding. NFCI (#146339)
With EVL tail folding, any use of the VF live in should be replaced by
the EVL. Otherwise, it should likely be directly emitted as a constant
via VPTransformState::VF.
This strengthens the EVL transformation by replacing all uses of VF with
EVL and asserting that the only users are VPVectorEndPointerRecipe and
VPScalarIVStepsRecipe, the latter of which is new.
This should be NFC because even though we didn't previously replace the
EVL of VPScalarIVStepsRecipe, it's only used when unrolling which we
don't allow with EVL tail folding yet.
Commit: 183acdd27985afd332463e3d9fd4a2ca46d85cf1
https://github.com/llvm/llvm-project/commit/183acdd27985afd332463e3d9fd4a2ca46d85cf1
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-dest-non-array.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-global-dest.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-non-byte-array.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-non-const-global.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-string-multi-use.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-1.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-2.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-lengths-dont-match.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-more-than-64-bytes.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-ptrtoint.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-struct-test.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-volatile.ll
R llvm/test/Transforms/GlobalOpt/ARM/lit.local.cfg
Log Message:
-----------
[GlobalOpt] Revert global widening transform (#144652)
Partially reverts e37d736def5b95a2710f92881b5fc8b0494d8a05.
The transform has a number of correctness and code quality issues, and
will benefit from a from-scratch re-review more than incremental fixes.
The correctness issues are hinted at in
https://github.com/llvm/llvm-project/pull/144641, but I think it needs a
larger rework to stop working on ArrayTypes and the implementation could
use some other improvements (like callInstIsMemcpy should just be
`dyn_cast<MemCpyInst>`). I can comment in more detail on a resubmission
of the patch.
Commit: d4fdfc3aa718b7cdc96a6e4bab4462247bc7940b
https://github.com/llvm/llvm-project/commit/d4fdfc3aa718b7cdc96a6e4bab4462247bc7940b
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
Log Message:
-----------
[DA] Improve code in getSplitIteration (NFC) (#146137)
Prefer early-continue over deeply nested loops.
Commit: 51dfe28f8754417dbd367150792116324881f496
https://github.com/llvm/llvm-project/commit/51dfe28f8754417dbd367150792116324881f496
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ODRHash.h
M clang/lib/AST/ODRHash.cpp
M clang/test/Modules/odr_hash.cpp
Log Message:
-----------
[clang] odr-checker fix for conversion operators (#146153)
This fixes an issue with the ODR checker not using the as-written type
of conversion operators.
The odr-checker in general should not have to deal with canonical types,
as its purpose is to compare same definitions across TUs, and these need
to be same as written, with few exceptions.
Using canonical types is specially problematic when expressions are
involved, as the types which refer to them generally pick an arbitrary
representative expression, and this can lead to false mismatches.
This patch makes sure that when hashing the names of declarations, if a
DeclarationNameInfo is available, its type source info is used, instead
of the type contained in the DeclarationName, which otherwise is always
canonical.
This patch supersedes #144796, as it fixes the problem without weakening
the ODR checker.
Fixes https://github.com/llvm/llvm-project/issues/143152
Commit: a99fee6989a66ca7cb73fc2fcbac0f693d122326
https://github.com/llvm/llvm-project/commit/a99fee6989a66ca7cb73fc2fcbac0f693d122326
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/exit-data.c
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[OpenACC][CIR] Implement 'exit data' construct + clauses (#146167)
Similar to 'enter data', except the data clauses have a 'getdeviceptr'
operation before, so that they can properly use the 'exit' operation
correctly. While this is a touch awkward, it fits perfectly into the
existing infrastructure.
Same as with 'enter data', we had to add some add-functions for async
and wait.
Commit: d7e23bef6ad497cd5a100126957c381e053dda9b
https://github.com/llvm/llvm-project/commit/d7e23bef6ad497cd5a100126957c381e053dda9b
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M lldb/include/lldb/Core/EmulateInstruction.h
M lldb/source/Core/EmulateInstruction.cpp
M lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
M lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
M lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.cpp
M lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.h
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.h
M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.cpp
M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.h
A lldb/test/API/riscv/step/Makefile
A lldb/test/API/riscv/step/TestSoftwareStep.py
A lldb/test/API/riscv/step/branch.c
A lldb/test/API/riscv/step/incomplete_sequence_without_lr.c
A lldb/test/API/riscv/step/incomplete_sequence_without_sc.c
A lldb/test/API/riscv/step/main.c
M lldb/unittests/Instruction/LoongArch/TestLoongArchEmulator.cpp
Log Message:
-----------
[lldb][RISCV] fix LR/SC atomic sequence handling in lldb-server (#146072)
lldb-server had limited support for single-stepping through the lr/sc
atomic sequence. This patch enhances that support for all possible
atomic sequences.
The previous version contained an incorrect regex pattern in the test,
causing the riscv-specific test to run on other platforms. This reland
fixes the regex (see lldb/test/API/riscv/step/TestSoftwareStep.py)
Commit: 10445acfa64a80800272e09f70be4799877a237f
https://github.com/llvm/llvm-project/commit/10445acfa64a80800272e09f70be4799877a237f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/GPU/allocator.h
M libc/src/stdlib/gpu/realloc.cpp
M libc/test/integration/src/stdlib/gpu/CMakeLists.txt
A libc/test/integration/src/stdlib/gpu/realloc.cpp
Log Message:
-----------
[libc] Efficiently implement 'realloc' for AMDGPU devices (#145960)
Summary:
Now that we have `malloc` we can implement `realloc` efficiently. This
uses the known chunk sizes to avoid unnecessary allocations. We just
return nullptr for NVPTX. I'd remove the list for the entrypoint but
then the libc++ code would stop working. When someone writes the NVPTX
support this will be trivial.
Commit: 8c7719183558695b3f9e088351f4a88fda46e1b4
https://github.com/llvm/llvm-project/commit/8c7719183558695b3f9e088351f4a88fda46e1b4
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/compare-3way.ll
Log Message:
-----------
[InstCombine] smin(smax(X, -1), 1) -> scmp(X, 0) and smax(smin(X, 1), -1) -> scmp(X, 0) (#145736)
Motivating case: https://godbolt.org/z/Wxcc51jcj
Alive2: https://alive2.llvm.org/ce/z/-bPPAg
Commit: 619f7afd716c520e9ab98e1cca30f75dafe40655
https://github.com/llvm/llvm-project/commit/619f7afd716c520e9ab98e1cca30f75dafe40655
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/dependences-i128-inductions.ll
Log Message:
-----------
[LAA] Clean up APInt-overflow related code (#140048)
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: 67e73ba605ea78d757c293f85e32a42257f9c6ed
https://github.com/llvm/llvm-project/commit/67e73ba605ea78d757c293f85e32a42257f9c6ed
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M offload/liboffload/src/Helpers.hpp
M offload/liboffload/src/OffloadImpl.cpp
Log Message:
-----------
[Offload] Refactor device/platform info queries (#146345)
This makes several small changes to how the platform and device info
queries are handled:
* ReturnHelper has been replaced with InfoWriter which is more explicit
in how it is invoked.
* InfoWriter consumes `llvm::Expected` rather than values directly, and
will early exit if it returns an error.
* As a result of the above, `GetInfoString` now correctly returns errors
rather than empty strings.
* The host device now has its own dedicated "getInfo" function rather
than being checked in multiple places.
Commit: b0ff473340e328ff86727470bee4568e4c5a0e38
https://github.com/llvm/llvm-project/commit/b0ff473340e328ff86727470bee4568e4c5a0e38
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/OptBisect.h
M llvm/include/llvm/Pass.h
M llvm/lib/Analysis/LoopPass.cpp
M llvm/lib/Analysis/RegionPass.cpp
M llvm/lib/IR/OptBisect.cpp
M llvm/lib/IR/Pass.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/unittests/IR/LegacyPassManagerTest.cpp
Log Message:
-----------
[LLVM] Change `ModulePass::skipModule` to take a const reference (#146168)
Change `ModulePass::skipModule` to take const Module reference.
Additionally, make `OptPassGate::shouldRunPass` const as well as for
most implementations it's a const query. For `OptBisect`, make
`LastBisectNum` mutable so it could be updated in `shouldRunPass`.
Additional minor cleanup: Change all StringRef arguments to simple
StringRef (no const or reference), change `OptBisect::Disabled` to
constexpr.
Commit: d1ba2692ee523de2da502753e8e666d2ef530df3
https://github.com/llvm/llvm-project/commit/d1ba2692ee523de2da502753e8e666d2ef530df3
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/include/clang/AST/OpenMPClause.h
M clang/lib/AST/Expr.cpp
M llvm/include/llvm/Support/TrailingObjects.h
M llvm/unittests/Support/TrailingObjectsTest.cpp
Log Message:
-----------
[LLVM][Clang] Enable strict mode for `getTrailingObjects` (#144930)
Disallow calls to templated `getTrailingObjects` if there is a single
trailing type (strict mode). Add `getTrailingObjectsNonStrict` for cases
when it's not possible to know statically if there will be a single or
multiple trailing types (like in OpenMPClause.h) to bypass the struct
checks.
This will ensure that future users of TrailingObjects class do not
accidently use the templated `getTrailingObjects` when they have a
single trailing type.
Commit: 1cdc7f8724107b546181d569f2be6dbffd0ffe01
https://github.com/llvm/llvm-project/commit/1cdc7f8724107b546181d569f2be6dbffd0ffe01
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/SemaCXX/wmissing-noreturn-suggestion.cpp
Log Message:
-----------
[clang] [Sema] Suggest [[noreturn]] for void functions that always throw (#146234)
Implements https://github.com/llvm/llvm-project/issues/146223.
Commit: 44ec3e8f9c3e673e9f481a93e0fcbc69a23d368d
https://github.com/llvm/llvm-project/commit/44ec3e8f9c3e673e9f481a93e0fcbc69a23d368d
Author: Jonathan Marriott <34217286+JonathanMarriott at users.noreply.github.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/unittests/AST/ASTTraverserTest.cpp
Log Message:
-----------
[clang][AST] Fix AST IgnoreUnlessSpelledInSource traversal nullptr dereference (#146103)
In summary dumping a `catch(...)` statement using
IgnoreUnlessSpelledInSource AST traversal causes a seg fault, as the
variable declaration of the catch is `nullptr`.
Diagnosed the cause by attaching the debugger to `clang-query`, this PR
adds a fix to check for `nullptr` before accessing the `isImplicit()`
method of the `Decl` pointee in the AST node traverser visitor
Fixes #146101
Commit: c00c5a389899cc55b28e202f713c8bc94738f318
https://github.com/llvm/llvm-project/commit/c00c5a389899cc55b28e202f713c8bc94738f318
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/freeze-unary.ll
Log Message:
-----------
[X86] Add test coverage to show failure to push freeze through CTLZ/CTTZ nodes (+ZERO_UNDEF variants)
Helps with nvtpx regression #145939
Commit: 5ab3114bd12cdafc1e4e384e3a06c7258723ebde
https://github.com/llvm/llvm-project/commit/5ab3114bd12cdafc1e4e384e3a06c7258723ebde
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/unique_object_duplication.h
Log Message:
-----------
Expand annotation check for -Wunique-object-duplication on Windows. (#145944)
Since dllexport/dllimport annotations don't propagate the same way as
visibility, the unique object duplication warning needs to check both
the object in question and its containing class. Previously, we
restricted this check to static data members, but it applies to all
objects inside a class, including functions. Not checking functions
leads to false positives, so remove that restriction.
Commit: 53102a395f3bd07762c183c9ecd213a4759559dd
https://github.com/llvm/llvm-project/commit/53102a395f3bd07762c183c9ecd213a4759559dd
Author: Prajwal Nadig <pnadig at apple.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/test/ExtractAPI/global_record.c
M clang/test/ExtractAPI/global_record_multifile.c
M clang/test/ExtractAPI/macro_undefined.c
A clang/test/ExtractAPI/pointers.c
Log Message:
-----------
[ExtractAPI] Format pointer types correctly (#146182)
Pointer types in function signatures must place the asterisk before the
identifier without a space in between. This patch removes the space and
also ensures that pointers to pointers are formatted correctly.
rdar://131780418
rdar://154533037
Commit: 00cdaa5c395c122f8ede2a4b0587bf9a0dfecc2a
https://github.com/llvm/llvm-project/commit/00cdaa5c395c122f8ede2a4b0587bf9a0dfecc2a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
Log Message:
-----------
[clang][bytecode] Add `Descriptor::hasTrivialDtor()` (#146286)
We sometimes used to have a long list of
```
GetLocalPtr
PopPtr
[...]
```
ops at the end of scopes, because we first got a pointer to a local
variable and only then did we figure out that we didn't actually want to
call the destructor for it. Add a new function that allows us to just
ask the `Descriptor` whether we need to call its destructor.
Commit: 425359a83d2205c6bf10b5c365af432390095eb3
https://github.com/llvm/llvm-project/commit/425359a83d2205c6bf10b5c365af432390095eb3
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
A .github/copilot-instructions.md
Log Message:
-----------
[experimental] Ask copilot to check perf profile degradation (#146271)
We can optionally add copilot as a reviewer. As per
[documentation](https://docs.github.com/en/copilot/how-tos/agents/copilot-code-review/using-copilot-code-review#customizing-copilots-reviews-with-custom-instructions),
we can customize the review. This PR asks it to pay attention to the
kind of code that might corrupt performance data, or, in the case of
sample profiling, result in poor profiles by dropping debug info.
Commit: 6f7370ced630ec1994456a979ca10ac26e3dc0a7
https://github.com/llvm/llvm-project/commit/6f7370ced630ec1994456a979ca10ac26e3dc0a7
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/vector-reverse.ll
Log Message:
-----------
[InstCombine] Pull vector reverse through fneg (#146349)
This follows on from
https://github.com/llvm/llvm-project/pull/144933#issuecomment-2992372627,
and allows us to remove the reverse (fneg (reverse x)) combine.
A separate patch will handle the case for fabs. I haven't checked if we
perform this canonicalization for either unops or binops for vp.reverse
Commit: 545cdca4883552b147a0f1adfac713f76fc22305
https://github.com/llvm/llvm-project/commit/545cdca4883552b147a0f1adfac713f76fc22305
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
Log Message:
-----------
[SCCP] Improve worklist management (#146321)
SCCP currently stores instructions whose lattice value has changed in a
worklist, and then updates their users in the main loop. This may result
in instructions unnecessarily being visited multiple times (as an
instruction will often use multiple other instructions). Additionally,
we'd often redundantly visit instructions that were already visited when
the containing block first became executable.
Instead, change the worklist to directly store the instructions that
need to be revisited. Additionally, do not add instructions to the
worklist that will already be covered by the main basic block walk.
This change is conceptually NFC, but is expected to produce minor
differences in practice, because the visitation order interacts with the
range widening limit.
Commit: 8a5b97a7205db189ca82f44dec7a399c2b5da546
https://github.com/llvm/llvm-project/commit/8a5b97a7205db189ca82f44dec7a399c2b5da546
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Driver/autocomplete.c
M clang/test/SemaCXX/modules.cppm
Log Message:
-----------
Revert "[clang] [modules] Add err_main_in_named_module (#146247)"
This reverts commit 473769ec9b2f860813229eb449fb4298dfc7ff94.
It breaks test in libc++
See https://github.com/llvm/llvm-project/pull/146247
Commit: 199c6ecb5cd0a90f5981b8c8a43470bc48265899
https://github.com/llvm/llvm-project/commit/199c6ecb5cd0a90f5981b8c8a43470bc48265899
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
Log Message:
-----------
[RISCV] Add coverage for missed scalarization of gather/scatter base pointers
Commit: 4aaab693148e3f98923f8f77ff02c665e9d25d10
https://github.com/llvm/llvm-project/commit/4aaab693148e3f98923f8f77ff02c665e9d25d10
Author: Eric <eric at efcs.ca>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M libcxx/test/std/thread/futures/futures.async/wait_on_destruct.pass.cpp
Log Message:
-----------
[libc++] Fix wait_on_destruct.pass.cpp hanging sometimes (#146240)
This test was deadlocking on my machine.
It seems to me the intention of `in_async.wait(...)` was to wait for the
value to be set to true, which requires a call of `wait(false)` (waits
if value matches argument).
~As a drive by change scoped_lock to unique_lock, since there shouldn't
be any functional difference between the two in this test.~
I've addressed the issues with the `in_async` by switching to a
condition variable instead, since my first attempt at fixing this with
`in_async` wasn't sufficient.
Commit: 25e5010a302f2c93397c56d7c07168e075a15a44
https://github.com/llvm/llvm-project/commit/25e5010a302f2c93397c56d7c07168e075a15a44
Author: James Y Knight <jyknight at google.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M lldb/unittests/Instruction/LoongArch/TestLoongArchEmulator.cpp
Log Message:
-----------
[lldb] Delete unused variables in TestLoongArchEmulator.cpp.
These were introduced by d7e23bef6ad497cd5a100126957c381e053dda9b
"[lldb][RISCV] fix LR/SC atomic sequence handling in lldb-server"
Commit: 16dc6f64ded3f47a6c03098e021ae943714a7663
https://github.com/llvm/llvm-project/commit/16dc6f64ded3f47a6c03098e021ae943714a7663
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M lldb/docs/index.rst
A lldb/docs/use/mcp.md
Log Message:
-----------
[lldb] Document MCP support in LLDB (#145935)
Document how to use MCP support in LLDB. I expect this to change
significantly as the feature matures. For now it covers configuring the
server and two example clients.
Commit: 18a0675082de6cfd815b1b20e43bf47cfbdbc62c
https://github.com/llvm/llvm-project/commit/18a0675082de6cfd815b1b20e43bf47cfbdbc62c
Author: Thomas Hashem <35398565+hashemthomas1 at users.noreply.github.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add gdb-scripts filegroup in llvm and mlir (#146358)
This would be useful if downstream projects want to use the provided
pretty printers
Commit: a1d83311c89276e02508183c220a241bec28bf61
https://github.com/llvm/llvm-project/commit/a1d83311c89276e02508183c220a241bec28bf61
Author: Simon Wallis <simon.wallis2 at arm.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
M llvm/test/CodeGen/AArch64/machine-combiner.ll
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-writeback.s
Log Message:
-----------
[AArch64] Change IssueWidth to 5 in AArch64SchedNeoverseN2.td (#145717)
It has been observed that the issue width for neoverse-n2 CPUs is set
too high, and does not properly reflect the dispatch constraints.
I tested various values of IssueWidth (10, 8, 6, 5, 4) with runs of
various workloads on a neoverse-n2 machine and I got the highest overall
geomean score with an issue width of 5.
If this patch were to cause any major regression post-commit, it could
be easily reverted, but it is likely to show an overall improvement.
Related Neoverse-V2 PR: https://github.com/llvm/llvm-project/pull/142565
Commit: 6bd9ff04afdfbef1cf753f2cdd8a4e85ef6685eb
https://github.com/llvm/llvm-project/commit/6bd9ff04afdfbef1cf753f2cdd8a4e85ef6685eb
Author: David Green <david.green at arm.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/test/CodeGen/arm-neon-directed-rounding.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M llvm/include/llvm/IR/IntrinsicsARM.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/test/CodeGen/ARM/vrint.ll
Log Message:
-----------
[ARM] Add neon vector support for round
As per #142559, this marks fround as legal for Neon and upgrades the existing
arm.neon.vrinta intrinsics.
Commit: c79b68541be0a0d91a97af4ec8b36ea4bf49370e
https://github.com/llvm/llvm-project/commit/c79b68541be0a0d91a97af4ec8b36ea4bf49370e
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
A llvm/test/Transforms/InstCombine/SystemZ/lit.local.cfg
Log Message:
-----------
Restrict tests in Transforms/InstCombine/SystemZ to SystemZ (NFC) (#146363)
This commit adds a `lit.local.cfg` file to
`llvm/test/Transforms/InstCombine/SystemZ` that makes sure the tests
contained in that folder are only run when `SystemZ` is among the
supported targets.
Commit: a8f460d1dcc246319870c7bf4ab86c19e779578c
https://github.com/llvm/llvm-project/commit/a8f460d1dcc246319870c7bf4ab86c19e779578c
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M libc/config/linux/arm/entrypoints.txt
M libc/include/llvm-libc-types/jmp_buf.h
M libc/src/setjmp/arm/CMakeLists.txt
A libc/src/setjmp/arm/sigsetjmp.cpp
Log Message:
-----------
[libc] implement sigsetjmp for thumb/thumb2/armv7-a (#138147)
Commit: 04395be630781451682060548ea8b94abec2947e
https://github.com/llvm/llvm-project/commit/04395be630781451682060548ea8b94abec2947e
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
R llvm/include/llvm/MC/MCFragment.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCSymbol.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectWriter.cpp
M llvm/lib/MC/MCPseudoProbe.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCSymbol.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
MC: Merge MCFragment.h into MCSection.h
... due to their close relationship. MCSection's inline functions (e.g.
iterator) access MCFragment, and we want MCFragment's inline functions
to access MCSection similarly (#146307).
Pull Request: https://github.com/llvm/llvm-project/pull/146315
Commit: 529508c187e948f5bb73af9ee8207f706899bdb4
https://github.com/llvm/llvm-project/commit/529508c187e948f5bb73af9ee8207f706899bdb4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/freeze-unary.ll
Log Message:
-----------
[DAG] canCreateUndefOrPoison - add handling for CTTZ/CTLZ nodes (#146361)
ISD::CTTZ/CTLZ nodes handle all input values and do not create undef/poison.
The *_ZERO_UNDEF variants will be handled in a future patch.
Commit: efc561c061bc15036f923f5b0b24133be54a6395
https://github.com/llvm/llvm-project/commit/efc561c061bc15036f923f5b0b24133be54a6395
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
Log Message:
-----------
[CodeGen] Remove an unnecessary cast (NFC) (#146380)
E is already of Expr * and shares the same declaration among all these
cases.
Commit: 83b462af17ca807d276963b37640a9f2e91d70b1
https://github.com/llvm/llvm-project/commit/83b462af17ca807d276963b37640a9f2e91d70b1
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M flang/include/flang/Parser/message.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Parser/message.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Evaluate/fold-dim.f90
M flang/test/Evaluate/fold-nearest.f90
M flang/test/Evaluate/fold-out_of_range.f90
M flang/test/Evaluate/fold-unsigned.f90
M flang/test/Evaluate/folding03.f90
M flang/test/Evaluate/folding04.f90
M flang/test/Evaluate/folding05.f90
M flang/test/Evaluate/folding06.f90
M flang/test/Evaluate/folding14.f90
M flang/test/Evaluate/folding28.f90
M flang/test/Semantics/OpenACC/acc-branch.f90
M flang/test/Semantics/OpenACC/acc-data.f90
M flang/test/Semantics/OpenACC/acc-declare-validity.f90
M flang/test/Semantics/OpenACC/acc-serial.f90
M flang/test/Semantics/OpenMP/allocate-align01.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/copying.f90
M flang/test/Semantics/OpenMP/declarative-directive01.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/declare-target02.f90
M flang/test/Semantics/OpenMP/declare-target03.f90
M flang/test/Semantics/OpenMP/declare-target06.f90
M flang/test/Semantics/OpenMP/deprecation.f90
M flang/test/Semantics/OpenMP/nested-target.f90
M flang/test/Semantics/OpenMP/requires04.f90
M flang/test/Semantics/OpenMP/requires05.f90
M flang/test/Semantics/OpenMP/single03.f90
M flang/test/Semantics/OpenMP/single04.f90
M flang/test/Semantics/OpenMP/target01.f90
M flang/test/Semantics/OpenMP/threadprivate03.f90
M flang/test/Semantics/OpenMP/use_device_ptr1.f90
M flang/test/Semantics/allocate09.f90
M flang/test/Semantics/argshape01.f90
M flang/test/Semantics/assign02.f90
M flang/test/Semantics/assign09.f90
M flang/test/Semantics/associate01.f90
M flang/test/Semantics/associated.f90
M flang/test/Semantics/bind-c02.f90
M flang/test/Semantics/bind-c04.f90
M flang/test/Semantics/bind-c06.f90
M flang/test/Semantics/bind-c11.f90
M flang/test/Semantics/bind-c13.f90
M flang/test/Semantics/bind-c17.f90
M flang/test/Semantics/bindings01.f90
M flang/test/Semantics/bindings03.f90
M flang/test/Semantics/block-data01.f90
M flang/test/Semantics/boz-literal-constants.f90
M flang/test/Semantics/c7108.f90
M flang/test/Semantics/c_f_pointer.f90
M flang/test/Semantics/c_loc01.f90
M flang/test/Semantics/call01.f90
M flang/test/Semantics/call02.f90
M flang/test/Semantics/call03.f90
M flang/test/Semantics/call05.f90
M flang/test/Semantics/call07.f90
M flang/test/Semantics/call09.f90
M flang/test/Semantics/call10.f90
M flang/test/Semantics/call14.f90
M flang/test/Semantics/call24.f90
M flang/test/Semantics/call27.f90
M flang/test/Semantics/call30.f90
M flang/test/Semantics/call31.f90
M flang/test/Semantics/call33.f90
M flang/test/Semantics/call34.f90
M flang/test/Semantics/call35.f90
M flang/test/Semantics/call36.f90
M flang/test/Semantics/call37.f90
M flang/test/Semantics/call38.f90
M flang/test/Semantics/call41.f90
M flang/test/Semantics/call42.f90
M flang/test/Semantics/call43.f90
M flang/test/Semantics/call44.f90
M flang/test/Semantics/case01.f90
M flang/test/Semantics/common-blocks.f90
M flang/test/Semantics/contiguous01.f90
M flang/test/Semantics/cuf01.cuf
M flang/test/Semantics/cuf03.cuf
M flang/test/Semantics/cuf04.cuf
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/data06.f90
M flang/test/Semantics/data17.f90
M flang/test/Semantics/declarations04.f90
M flang/test/Semantics/declarations05.f90
M flang/test/Semantics/declarations07.f90
M flang/test/Semantics/deferred01.f90
M flang/test/Semantics/definable02.f90
M flang/test/Semantics/dim01.f90
M flang/test/Semantics/dosemantics02.f90
M flang/test/Semantics/dosemantics03.f90
M flang/test/Semantics/dosemantics12.f90
M flang/test/Semantics/expr-errors05.f90
M flang/test/Semantics/expr-errors06.f90
M flang/test/Semantics/final03.f90
M flang/test/Semantics/forall01.f90
M flang/test/Semantics/forall02.f90
M flang/test/Semantics/generic03.f90
M flang/test/Semantics/generic06.f90
M flang/test/Semantics/global01.f90
M flang/test/Semantics/ichar01.f90
M flang/test/Semantics/ignore_tkr01.f90
M flang/test/Semantics/int-literals.f90
M flang/test/Semantics/intrinsics02.f90
M flang/test/Semantics/kinds05b.f90
M flang/test/Semantics/label18.f90
M flang/test/Semantics/local-vs-global.f90
M flang/test/Semantics/long-name.f90
M flang/test/Semantics/modfile43.f90
M flang/test/Semantics/null-init.f90
M flang/test/Semantics/null01.f90
M flang/test/Semantics/pointer01.f90
M flang/test/Semantics/procinterface02.f90
M flang/test/Semantics/procinterface04.f90
M flang/test/Semantics/resolve05.f90
M flang/test/Semantics/resolve108.f90
M flang/test/Semantics/resolve11.f90
M flang/test/Semantics/resolve114.f90
M flang/test/Semantics/resolve118.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
M flang/test/Semantics/resolve20.f90
M flang/test/Semantics/resolve24.f90
M flang/test/Semantics/resolve30.f90
M flang/test/Semantics/resolve31.f90
M flang/test/Semantics/resolve35.f90
M flang/test/Semantics/resolve37.f90
M flang/test/Semantics/resolve45.f90
M flang/test/Semantics/resolve46.f90
M flang/test/Semantics/resolve58.f90
M flang/test/Semantics/resolve59.f90
M flang/test/Semantics/resolve60.f90
M flang/test/Semantics/resolve61.f90
M flang/test/Semantics/resolve65.f90
M flang/test/Semantics/resolve67.f90
M flang/test/Semantics/resolve69.f90
M flang/test/Semantics/resolve77.f90
M flang/test/Semantics/resolve78.f90
M flang/test/Semantics/resolve79.f90
M flang/test/Semantics/resolve80.f90
M flang/test/Semantics/resolve81.f90
M flang/test/Semantics/resolve82.f90
M flang/test/Semantics/resolve83.f90
M flang/test/Semantics/resolve85.f90
M flang/test/Semantics/resolve90.f90
M flang/test/Semantics/resolve99.f90
M flang/test/Semantics/separate-mp02.f90
M flang/test/Semantics/spec-expr.f90
M flang/test/Semantics/stmt-func01.f90
M flang/test/Semantics/stmt-func02.f90
M flang/test/Semantics/structconst03.f90
M flang/test/Semantics/structconst04.f90
M flang/test/Semantics/structconst08.f90
M flang/test/Semantics/structconst10.f90
M flang/test/Semantics/transfer01.f90
M flang/test/Semantics/undef-result01.f90
M flang/unittests/Common/FortranFeaturesTest.cpp
Log Message:
-----------
[flang][CLI] Have the CLI hint the flag to disable a warning (#144767)
Adds a hint to the warning message to disable a warning and updates the
tests to expect this.
Also fixes a bug in the storage of canonical spelling of error flags so
that they are not used after free.
Commit: dccc0266f423b60e6fc61ecdbac0cc91a99d28ed
https://github.com/llvm/llvm-project/commit/dccc0266f423b60e6fc61ecdbac0cc91a99d28ed
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M flang-rt/lib/runtime/descriptor-io.cpp
M flang/docs/Extensions.md
Log Message:
-----------
[flang][runtime] Allow INQUIRE(IOLENGTH=) in the presence of defined I/O (#144541)
When I/O list items include instances of derived types for which defined
I/O procedures exist, ignore them.
Fixes https://github.com/llvm/llvm-project/issues/144363.
Commit: 348002e1117b1ce523468b536ba47f126d0f2964
https://github.com/llvm/llvm-project/commit/348002e1117b1ce523468b536ba47f126d0f2964
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M flang/lib/Semantics/check-io.cpp
A flang/test/Semantics/bug144453.f90
Log Message:
-----------
[flang] Check definability for logical INQUIRE specifiers (#144797)
check-io.cpp was missing checks for the definability of logical-valued
specifiers in INQUIRE statements (e.g. EXIST=), and therefore also not
noting the definitions of those variables. This could lead to bogus
warnings about undefined function result variables, and also to missed
errors about immutable objects appearing in those specifiers.
Fixes https://github.com/llvm/llvm-project/issues/144453.
Commit: a93d843ab31ac66004d939396398b798b3d013d1
https://github.com/llvm/llvm-project/commit/a93d843ab31ac66004d939396398b798b3d013d1
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M flang/include/flang/Evaluate/complex.h
M flang/lib/Evaluate/fold-implementation.h
A flang/test/Semantics/bug1046.f90
Log Message:
-----------
[flang] Don't warn on (0.,0.)**(nonzero noninteger) (#145179)
Folding hands complex exponentiations with constant arguments off to the
native libm, and on a least on host, this can produce spurious warnings
about division by zero and invalid arguments. Handle the case of a zero
base specially to avoid that, and also emit better warnings for the
undefined 0.**0 and (0.,0.)**0 cases. And add a test for these warnings
and the existing related ones.
Commit: f3d57590bfae6a9f456f3f13ef0f78ac535f2529
https://github.com/llvm/llvm-project/commit/f3d57590bfae6a9f456f3f13ef0f78ac535f2529
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/test/Preprocessing/bug518.F
Log Message:
-----------
[flang] Skip over fixed form spaces when prescanning exponents & kind… (#145347)
… suffixes
When performing conditional tokenization of exponents and numeric kind
suffixes, be sure to skip over spaces in fixed form source.
Fixes https://github.com/llvm/llvm-project/issues/145333.
Commit: 407542b3ecbee9a5cff0a9dd2019d5dfeb783360
https://github.com/llvm/llvm-project/commit/407542b3ecbee9a5cff0a9dd2019d5dfeb783360
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/bug1056.f90
M flang/test/Semantics/symbol15.f90
A t.f90
Log Message:
-----------
[flang] Process pointer component default initializers sooner (#145601)
Name resolution defers the analysis of all object pointer initializers
to the end of a specification part, including the default initializers
of derived type data pointer components. This deferment allows object
pointer initializers to contain forward references to objects whose
declarations appear later.
However, this deferment has the unfortunate effect of causing NULL
default initialization of such object pointer components when they do
not appear in structure constructors that are used as default
initializers, and their default initializers are required. So handle
object pointer default initializers of components as they appear, as
before.
Commit: de7c2f29405ff08a91a34bc0f152cfa1cd0d9801
https://github.com/llvm/llvm-project/commit/de7c2f29405ff08a91a34bc0f152cfa1cd0d9801
Author: Steven Perron <stevenperron at google.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/AST/Type.cpp
Log Message:
-----------
[HLSL] Remove dead code in Type.cpp [NFC] (#146365)
In a case statement for Type::HLSLInlineSpirv, the first statment
returns, and the remaining statement are never executed. This removes
the dead code.
https://github.com/llvm/llvm-project/pull/134034/files/7d8e36944370bc50bd74ce6254f93649bc1f35a8#r2166484730
Commit: 790bc5bc724e301ae9bc2662107bc309e503b8f2
https://github.com/llvm/llvm-project/commit/790bc5bc724e301ae9bc2662107bc309e503b8f2
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
R t.f90
Log Message:
-----------
[flang][NFC] Remove inadvertently added source file (#146395)
I accidentally added "t.f90" to the top level of llvm-project.
Commit: 7a33b709b1e2bd3032593b259a741905dce874f8
https://github.com/llvm/llvm-project/commit/7a33b709b1e2bd3032593b259a741905dce874f8
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcstok.cpp
A libc/src/wchar/wcstok.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcstok_test.cpp
Log Message:
-----------
[libc] wcstok implementation (#145989)
Implemented wcstok and added tests
Commit: 6a83a84ac52a19d8207a053b6c4eeed2c146626f
https://github.com/llvm/llvm-project/commit/6a83a84ac52a19d8207a053b6c4eeed2c146626f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
Log Message:
-----------
[IR] Remove an unnecessary cast (NFC) (#146381)
C is already of unsigned char.
Commit: 0494f934345f105f01f01a111c1f9f529acd26f5
https://github.com/llvm/llvm-project/commit/0494f934345f105f01f01a111c1f9f529acd26f5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
Log Message:
-----------
[Basic] Drop const from a return type (NFC) (#146382)
We don't need const on a return type.
Commit: 36cf51d16e02d55217bc4698ca3eb2ecf61ab22c
https://github.com/llvm/llvm-project/commit/36cf51d16e02d55217bc4698ca3eb2ecf61ab22c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode] Classify variable initializer, not the decl (#146338)
I'm not attaching a test case because I wasn't able to reproduce. The
backtrace looks as follows:
```
frame #10: 0x00007fffdedf0b0d libclang-cpp.so.21.0git`clang::interp::Context::evaluateAsInitializer(this=0x00007c6f839f62f0, Parent=0x00007bff7f3820e0, VD=0x00007bff77ce24b0, Result=0x00007bff7165cd78) at Context.cpp:123:16
frame #11: 0x00007fffde7bcc2f libclang-cpp.so.21.0git`clang::Expr::EvaluateAsInitializer(this=0x00007bff77ce3078, Value=0x00007bff7165cd78, Ctx=0x00007e9f839f8200, VD=0x00007bff77ce24b0, Notes=0x00007bff7f0d1620, IsConstantInitialization=false) const at ExprConstant.cpp:17096:20
frame #12: 0x00007fffdde7ca84 libclang-cpp.so.21.0git`clang::VarDecl::evaluateValueImpl(this=0x00007bff77ce24b0, Notes=0x00007bff7f0d1620, IsConstantInitialization=false) const at Decl.cpp:2607:23
frame #13: 0x00007fffdde7a4a2 libclang-cpp.so.21.0git`clang::VarDecl::evaluateValue(this=0x00007bff77ce24b0) const at Decl.cpp:2583:10
frame #14: 0x00007fffdde7a0d7 libclang-cpp.so.21.0git`clang::VarDecl::hasInitWithSideEffects(this=0x00007bff77ce24b0) const at Decl.cpp:2458:39
frame #15: 0x00007fffe8c2e77b libclang-cpp.so.21.0git`clang::ASTDeclWriter::VisitVarDecl(this=0x00007bff7f381b50, D=0x00007bff77ce24b0) at ASTWriterDecl.cpp:1308:27
frame #16: 0x00007fffe8c58bf8 libclang-cpp.so.21.0git`clang::declvisitor::Base<std::add_pointer, clang::ASTDeclWriter, void>::Visit(this=0x00007bff7f381b50, D=0x00007bff77ce24b0) at DeclNodes.inc:296:1
frame #17: 0x00007fffe8c1ad7e libclang-cpp.so.21.0git`clang::ASTDeclWriter::Visit(this=0x00007bff7f381b50, D=0x00007bff77ce24b0) at ASTWriterDecl.cpp:460:31
frame #18: 0x00007fffe8c4f5ae libclang-cpp.so.21.0git`clang::ASTWriter::WriteDecl(this=0x00007e0f83dd8608, Context=0x00007e9f839f8200, D=0x00007bff77ce24b0) at ASTWriterDecl.cpp:3060:5
frame #19: 0x00007fffe8a908a7 libclang-cpp.so.21.0git`clang::ASTWriter::WriteDeclAndTypes(this=0x00007e0f83dd8608, Context=0x00007e9f839f8200) at ASTWriter.cpp:6243:9
frame #20: 0x00007fffe8a805f5 libclang-cpp.so.21.0git`clang::ASTWriter::WriteASTCore(this=0x00007e0f83dd8608, SemaPtr=0x00007e8f83cd3200, isysroot=(Data = "", Length = 0), WritingModule=0x00007e0f83d5bc18) at ASTWriter.cpp:6083:5
frame #21: 0x00007fffe8a7cfa2 libclang-cpp.so.21.0git`clang::ASTWriter::WriteAST(this=0x00007e0f83dd8608, Subject=PointerUnion<clang::Sema *, clang::Preprocessor *> @ 0x00007bff7f18e640, OutputFile=(Data = "/home/tbaeder/code/llvm-project/build/runtimes/runtimes-bins/libcxx/test/libcxx/clang_modules_include.gen.py/Output/complex.h.compile.pass.cpp.dir/t.tmp/1WNKSCAH8NSAM/std-PE20VSNDCJ1A.pcm", Length = 187), WritingModule=0x00007e0f83d5bc18, isysroot=(Data = "", Length = 0), ShouldCacheASTInMemory=true) at ASTWriter.cpp:5434:32
frame #22: 0x00007fffe8cd2168 libclang-cpp.so.21.0git`clang::PCHGenerator::HandleTranslationUnit(this=0x00007e0f83dd8500, Ctx=0x00007e9f839f8200) at GeneratePCH.cpp:86:30
frame #23: 0x00007fffe9595e11 libclang-cpp.so.21.0git`clang::MultiplexConsumer::HandleTranslationUnit(this=0x00007c5f83a00300, Ctx=0x00007e9f839f8200) at MultiplexConsumer.cpp:339:15
frame #24: 0x00007fffdc94121d libclang-cpp.so.21.0git`clang::ParseAST(S=0x00007e8f83cd3200, PrintStats=false, SkipFunctionBodies=false) at ParseAST.cpp:183:13
frame #25: 0x00007fffe9480085 libclang-cpp.so.21.0git`clang::ASTFrontendAction::ExecuteAction(this=0x00007bff7efb9020) at FrontendAction.cpp:1339:3
frame #26: 0x00007fffe947e650 libclang-cpp.so.21.0git`clang::FrontendAction::Execute(this=0x00007bff7efb9020) at FrontendAction.cpp:1221:3
frame #27: 0x00007fffe915a163 libclang-cpp.so.21.0git`clang::CompilerInstance::ExecuteAction(this=0x00007d2f839ef000, Act=0x00007bff7efb9020) at CompilerInstance.cpp:1055:33
frame #28: 0x00007fffe9175bbf libclang-cpp.so.21.0git`clang::CompilerInstance::compileModule(clang::SourceLocation, llvm::StringRef, llvm::StringRef, clang::CompilerInstance&)::$_0::operator()(this=0x00007bff805225e0) const at CompilerInstance.cpp:1291:18
[...]
frame #39: 0x00007fffa3ab2a35 libLLVM.so.21.0git`void* llvm::thread::ThreadProxy<std::tuple<void (*)(void*), (anonymous namespace)::RunSafelyOnThreadInfo*>>(Ptr=0x00007c1f839e4330) at thread.h:58:5
frame #40: 0x000000000039933b clang++`asan_thread_start(void*) + 155
frame #41: 0x00007fff84a7dfa8 libc.so.6`start_thread + 952
frame #42: 0x00007fff84b01fcc libc.so.6`__clone3 + 44
```
where we encounter this declaration:
```
VarDecl 0x7bff790764b0 </[...]test-suite-install/include/c++/v1/__condition_variable/condition_variable.h:49:3, col:53> col:8 in std.condition_variable.condition_variable hidden referenced __result_max '_Rep' cinit `-CallExpr 0x7bff79077078 <col:23, col:53> 'type':'long long'
`-ImplicitCastExpr 0x7bff79077058 <col:23, col:49> 'type (*)() noexcept' <FunctionToPointerDecay>
`-DeclRefExpr 0x7bff79076670 <col:23, col:49> 'type () noexcept' lvalue CXXMethod 0x7bff791df1f8 'max' 'type () noexcept'
`-NestedNameSpecifier TypeSpec 'numeric_limits<__ns_rep>':'std::numeric_limits<long long>'
```
which looks fine at first, but the declaration type does not:
```
TemplateTypeParmType 0x7bff79074dd0 '_Rep' dependent depth 0 index 0 `-TemplateTypeParm 0x7bff79074d70 '_Rep'
```
we cannot classify this, so we later run into an assertion because we
assume `PT_Ptr` while the value on the stack is of type `classify(long
long)`.
Work around this by only looking at the initializer type in that case.
For the record, the command line that crashed could be extracted from
`ninja check-cxx` and was:
```
/home/tbaeder/code/llvm-project/build/bin/clang++ /home/tbaeder/code/llvm-project/build/runtimes/runtimes-bins/libcxx/test/libcxx/clang_modules_include.gen.py/complex.h.compile.pass.cpp -pthread --target=x86_64-redhat-linux -nostdinc++ -I /home/tbaeder/code/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/x86_64-redhat-linux/c++/v1 -I /home/tbaeder/code/llvm-project/build/runtimes/runtimes-bins/libcxx/test-suite-install/include/c++/v1 -I /home/tbaeder/code/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wshift-negative-value -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter
-Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -Wno-nullability-completeness -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -Werror=thread-safety -Wuser-defined-warnings -fmodules -fcxx-modules -fmodules-cache-path=/home/tbaeder/code/llvm-project/build/runtimes/runtimes-bins/libcxx/test/libcxx/clang_modules_include.gen.py/Output/complex.h.compile.pass.cpp.dir/t.tmp -fsyntax-only
```
Commit: 01d0171e7a955deff032bed3ac1b7e51d98ce4a9
https://github.com/llvm/llvm-project/commit/01d0171e7a955deff032bed3ac1b7e51d98ce4a9
Author: Eric Fiselier <eric at efcs.ca>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M libcxx/test/std/thread/futures/futures.async/wait_on_destruct.pass.cpp
Log Message:
-----------
Address formatting mistake in libc++ test
Commit: b2b20eeb5412d4bbf0ef9451a2ba4cab15e67727
https://github.com/llvm/llvm-project/commit/b2b20eeb5412d4bbf0ef9451a2ba4cab15e67727
Author: Justin King <jcking at google.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_malloc_mac.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/free_aligned_sized.c
M compiler-rt/test/sanitizer_common/TestCases/Linux/free_sized.c
Log Message:
-----------
tsan: Support free_sized and free_aligned_sized from C23 (#144531)
Adds support to TSan for `free_sized` and `free_aligned_sized` from C23.
Other sanitizers will be handled with their own separate PRs.
For https://github.com/llvm/llvm-project/issues/144435
Signed-off-by: Justin King <jcking at google.com>
Commit: 2d825cc3af4ec86264d2248d230d7f4afb69fc64
https://github.com/llvm/llvm-project/commit/2d825cc3af4ec86264d2248d230d7f4afb69fc64
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M flang/test/Semantics/bug1046.f90
Log Message:
-----------
[flang] Add new hints to expected warnings (#146399)
I added a new test with warnings, but warnings are now emitted with
hints. Add them to the new test.
Commit: 125dbe103e4fdff8b23bfb4b76ad960f0069f63e
https://github.com/llvm/llvm-project/commit/125dbe103e4fdff8b23bfb4b76ad960f0069f63e
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/update.c
Log Message:
-----------
[OpenACC][CIR] 'update' construct lowering + a few clauses (#146378)
The 'update' construct has 3 'var-list' clauses, device, self, and host.
Each has a pretty simple data-operand type syntax in the IR, so this
patch implements them as well. At least one of those is required to be
present on an 'update', so we cannot do any lowering without them.
Note that 'self' and 'host' are aliases.
Commit: 5548f4d5ef6ab7192fe454a497af6f2cfe403339
https://github.com/llvm/llvm-project/commit/5548f4d5ef6ab7192fe454a497af6f2cfe403339
Author: Vy Nguyen <vyng at google.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M lldb/source/Core/Telemetry.cpp
Log Message:
-----------
[LLDB][NFC] Refactor code extracting timestamp from StructuredData (#145954)
Co-authored-by: Alex Langford <nirvashtzero at gmail.com>
Commit: 536ba87726d8dea862d964678dbb761ca32e21fb
https://github.com/llvm/llvm-project/commit/536ba87726d8dea862d964678dbb761ca32e21fb
Author: Ye Luo <yeluo at anl.gov>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
A offload/test/offloading/disable_default_device.c
Log Message:
-----------
[libomptarget] Add a test for OMP_TARGET_OFFLOAD=disabled (#146385)
closes https://github.com/llvm/llvm-project/issues/144786
Commit: 233078fd8d70fe742eb48cc5988d83685229e544
https://github.com/llvm/llvm-project/commit/233078fd8d70fe742eb48cc5988d83685229e544
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M compiler-rt/lib/asan/asan_new_delete.cpp
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
Log Message:
-----------
[nfc][asan] clang-format for #145087
Commit: ba84d0c8d762f093c6ef6d5ef5a446a42a8548a5
https://github.com/llvm/llvm-project/commit/ba84d0c8d762f093c6ef6d5ef5a446a42a8548a5
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang-tools-extra/test/clang-doc/json/class.cpp
Log Message:
-----------
[clang-doc] Precommit friends test (#146164)
Commit: 6a57af8d0367eb22e3da9fc0957d74cb2f61c45c
https://github.com/llvm/llvm-project/commit/6a57af8d0367eb22e3da9fc0957d74cb2f61c45c
Author: Dimitrije Dobrota <mail at dimitrijedobrota.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/missing-std-forward.rst
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward-custom-function.cpp
Log Message:
-----------
[clang-tidy] Add flag to specify an alternative to std::forward (#138755)
Since std::forward is nothing more than a cast, part of STL and not the
language itself, it's easy to provide a custom implementation if one
wishes not to include the entirety of <utility>.
Added flag (ForwardFunction) provides a way to continue using this
essential check even with the custom implementation of forwarding.
---------
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: 878d3594ed74cd1153bc5cba2cb7a449702cdf34
https://github.com/llvm/llvm-project/commit/878d3594ed74cd1153bc5cba2cb7a449702cdf34
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/Arith.h
M mlir/include/mlir/Dialect/Vector/IR/Vector.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeVectorStorage.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_affine_apply.mlir
M mlir/test/Dialect/ArmSVE/legalize-transfer-read.mlir
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
Log Message:
-----------
[mlir][vector] Avoid setting padding by default to `0` in `vector.transfer_read` prefer `ub.poison` (#146088)
Context:
`vector.transfer_read` always requires a padding value. Most of its
builders take no `padding` value and assume the safe value of `0`.
However, this should be a conscious choice by the API user, as it makes
it easy to introduce bugs.
For example, I found several occasions while making this patch that the
padding value was not getting propagated (`vector.transfer_read` was
transformed into another `vector.transfer_read`). These bugs, were
always caused because of constructors that don't require specifying
padding.
Additionally, using `ub.poison` as a possible default value is better,
as it indicates the user "doesn't care" about the actual padding value,
forcing users to specify the actual padding semantics they want.
With that in mind, this patch changes the builders in
`vector.transfer_read` to always having a `std::optional<Value> padding`
argument. This argument is never optional, but for convenience users can
pass `std::nullopt`, padding the transfer read with `ub.poison`.
---------
Signed-off-by: Fabian Mora <fabian.mora-cordero at amd.com>
Commit: 46628718c05abefe23cf6aa5024e4555693565d8
https://github.com/llvm/llvm-project/commit/46628718c05abefe23cf6aa5024e4555693565d8
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/ProfDataUtils.h
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/value-profile.ll
Log Message:
-----------
[IR][PGO] Verify the structure of `VP` metadata. (#145584)
Commit: 5f91b697bcd8f3a89e64fb62da6f4302d1b50cb5
https://github.com/llvm/llvm-project/commit/5f91b697bcd8f3a89e64fb62da6f4302d1b50cb5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[MLIR] Always emit setPropertiesFromParsedAttr() when hasCustomAssemblyFormat is set (#145973)
This allows people writing custom C++ assembly functions to reuse the
"prop-dict" parser.
Fix #145028
Commit: 0f291e5787a593a06f2e19a003ece7255f4957b4
https://github.com/llvm/llvm-project/commit/0f291e5787a593a06f2e19a003ece7255f4957b4
Author: Dimitrije Dobrota <mail at dimitrijedobrota.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/rvalue-reference-param-not-moved.rst
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/rvalue-reference-param-not-moved-custom-function.cpp
Log Message:
-----------
[clang-tidy] Add flag to specify an alternative to std::move in cppcoreguidelines-rvalue-reference-param-not-moved (#138757)
Since std::move is nothing more than a cast, part of STL and not the
language itself, it's easy to provide a custom implementation if one
wishes not to include the entirety of <utility>.
Added flag (MoveFunction) provides a way to continue using this
essential check even with the custom implementation of moving.
---------
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: 90da61634a4accc9869b4e1cb1ac3736158c33e6
https://github.com/llvm/llvm-project/commit/90da61634a4accc9869b4e1cb1ac3736158c33e6
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
A flang/test/Transforms/tbaa-for-local-vars.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
Log Message:
-----------
[flang] Use outermost fir.dummy_scope for TBAA of local allocations. (#146006)
This change only matters when MLIR function inlining kicks in,
and I am still just experimenting with this.
The added LIT test shows the particular example where the current
TBAA assignment is incorrect:
```
subroutine bar(this)
...
end subroutine bar
function foo() result(res)
type(t) :: res
call bar(res)
end function foo
subroutine test(arg)
! %0 = fir.alloca !fir.type<_QMmTt{x:f32}> {bindc_name = ".result"}
type(t) :: var
var = foo()
! fir.save_result foo's result to %0 (temp-alloca)
! fir.declare %0 {uniq_name = ".tmp.func_result"}
! load from %0 -> store into var
arg = var%x
end subroutine test
```
One way for FIR inlining to handle `foo()` call is to substitute
all uses of the `res` alloca (inside `foo`) with uses of the temp-alloca
(inside `test`). This means that the temp-alloca is then used
by the code inside bar (e.g. to store something into it).
After the inlining, the innermost dominating fir.dummy_scope
for `fir.declare %0` is the one from `bar`. If we use this scope
for assigning TBAA to the load from temp-alloca, then it will be
in the same TBAA tree as the stores into `this` inside `bar`.
The load and the stores will have different sub-trees, because
`this` is a dummy argument, and temp-alloca is a local allocation.
So they will appear as non-conflicting while they are accessing
the same memory.
This change makes sure that all local allocations always
use the outermost scope.
Commit: 96b9b2e21de466490ba733a23e8bb6cbd39ad58c
https://github.com/llvm/llvm-project/commit/96b9b2e21de466490ba733a23e8bb6cbd39ad58c
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/warn-format-overflow-truncation.c
Log Message:
-----------
[Clang] Fix '-Wformat-overflow' FP when floats had field-width and plus prefix (#144274)
If field width is specified, the sign/space is already accounted for
within the field width, so no additional size is needed.
Fixes https://github.com/llvm/llvm-project/issues/143951.
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: a68e4470c16b4d45f78b6f69f59013c89bdf7ec2
https://github.com/llvm/llvm-project/commit/a68e4470c16b4d45f78b6f69f59013c89bdf7ec2
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.h
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/clang-doc/JSONGenerator.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/Serialize.cpp
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
Log Message:
-----------
[clang-doc] serialize friends (#146165)
Parse friends into a new FriendInfo and serialize them in JSON. We keep track of the friend declaration's template and function information if applicable.
Commit: 93849a39c432827473ca6c676f1500da69b3aaa0
https://github.com/llvm/llvm-project/commit/93849a39c432827473ca6c676f1500da69b3aaa0
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/resolve55.f90
Log Message:
-----------
[flang] Check for ultimate ALLOCATABLE component in LOCAL_INIT() (#145800)
Fortran 2023 constraint C1130 disallows variables of derived type with
ultimate allocatable component to appear in LOCAL_INIT().
Commit: 163a7e1b4fad52c69a546a0eff05d401dc00a076
https://github.com/llvm/llvm-project/commit/163a7e1b4fad52c69a546a0eff05d401dc00a076
Author: Robert Konicar <rkonicar at mail.muni.cz>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
Log Message:
-----------
[mlir][LLVMIR][NFC] Remove duplicate getUnnamedAddrAttrName uses in op printers (#146090)
Fix `UnnamedAddrAttrName` being inserted twice into the `elidedAttrs`
list for the attribute dictionary printer in `GlobalOp` and `AliasOp`
print functions.
Commit: 4bf0c6b5f8e20cd27dc598899e715656ea133cf6
https://github.com/llvm/llvm-project/commit/4bf0c6b5f8e20cd27dc598899e715656ea133cf6
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
A utils/bazel/llvm-project-overlay/libc/test/src/wchar/BUILD.bazel
Log Message:
-----------
[libc][bazel] Added wchar functions to bazel (#146126)
Added wchar functions, apart from ones that use mbstate_t. to the bazel
files
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 4c7d3e9315a55fa8ffe96436fda83c392be242b2
https://github.com/llvm/llvm-project/commit/4c7d3e9315a55fa8ffe96436fda83c392be242b2
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/include/clang/Tooling/Transformer/Transformer.h
M llvm/include/llvm/ADT/STLForwardCompat.h
M llvm/unittests/ADT/STLForwardCompatTest.cpp
Log Message:
-----------
[STLForwardCompat] Implement llvm::type_identity (#146390)
A basic implementation until we get it in `std` in C++20.
Commit: 81c9a1a4e51061bbf390185a1c642d66036d296b
https://github.com/llvm/llvm-project/commit/81c9a1a4e51061bbf390185a1c642d66036d296b
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M libc/src/wchar/wcpncpy.h
M libc/src/wchar/wcsspn.h
Log Message:
-----------
[libc][obvious] Fixed typos in some wchar headers (#146413)
Some of the wchar headers had typos in them.
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: f205e354ae3e002158060c830778d8c5409a9984
https://github.com/llvm/llvm-project/commit/f205e354ae3e002158060c830778d8c5409a9984
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Upstream GenericSelectionExpr for ComplexType (#146265)
Upstream the GenericSelectionExpr for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: 026aae7047994300b0631f58c4bfe4d9febd56cd
https://github.com/llvm/llvm-project/commit/026aae7047994300b0631f58c4bfe4d9febd56cd
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
Log Message:
-----------
[VPlan] Infer reduction result types w/o accessing underlying phis.(NFC)
Remove another use of the underlying IR phi.
Commit: dcf8ec9218635e15dfee8528c556d3c6c1d6151d
https://github.com/llvm/llvm-project/commit/dcf8ec9218635e15dfee8528c556d3c6c1d6151d
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/Analysis/InlineAdvisor.h
M llvm/include/llvm/Analysis/InlineModelFeatureMaps.h
M llvm/include/llvm/Analysis/MLInlineAdvisor.h
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Analysis/InlineAdvisor.cpp
M llvm/lib/Analysis/MLInlineAdvisor.cpp
M llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
Log Message:
-----------
Reland "[MLGO][IR2Vec] Integrating IR2Vec with MLInliner (#143479)" (#145664)
Relanding #143479 after fixes.
Removed `NumberOfFeatures` from the `FeatureIndex` enum as the number of features used depends on whether IR2Vec embeddings are used.
Commit: eb904e857af19abc2ea32ea3be455d96af6902f1
https://github.com/llvm/llvm-project/commit/eb904e857af19abc2ea32ea3be455d96af6902f1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M lldb/docs/use/mcp.md
Log Message:
-----------
[lldb] Fix link syntax in docs/use/mcp.md
Commit: 56ef00a59d7ebc7eb38965a879275524dd42c0b2
https://github.com/llvm/llvm-project/commit/56ef00a59d7ebc7eb38965a879275524dd42c0b2
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
M llvm/test/CodeGen/X86/isel-fabs-x87.ll
Log Message:
-----------
[X86][GlobalISel] Fix RegBank issue for G_FABS (#145674)
Fixes hidden issue in https://github.com/llvm/llvm-project/pull/136718.
It removes custom selection code since problem was in RegBank
assignment
Commit: 0745eb501df34981ba56ce5827b0191d7a493544
https://github.com/llvm/llvm-project/commit/0745eb501df34981ba56ce5827b0191d7a493544
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/docs/MLGO.rst
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/lib/Analysis/models/seedEmbeddingVocab75D.json
M llvm/lib/Passes/PassRegistry.def
A llvm/test/Analysis/IR2Vec/Inputs/dummy_2D_vocab.json
M llvm/test/Analysis/IR2Vec/Inputs/dummy_3D_vocab.json
M llvm/test/Analysis/IR2Vec/Inputs/dummy_5D_vocab.json
A llvm/test/Analysis/IR2Vec/Inputs/incorrect_vocab1.json
A llvm/test/Analysis/IR2Vec/Inputs/incorrect_vocab2.json
A llvm/test/Analysis/IR2Vec/Inputs/incorrect_vocab3.json
A llvm/test/Analysis/IR2Vec/Inputs/incorrect_vocab4.json
M llvm/test/Analysis/IR2Vec/basic.ll
A llvm/test/Analysis/IR2Vec/dbg-inst.ll
A llvm/test/Analysis/IR2Vec/unreachable.ll
A llvm/test/Analysis/IR2Vec/vocab-test.ll
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[IR2Vec] Scale embeddings once in vocab analysis instead of repetitive scaling (#143986)
Changes to scale opcodes, types and args once in `IR2VecVocabAnalysis` so that we can avoid scaling each time while computing embeddings. This PR refactors the vocabulary to explicitly define 3 sections---Opcodes, Types, and Arguments---used for computing Embeddings.
(Tracking issue - #141817 ; partly fixes - #141832)
Commit: 56739f58665342ce86dc7f7dd82f8c743c450732
https://github.com/llvm/llvm-project/commit/56739f58665342ce86dc7f7dd82f8c743c450732
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Analysis/IR2Vec.cpp
Log Message:
-----------
[Analysis] Fix a warning
This patch fixes:
llvm/lib/Analysis/IR2Vec.cpp:296:2: error: extra ';' outside of a
function is incompatible with C++98
[-Werror,-Wc++98-compat-extra-semi]
Commit: f4cecfe1bbddd616bea337d5a43f360431ff682f
https://github.com/llvm/llvm-project/commit/f4cecfe1bbddd616bea337d5a43f360431ff682f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/test/Fir/CUDA/cuda-device-global.f90
Log Message:
-----------
[flang][cuda] Bring PARAMETER arrays into the GPU module (#146416)
Commit: 0d1392e979ba113304211832265613b81e21dc89
https://github.com/llvm/llvm-project/commit/0d1392e979ba113304211832265613b81e21dc89
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.h
A llvm/test/CodeGen/AArch64/machine-outliner-loh.ll
A llvm/test/CodeGen/AArch64/machine-outliner-loh.mir
Log Message:
-----------
[MachineOutliner] Remove LOHs from outlined candidates (#143617)
Remove Linker Optimization Hints (LOHs) from outlining candidates
instead of simply preventing outlining if LOH labels are found in the
candidate. This will improve the effectiveness of the machine outliner
when LOHs are enabled (which is the default).
In
https://discourse.llvm.org/t/loh-conflicting-with-machineoutliner/83279/1
it was observed that the machine outliner is much more effective when
LOHs are disabled. Rather than completely disabling LOH, this PR aims to
keep LOH in most places and removing them from outlined functions where
it could be illegal. Note that we are conservatively removing all LOHs
from outlined functions for simplicity, but I believe we could retain
LOHs that are in the intersection of all candidates.
It should be ok to remove these LOHs since these blocks are being
outlined anyway, which will harm performance much more than the gain
from keeping the LOHs.
Commit: 1eb795413df3c38b688d42d6595a8e1503f6d139
https://github.com/llvm/llvm-project/commit/1eb795413df3c38b688d42d6595a8e1503f6d139
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/IOHandler.h
M lldb/include/lldb/Host/Editline.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/IOHandler.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/Host/common/Editline.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
Log Message:
-----------
[lldb] Correctly restore the cursor column after resizing the statusline (#146132)
This PR ensures we correctly restore the cursor column after resizing
the statusline. To ensure we have space for the statusline, we have to
emit a newline to move up everything on screen. The newline causes the
cursor to move to the start of the next line, which needs to be undone.
Normally, we would use escape codes to save & restore the cursor
position, but that doesn't work here, as the cursor position may have
(purposely) changed. Instead, we move the cursor up one line using an
escape code, but we weren't restoring the column.
Interestingly, Editline was able to recover from this issue through the
LineInfo struct which contains the buffer and the cursor location, which
allows us to compute the column. This PR addresses the bug by having
Editline "refresh" the cursor position.
Fixes #134064
Commit: d599bdeaa49d7a2b1246328630328d23ddda5a47
https://github.com/llvm/llvm-project/commit/d599bdeaa49d7a2b1246328630328d23ddda5a47
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.gfx90a.ll
Log Message:
-----------
[AMDGPU] Autogen checks for test (#146421)
Needed for upcoming PR for RA priorities
Commit: 59a7185dd9d69cbf737a98f5c2d1cf3d456bee03
https://github.com/llvm/llvm-project/commit/59a7185dd9d69cbf737a98f5c2d1cf3d456bee03
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
Log Message:
-----------
[VPlan] Truncate/Extend ComputeReductionResult at construction (NFC). (#141860)
Instead of looking up the narrower reduction type via getRecurrenceType
we can generate the needed extend directly at constructiond re-use the
truncated value from the loop.
PR: https://github.com/llvm/llvm-project/pull/141860
Commit: 6896d8a05dabe2e0bb96ef8ab761e3837d524738
https://github.com/llvm/llvm-project/commit/6896d8a05dabe2e0bb96ef8ab761e3837d524738
Author: realqhc <caiqihan021 at hotmail.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/rv32p-invalid.s
M llvm/test/MC/RISCV/rv32p-valid.s
A llvm/test/MC/RISCV/rv64p-invalid.s
M llvm/test/MC/RISCV/rv64p-valid.s
Log Message:
-----------
[RISCV][MC] Support Base P non-GPR pair instructions (#137927)
Commit: f16983f7d0f827fbd131606b04880734ca325ca6
https://github.com/llvm/llvm-project/commit/f16983f7d0f827fbd131606b04880734ca325ca6
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
A flang/test/Fir/OpenACC/openacc-type-categories-class.f90
M flang/test/lib/OpenACC/TestOpenACCInterfaces.cpp
Log Message:
-----------
[flang][acc] Ensure fir.class is handled in type categorization (#146174)
fir.class is treated similarly as fir.box - but it has one key
distinction which is that it doesn't hold an element type. Thus the
categorization logic was mishandling this case for this reason (and also
the fact that it assumed that a base object is always a fir.ref).
This PR improves this handling and adds appropriate test exercising both
a class and a class field to ensure categorization works.
Commit: ff4faaa660e1e9e844f8d6d15f55d810411d9642
https://github.com/llvm/llvm-project/commit/ff4faaa660e1e9e844f8d6d15f55d810411d9642
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M mlir/examples/toy/Ch2/include/toy/Ops.td
M mlir/examples/toy/Ch3/include/toy/Ops.td
M mlir/examples/toy/Ch4/include/toy/Ops.td
M mlir/examples/toy/Ch5/include/toy/Ops.td
M mlir/examples/toy/Ch6/include/toy/Ops.td
M mlir/examples/toy/Ch7/include/toy/Ops.td
Log Message:
-----------
[mlir][examples] Fix deprecation warnings for `ArrayRef(std::nullopt)` (#146420)
This used to print:
```
llvm-project/mlir/include/mlir/IR/ValueRange.h:401:20: warning: 'ArrayRef' is deprecated: Use {} or ArrayRef<T>() instead [-Wdeprecated-declarations]
401 | : ValueRange(ArrayRef<Value>(std::forward<Arg>(arg))) {}
| ^~~~~~~~
| {}
build/tools/mlir/examples/toy/Ch7/include/toy/Ops.cpp.inc:2221:30: note: in instantiation of function template specialization 'mlir::ValueRange::ValueRange<const std::nullopt_t &, void>' requested here
2221 | build(odsBuilder, odsState, std::nullopt);
| ^
llvm-project/llvm/include/llvm/ADT/ArrayRef.h:70:18: note: 'ArrayRef' has been explicitly marked deprecated here
70 | /*implicit*/ LLVM_DEPRECATED("Use {} or ArrayRef<T>() instead", "{}")
| ^
llvm-project/llvm/include/llvm/Support/Compiler.h:249:50: note: expanded from macro 'LLVM_DEPRECATED'
249 | #define LLVM_DEPRECATED(MSG, FIX) __attribute__((deprecated(MSG, FIX)))
```
Commit: 92b50959da32c23531a0138f51db97235925376e
https://github.com/llvm/llvm-project/commit/92b50959da32c23531a0138f51db97235925376e
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Capitalize `to` in `UseFnTableInDecodetoMCInst`. (#146419)
Commit: 12409a18f609f965fbd40aba77a0b50dcdba147f
https://github.com/llvm/llvm-project/commit/12409a18f609f965fbd40aba77a0b50dcdba147f
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILCBufferAccess.cpp
A llvm/test/CodeGen/DirectX/CBufferAccess/memcpy.ll
Log Message:
-----------
[DirectX] Implement `memcpy` in DXIL CBuffer Access pass (#144436)
Fixes #141840
This PR implements support for the `memcpy` intrinsic in the DXIL
CBuffer Access pass with the following restrictions:
- The CBuffer Access must be the `src` operand of `memcpy` and must be
direct (i.e., not a GEP)
- The type of the CBuffer Access must be of an Array Type
These restrictions greatly simplify the implementation of `memcpy` yet
still covers the known uses in DML shaders.
Furthermore, to prevent errors like #141840 from occurring silently
again, this PR adds error reporting for unsupported users of globals in
the DXIL CBuffer Access pass.
Commit: d2500e639b641b0cfdd1564cc6ff4705b118f10c
https://github.com/llvm/llvm-project/commit/d2500e639b641b0cfdd1564cc6ff4705b118f10c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/ProfDataUtils.h
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/Verifier/branch-weight.ll
Log Message:
-----------
[pgo] add means to specify "unknown" MD_prof (#145578)
This PR is part of https://discourse.llvm.org/t/rfc-profile-information-propagation-unittesting/73595
In a slight departure from the RFC, instead of a brand-new `MD_prof_unknown` kind, this adds a first operand to `MD_prof` metadata. This makes it easy to replace with valid metadata (only one `MD_prof`), otherwise sites inserting valid `MD_prof` would also have to check to remove the `unknown` one.
The patch just introduces the notion and fixes the verifier accordingly. Existing APIs working (esp. reading) `MD_prof` will be updated subsequently.
Commit: a3c816542147b175f6006b6a74364727e6cb3d96
https://github.com/llvm/llvm-project/commit/a3c816542147b175f6006b6a74364727e6cb3d96
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M flang/test/lib/OpenACC/CMakeLists.txt
Log Message:
-----------
[flang][acc] Fix dialect dependencies (#146431)
The TestOpenACCInterfaces test loads dialects including HLFIR and DLTI
(for data layout). The appropriate dependencies were missing leading to
link failures:
TestOpenACCInterfaces.cpp:(.text._ZNK12_GLOBAL__N_124TestFIROpenACCInterfaces20getDependentDialectsERN4mlir15DialectRegistryE+0x66):
undefined reference to
`mlir::detail::TypeIDResolver<hlfir::hlfirDialect, void>::id'
TestOpenACCInterfaces.cpp:(.text._ZNK12_GLOBAL__N_124TestFIROpenACCInterfaces20getDependentDialectsERN4mlir15DialectRegistryE+0x141):
undefined reference to `mlir::detail::TypeIDResolver<mlir::DLTIDialect,
void>::id'
Commit: ad7d6759913b08c3c29e445ebf3dba65a7b2e7ae
https://github.com/llvm/llvm-project/commit/ad7d6759913b08c3c29e445ebf3dba65a7b2e7ae
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Refactor mapCodeSections(). NFC (#146434)
Factor out non-relocation specific code into a separate function.
Commit: 8d9cdb65f090b7bc572cafd8979270fca853aefd
https://github.com/llvm/llvm-project/commit/8d9cdb65f090b7bc572cafd8979270fca853aefd
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/Basic/Targets/LoongArch.h
M clang/test/CodeGen/LoongArch/bitint.c
M clang/test/CodeGen/ext-int-cc.c
Log Message:
-----------
[Clang][LoongArch] Fixed incorrect _BitInt(N>64) alignment (#145297)
This patch makes determining alignment and width of BitInt to be target
ABI specific and makes it consistent with [Procedure Call Standard for
the LoongArch™ Architecture] for LoongArch target
(https://github.com/loongson/la-abi-specs/blob/release/lapcs.adoc).
Commit: a4f637d988bd495ff27634e1ab02f7156b01bd16
https://github.com/llvm/llvm-project/commit/a4f637d988bd495ff27634e1ab02f7156b01bd16
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
Log Message:
-----------
[MLGO] Fix feature iteration using FeatureMap.size() instead of NumberOfFeatures (#146436)
Due to the changes made in #143479, size of `FeatureMap` reflects the number of features used. Hence replacing `NumberOfFeatures` with `FeatureMap.size()` in the `DevelopmentModeInlineAdvisor`.
Commit: 70db191efa47af001b0116b4d7e7132cf85505ec
https://github.com/llvm/llvm-project/commit/70db191efa47af001b0116b4d7e7132cf85505ec
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/vrgatherei16.ll
M llvm/test/CodeGen/RISCV/rvv/vslidedown.ll
M llvm/test/CodeGen/RISCV/rvv/vslideup.ll
Log Message:
-----------
[RISCV] Add LLVM IR intrinsicis vrgatherei16/vslideup/vslidedown support for Zvfbfmin (#146312)
This patch add LLVM IR intrinsicis vrgatherei16/vslideup/vslidedown
support for Zvfbfmin.
Commit: 6620db50fef7203e0249f2180216e1f6d1836ea7
https://github.com/llvm/llvm-project/commit/6620db50fef7203e0249f2180216e1f6d1836ea7
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/docs/MLGO.rst
Log Message:
-----------
[NFC][MLGO] Fix indentation in MLGO.rst (#146444)
Commit: 6323541a2a56c5632fc3075873fb720e6da1da5c
https://github.com/llvm/llvm-project/commit/6323541a2a56c5632fc3075873fb720e6da1da5c
Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M lld/ELF/Arch/X86_64.cpp
Log Message:
-----------
[LLD][ELF] Skip non-SHF_ALLOC sections when checking max VA and max VA difference in relaxOnce() (#145863)
For non-SHF_ALLOC sections, sh_addr is set to 0.
Skip sections without SHF_ALLOC flag, so `minVA` will not be set to 0
with non-SHF_ALLOC sections, and the size of non-SHF_ALLOC sections will
not contribute to `maxVA`.
Commit: 24c4bba076b5cd453d53e58aa9ca41b1a78526d8
https://github.com/llvm/llvm-project/commit/24c4bba076b5cd453d53e58aa9ca41b1a78526d8
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Quick fix for #145584 (Core deps ProfileData/InstrProf.h)
Commit: 9438048816892229445b4db352fceb487a83e7f2
https://github.com/llvm/llvm-project/commit/9438048816892229445b4db352fceb487a83e7f2
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/docs/MLGO.rst
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[IR2Vec] Simplifying creation of Embedder (#143999)
This change simplifies the API by removing the error handling complexity.
- Changed `Embedder::create()` to return `std::unique_ptr<Embedder>` directly instead of `Expected<std::unique_ptr<Embedder>>`
- Updated documentation and tests to reflect the new API
- Added death test for invalid IR2Vec kind in debug mode
- In release mode, simply returns nullptr for invalid kinds instead of creating an error
(Tracking issue - #141817)
Commit: a2dc64cd0332e9fad4821f5b80b10061459e787c
https://github.com/llvm/llvm-project/commit/a2dc64cd0332e9fad4821f5b80b10061459e787c
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/docs/MLGO.rst
Log Message:
-----------
[NFC][MLGO] Convert notes to proper RST note directives in MLGO.rst (#146450)
Commit: 8cf3b989a933fd712fc8fe50b8e0b76684dacde7
https://github.com/llvm/llvm-project/commit/8cf3b989a933fd712fc8fe50b8e0b76684dacde7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
Log Message:
-----------
[Analysis] Fix a warning
This patch fixes:
llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp:132:12:
error: moving a local object in a return statement prevents copy
elision [-Werror,-Wpessimizing-move]
Commit: 66cc167dfa5bec4b036b3599de5f1878488dec36
https://github.com/llvm/llvm-project/commit/66cc167dfa5bec4b036b3599de5f1878488dec36
Author: Qi Zhao <zhaoqi01 at loongson.cn>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insert-extract-element.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insert-extract-element.ll
Log Message:
-----------
[LoongArch] Add tests for inserting extracted integer elements. NFC
Commit: 0a69c83421ac69c60eb0122201569f36272312b0
https://github.com/llvm/llvm-project/commit/0a69c83421ac69c60eb0122201569f36272312b0
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[NFC][IR2Vec] Remove unreachable code and simplify invalid mode test (#146459)
The code following `llvm_unreachable` is optimized out in Release builds. In this case, `Embedder::create` do not seem to return `nullptr` causing `CreateInvalidMode` test to break. Hence removing `llvm_unreachable`.
Commit: 393a75ebb735191603be8065f7eb66850f1353ac
https://github.com/llvm/llvm-project/commit/393a75ebb735191603be8065f7eb66850f1353ac
Author: Yang Bai <baiyang0132 at gmail.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][Vector] Add constant folding for vector.from_elements operation (#145849)
### Summary
This PR adds a new folding pattern for **vector.from_elements** that
canonicalizes it to **arith.constant** when all input operands are
constants.
### Implementation Details
**Leverages FoldAdaptor capabilities**: Uses adaptor.getElements() to
access **pre-computed** constant attributes, avoiding redundant pattern
matching on operands.
### Example Transformation
```
Before:
%c0_i32 = arith.constant 0 : i32
%c1_i32 = arith.constant 1 : i32
%c2_i32 = arith.constant 2 : i32
%c3_i32 = arith.constant 3 : i32
%v = vector.from_elements %c0_i32, %c1_i32, %c2_i32, %c3_i32 : vector<2x2xi32>
After:
%v = arith.constant dense<[[0, 1], [2, 3]]> : vector<2x2xi32>
```
---------
Co-authored-by: Yang Bai <yangb at nvidia.com>
Commit: ce159d20e52add25e51f2aa8c504726221b204ba
https://github.com/llvm/llvm-project/commit/ce159d20e52add25e51f2aa8c504726221b204ba
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/test/Driver/print-enabled-extensions/riscv-andes-a25.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-a45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax25.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax45mpv.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-n45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-nx45.c
M clang/test/Driver/print-enabled-extensions/riscv-sifive-p870.c
M clang/test/Driver/print-enabled-extensions/riscv-sifive-x390.c
Log Message:
-----------
[RISCV] Put REQUIRES: riscv-registered-target in the first line of the file. NFC.
To be more consistent with other files.
Commit: e94c6091c93a72e9b81cf8d6394495d043b409d4
https://github.com/llvm/llvm-project/commit/e94c6091c93a72e9b81cf8d6394495d043b409d4
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Process/mach-core/RegisterContextUnifiedCore.cpp
Log Message:
-----------
[lldb][Mach-O] Fix several bugs in x86_64 Mach-O corefile (#146460)
reading, and one bug in the new RegisterContextUnifiedCore class.
The PR I landed a few days ago to allow Mach-O corefiles to augment
their registers with additional per-thread registers in metadata exposed
a few bugs in the x86_64 corefile reader when running under different CI
environments. It also showed a bug in my RegisterContextUnifiedCore
class where I wasn't properly handling lookups of unknown registers
(e.g. the LLDB_GENERIC_RA when debugging an intel target).
The Mach-O x86_64 corefile support would say that it had fpu & exc
registers available in every corefile, regardless of whether they were
actually present. It would only read the bytes for the first register
flavor in the LC_THREAD, the GPRs, but it read them incorrectly, so
sometimes you got more register context than you'd expect. The LC_THREAD
register context specifies a flavor and the number of uint32_t words;
the ObjectFileMachO method would read that number of uint64_t's,
exceeding the GPR register space, but it was followed by FPU and then
EXC register space so it didn't crash. If you had a corefile with GPR
and EXC register bytes, it would be written into the GPR and then FPU
register areas, with zeroes filling out the rest of the context.
Commit: 67b740bd73a6ae1de8488a51929bb44f3b8ed30e
https://github.com/llvm/llvm-project/commit/67b740bd73a6ae1de8488a51929bb44f3b8ed30e
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pr43157.ll
Log Message:
-----------
[X86] Add diagnostic for fp128 inline assemble for 32-bit (#146458)
Suggested by Craig from #146259
Commit: 393aebf5c218c74cdad381610ed05bd6d048f532
https://github.com/llvm/llvm-project/commit/393aebf5c218c74cdad381610ed05bd6d048f532
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCCodeView.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCCodeView.cpp
Log Message:
-----------
CodeView: Move MCCVDefRangeFragment storage to MCContext/MCFragment. NFC (#146462)
so that ~MCCVInlineLineTableFragment will become trivial when we
make ~MCEncodedFragment trivial (#146307).
Commit: 1e062fc275ea6672456b1e048cc4016c07461a9a
https://github.com/llvm/llvm-project/commit/1e062fc275ea6672456b1e048cc4016c07461a9a
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
A .github/copilot-instructions.md
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.h
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/clang-doc/JSONGenerator.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/Serialize.cpp
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/missing-std-forward.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/rvalue-reference-param-not-moved.rst
M clang-tools-extra/test/clang-doc/json/class.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward-custom-function.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/rvalue-reference-param-not-moved-custom-function.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Tooling/Transformer/Transformer.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/FunctionPointer.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
R clang/lib/Driver/ToolChains/RISCVToolchain.cpp
R clang/lib/Driver/ToolChains/RISCVToolchain.h
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/Analysis/ArrayDelete.cpp
M clang/test/Analysis/DeleteWithNonVirtualDtor.cpp
M clang/test/Analysis/PR37855.c
M clang/test/Analysis/aggrinit-cfg-output.cpp
M clang/test/Analysis/compound-literals.c
M clang/test/Analysis/ctu-cxxdefaultinitexpr.cpp
M clang/test/Analysis/ctu-implicit.c
M clang/test/Analysis/ctu-import-threshold.c
M clang/test/Analysis/ctu-lookup-name-with-space.cpp
M clang/test/Analysis/ctu-main.c
M clang/test/Analysis/ctu-on-demand-parsing.c
M clang/test/Analysis/ctu-test-import-failure.cpp
M clang/test/Analysis/exploded-graph-rewriter/dynamic_types.cpp
M clang/test/Analysis/exploded-graph-rewriter/escapes.c
M clang/test/Analysis/exploded-graph-rewriter/initializers_under_construction.cpp
M clang/test/Analysis/exploded-graph-rewriter/l_name_starts_with_l.cpp
M clang/test/Analysis/exploded-graph-rewriter/macros.c
M clang/test/Analysis/exploded-graph-rewriter/objects_under_construction.cpp
M clang/test/Analysis/exploded-graph-rewriter/win_path_forbidden_chars.cpp
M clang/test/Analysis/gmalloc.c
M clang/test/Analysis/handle_constructors_for_default_arguments.cpp
M clang/test/Analysis/handle_constructors_with_new_array.cpp
M clang/test/Analysis/initialization.c
M clang/test/Analysis/initialization.cpp
M clang/test/Analysis/lifetime-cfg-output.cpp
M clang/test/Analysis/loopexit-cfg-output.cpp
M clang/test/Analysis/method-arg-decay.m
M clang/test/Analysis/null-deref-static.m
M clang/test/Analysis/objc-encode.m
M clang/test/Analysis/openmp-unsupported.c
M clang/test/Analysis/pointer-escape-on-conservative-calls.c
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/Analysis/taint-diagnostic-visitor.c
M clang/test/Analysis/temporaries-callback-order.cpp
M clang/test/Analysis/undef-call.c
M clang/test/Analysis/z3-crosscheck-max-attempts.cpp
M clang/test/Analysis/z3-crosscheck.c
M clang/test/Analysis/z3/D83660.c
M clang/test/Analysis/z3/pretty-dump.c
M clang/test/CIR/CodeGen/complex.cpp
A clang/test/CIR/CodeGenOpenACC/exit-data.c
A clang/test/CIR/CodeGenOpenACC/update.c
M clang/test/CMakeLists.txt
M clang/test/CXX/class.access/class.access.dcl/p1.cpp
M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p3.cpp
M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p4.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-ldst-one.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ro.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1rq.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1.c
A clang/test/CodeGen/LoongArch/bitint.c
M clang/test/CodeGen/arm-neon-directed-rounding.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/DebugInfo/KeyInstructions/flag.cpp
A clang/test/DebugInfo/KeyInstructions/init-member-memcopyable-2.cpp
A clang/test/DebugInfo/KeyInstructions/init-member-memcopyable.cpp
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain.c
A clang/test/Driver/baremetal-undefined-symbols.c
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/print-enabled-extensions/riscv-andes-a25.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-a45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax25.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax45mpv.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-n45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-nx45.c
M clang/test/Driver/print-enabled-extensions/riscv-sifive-p870.c
M clang/test/Driver/print-enabled-extensions/riscv-sifive-x390.c
R clang/test/Driver/riscv-args.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/ExtractAPI/global_record.c
M clang/test/ExtractAPI/global_record_multifile.c
M clang/test/ExtractAPI/macro_undefined.c
A clang/test/ExtractAPI/pointers.c
M clang/test/Modules/odr_hash.cpp
M clang/test/Sema/warn-format-overflow-truncation.c
M clang/test/SemaCXX/unique_object_duplication.h
A clang/test/SemaCXX/wmissing-noreturn-suggestion.cpp
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M clang/test/lit.cfg.py
M clang/test/lit.site.cfg.py.in
M clang/unittests/AST/ASTTraverserTest.cpp
M compiler-rt/lib/asan/asan_new_delete.cpp
M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_malloc_mac.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/free_aligned_sized.c
M compiler-rt/test/sanitizer_common/TestCases/Linux/free_sized.c
M flang-rt/lib/runtime/descriptor-io.cpp
M flang/docs/Extensions.md
M flang/include/flang/Evaluate/complex.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Optimizer/Passes/CommandLineOpts.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Parser/message.h
M flang/include/flang/Semantics/runtime-type-info.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/Passes/CommandLineOpts.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/lib/Parser/message.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Evaluate/fold-dim.f90
M flang/test/Evaluate/fold-nearest.f90
M flang/test/Evaluate/fold-out_of_range.f90
M flang/test/Evaluate/fold-unsigned.f90
M flang/test/Evaluate/folding03.f90
M flang/test/Evaluate/folding04.f90
M flang/test/Evaluate/folding05.f90
M flang/test/Evaluate/folding06.f90
M flang/test/Evaluate/folding14.f90
M flang/test/Evaluate/folding28.f90
M flang/test/Fir/CUDA/cuda-device-global.f90
A flang/test/Fir/OpenACC/openacc-type-categories-class.f90
A flang/test/Integration/skip-external-rtti-definition.F90
M flang/test/Lower/select-type-2.f90
M flang/test/Lower/select-type.f90
M flang/test/Preprocessing/bug518.F
M flang/test/Semantics/OpenACC/acc-branch.f90
M flang/test/Semantics/OpenACC/acc-data.f90
M flang/test/Semantics/OpenACC/acc-declare-validity.f90
M flang/test/Semantics/OpenACC/acc-serial.f90
M flang/test/Semantics/OpenMP/allocate-align01.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/copying.f90
M flang/test/Semantics/OpenMP/declarative-directive01.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/declare-target02.f90
M flang/test/Semantics/OpenMP/declare-target03.f90
M flang/test/Semantics/OpenMP/declare-target06.f90
M flang/test/Semantics/OpenMP/deprecation.f90
M flang/test/Semantics/OpenMP/nested-target.f90
M flang/test/Semantics/OpenMP/requires04.f90
M flang/test/Semantics/OpenMP/requires05.f90
M flang/test/Semantics/OpenMP/single03.f90
M flang/test/Semantics/OpenMP/single04.f90
M flang/test/Semantics/OpenMP/target01.f90
M flang/test/Semantics/OpenMP/threadprivate03.f90
M flang/test/Semantics/OpenMP/use_device_ptr1.f90
M flang/test/Semantics/allocate09.f90
M flang/test/Semantics/argshape01.f90
M flang/test/Semantics/assign02.f90
M flang/test/Semantics/assign09.f90
M flang/test/Semantics/associate01.f90
M flang/test/Semantics/associated.f90
M flang/test/Semantics/bind-c02.f90
M flang/test/Semantics/bind-c04.f90
M flang/test/Semantics/bind-c06.f90
M flang/test/Semantics/bind-c11.f90
M flang/test/Semantics/bind-c13.f90
M flang/test/Semantics/bind-c17.f90
M flang/test/Semantics/bindings01.f90
M flang/test/Semantics/bindings03.f90
M flang/test/Semantics/block-data01.f90
M flang/test/Semantics/boz-literal-constants.f90
A flang/test/Semantics/bug1046.f90
A flang/test/Semantics/bug1056.f90
A flang/test/Semantics/bug144453.f90
M flang/test/Semantics/c7108.f90
M flang/test/Semantics/c_f_pointer.f90
M flang/test/Semantics/c_loc01.f90
M flang/test/Semantics/call01.f90
M flang/test/Semantics/call02.f90
M flang/test/Semantics/call03.f90
M flang/test/Semantics/call05.f90
M flang/test/Semantics/call07.f90
M flang/test/Semantics/call09.f90
M flang/test/Semantics/call10.f90
M flang/test/Semantics/call14.f90
M flang/test/Semantics/call24.f90
M flang/test/Semantics/call27.f90
M flang/test/Semantics/call30.f90
M flang/test/Semantics/call31.f90
M flang/test/Semantics/call33.f90
M flang/test/Semantics/call34.f90
M flang/test/Semantics/call35.f90
M flang/test/Semantics/call36.f90
M flang/test/Semantics/call37.f90
M flang/test/Semantics/call38.f90
M flang/test/Semantics/call41.f90
M flang/test/Semantics/call42.f90
M flang/test/Semantics/call43.f90
M flang/test/Semantics/call44.f90
M flang/test/Semantics/case01.f90
M flang/test/Semantics/common-blocks.f90
M flang/test/Semantics/contiguous01.f90
M flang/test/Semantics/cuf01.cuf
M flang/test/Semantics/cuf03.cuf
M flang/test/Semantics/cuf04.cuf
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/data06.f90
M flang/test/Semantics/data17.f90
M flang/test/Semantics/declarations04.f90
M flang/test/Semantics/declarations05.f90
M flang/test/Semantics/declarations07.f90
M flang/test/Semantics/deferred01.f90
M flang/test/Semantics/definable02.f90
M flang/test/Semantics/dim01.f90
M flang/test/Semantics/dosemantics02.f90
M flang/test/Semantics/dosemantics03.f90
M flang/test/Semantics/dosemantics12.f90
M flang/test/Semantics/expr-errors05.f90
M flang/test/Semantics/expr-errors06.f90
M flang/test/Semantics/final03.f90
M flang/test/Semantics/forall01.f90
M flang/test/Semantics/forall02.f90
M flang/test/Semantics/generic03.f90
M flang/test/Semantics/generic06.f90
M flang/test/Semantics/global01.f90
M flang/test/Semantics/ichar01.f90
M flang/test/Semantics/ignore_tkr01.f90
M flang/test/Semantics/int-literals.f90
M flang/test/Semantics/intrinsics02.f90
M flang/test/Semantics/kinds05b.f90
M flang/test/Semantics/label18.f90
M flang/test/Semantics/local-vs-global.f90
M flang/test/Semantics/long-name.f90
M flang/test/Semantics/modfile43.f90
M flang/test/Semantics/null-init.f90
M flang/test/Semantics/null01.f90
M flang/test/Semantics/pointer01.f90
M flang/test/Semantics/procinterface02.f90
M flang/test/Semantics/procinterface04.f90
M flang/test/Semantics/resolve05.f90
M flang/test/Semantics/resolve108.f90
M flang/test/Semantics/resolve11.f90
M flang/test/Semantics/resolve114.f90
M flang/test/Semantics/resolve118.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
M flang/test/Semantics/resolve20.f90
M flang/test/Semantics/resolve24.f90
M flang/test/Semantics/resolve30.f90
M flang/test/Semantics/resolve31.f90
M flang/test/Semantics/resolve35.f90
M flang/test/Semantics/resolve37.f90
M flang/test/Semantics/resolve45.f90
M flang/test/Semantics/resolve46.f90
M flang/test/Semantics/resolve55.f90
M flang/test/Semantics/resolve58.f90
M flang/test/Semantics/resolve59.f90
M flang/test/Semantics/resolve60.f90
M flang/test/Semantics/resolve61.f90
M flang/test/Semantics/resolve65.f90
M flang/test/Semantics/resolve67.f90
M flang/test/Semantics/resolve69.f90
M flang/test/Semantics/resolve77.f90
M flang/test/Semantics/resolve78.f90
M flang/test/Semantics/resolve79.f90
M flang/test/Semantics/resolve80.f90
M flang/test/Semantics/resolve81.f90
M flang/test/Semantics/resolve82.f90
M flang/test/Semantics/resolve83.f90
M flang/test/Semantics/resolve85.f90
M flang/test/Semantics/resolve90.f90
M flang/test/Semantics/resolve99.f90
M flang/test/Semantics/separate-mp02.f90
M flang/test/Semantics/spec-expr.f90
M flang/test/Semantics/stmt-func01.f90
M flang/test/Semantics/stmt-func02.f90
M flang/test/Semantics/structconst03.f90
M flang/test/Semantics/structconst04.f90
M flang/test/Semantics/structconst08.f90
M flang/test/Semantics/structconst10.f90
M flang/test/Semantics/symbol15.f90
M flang/test/Semantics/transfer01.f90
M flang/test/Semantics/undef-result01.f90
A flang/test/Transforms/tbaa-for-local-vars.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/lib/OpenACC/CMakeLists.txt
M flang/test/lib/OpenACC/TestOpenACCInterfaces.cpp
M flang/tools/bbc/bbc.cpp
M flang/unittests/Common/FortranFeaturesTest.cpp
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/llvm-libc-types/jmp_buf.h
M libc/include/wchar.yaml
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/GPU/allocator.h
M libc/src/setjmp/arm/CMakeLists.txt
A libc/src/setjmp/arm/sigsetjmp.cpp
M libc/src/stdlib/gpu/realloc.cpp
M libc/src/wchar/CMakeLists.txt
M libc/src/wchar/wcpncpy.h
M libc/src/wchar/wcsspn.h
A libc/src/wchar/wcstok.cpp
A libc/src/wchar/wcstok.h
M libc/test/integration/src/stdlib/gpu/CMakeLists.txt
A libc/test/integration/src/stdlib/gpu/realloc.cpp
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcstok_test.cpp
M libclc/clc/include/clc/clcmacro.h
M libclc/clc/include/clc/geometric/clc_fast_distance.h
M libclc/clc/include/clc/geometric/clc_fast_length.h
M libclc/clc/include/clc/geometric/clc_fast_normalize.h
M libclc/clc/include/clc/math/clc_exp_helper.h
M libclc/clc/include/clc/math/clc_half_cos.h
M libclc/clc/include/clc/math/clc_half_divide.h
M libclc/clc/include/clc/math/clc_half_exp.h
M libclc/clc/include/clc/math/clc_half_exp10.h
M libclc/clc/include/clc/math/clc_half_exp2.h
M libclc/clc/include/clc/math/clc_half_log.h
M libclc/clc/include/clc/math/clc_half_log10.h
M libclc/clc/include/clc/math/clc_half_log2.h
M libclc/clc/include/clc/math/clc_half_powr.h
M libclc/clc/include/clc/math/clc_half_recip.h
M libclc/clc/include/clc/math/clc_half_rsqrt.h
M libclc/clc/include/clc/math/clc_half_sin.h
M libclc/clc/include/clc/math/clc_half_sqrt.h
M libclc/clc/include/clc/math/clc_half_tan.h
M libclc/clc/include/clc/math/clc_native_cos.h
M libclc/clc/include/clc/math/clc_native_divide.h
M libclc/clc/include/clc/math/clc_native_exp.h
M libclc/clc/include/clc/math/clc_native_exp10.h
M libclc/clc/include/clc/math/clc_native_exp2.h
M libclc/clc/include/clc/math/clc_native_log.h
M libclc/clc/include/clc/math/clc_native_log10.h
M libclc/clc/include/clc/math/clc_native_log2.h
M libclc/clc/include/clc/math/clc_native_powr.h
M libclc/clc/include/clc/math/clc_native_recip.h
M libclc/clc/include/clc/math/clc_native_rsqrt.h
M libclc/clc/include/clc/math/clc_native_sin.h
M libclc/clc/include/clc/math/clc_native_sqrt.h
M libclc/clc/include/clc/math/clc_native_tan.h
M libclc/clc/include/clc/math/clc_sincos_helpers.h
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/shared/binary_def_scalarize.inc
A libclc/clc/include/clc/shared/ternary_def_scalarize.inc
A libclc/clc/include/clc/shared/unary_def_scalarize.inc
M libclc/clc/lib/amdgcn/math/clc_fmax.cl
M libclc/clc/lib/amdgcn/math/clc_fmin.cl
M libclc/clc/lib/amdgcn/math/clc_ldexp_override.cl
M libclc/clc/lib/amdgpu/math/clc_native_exp2.cl
M libclc/clc/lib/amdgpu/math/clc_sqrt_fp64.cl
M libclc/clc/lib/clspv/math/clc_sw_fma.cl
M libclc/clc/lib/generic/integer/clc_clz.cl
M libclc/clc/lib/generic/integer/clc_ctz.cl
M libclc/clc/lib/generic/math/clc_erf.cl
M libclc/clc/lib/generic/math/clc_erfc.cl
M libclc/clc/lib/generic/math/clc_fmax.cl
M libclc/clc/lib/generic/math/clc_fmin.cl
M libclc/clc/lib/generic/math/clc_fmod.cl
M libclc/clc/lib/generic/math/clc_ldexp.cl
M libclc/clc/lib/generic/math/clc_log.cl
M libclc/clc/lib/generic/math/clc_log10.cl
M libclc/clc/lib/generic/math/clc_log2.cl
M libclc/clc/lib/generic/math/clc_remainder.cl
M libclc/clc/lib/generic/math/clc_sincos_helpers.cl
M libclc/clc/lib/generic/math/clc_sw_fma.cl
M libclc/clc/lib/generic/math/clc_tgamma.cl
M libclc/clc/lib/r600/math/clc_fmax.cl
M libclc/clc/lib/r600/math/clc_fmin.cl
M libclc/clc/lib/r600/math/clc_native_rsqrt.cl
M libclc/clc/lib/r600/math/clc_rsqrt_override.cl
M libclc/opencl/include/clc/opencl/geometric/fast_distance.h
M libclc/opencl/include/clc/opencl/geometric/fast_length.h
M libclc/opencl/include/clc/opencl/geometric/fast_normalize.h
M libclc/opencl/include/clc/opencl/math/half_cos.h
M libclc/opencl/include/clc/opencl/math/half_exp.h
M libclc/opencl/include/clc/opencl/math/half_exp10.h
M libclc/opencl/include/clc/opencl/math/half_exp2.h
M libclc/opencl/include/clc/opencl/math/half_log.h
M libclc/opencl/include/clc/opencl/math/half_log10.h
M libclc/opencl/include/clc/opencl/math/half_log2.h
M libclc/opencl/include/clc/opencl/math/half_recip.h
M libclc/opencl/include/clc/opencl/math/half_rsqrt.h
M libclc/opencl/include/clc/opencl/math/half_sin.h
M libclc/opencl/include/clc/opencl/math/half_sqrt.h
M libclc/opencl/include/clc/opencl/math/half_tan.h
M libclc/opencl/include/clc/opencl/math/native_cos.h
M libclc/opencl/include/clc/opencl/math/native_exp.h
M libclc/opencl/include/clc/opencl/math/native_exp10.h
M libclc/opencl/include/clc/opencl/math/native_exp2.h
M libclc/opencl/include/clc/opencl/math/native_log.h
M libclc/opencl/include/clc/opencl/math/native_log10.h
M libclc/opencl/include/clc/opencl/math/native_log2.h
M libclc/opencl/include/clc/opencl/math/native_recip.h
M libclc/opencl/include/clc/opencl/math/native_rsqrt.h
M libclc/opencl/include/clc/opencl/math/native_sin.h
M libclc/opencl/include/clc/opencl/math/native_sqrt.h
M libclc/opencl/include/clc/opencl/math/native_tan.h
M libcxx/include/__type_traits/invoke.h
M libcxx/include/module.modulemap.in
M libcxx/test/std/thread/futures/futures.async/wait_on_destruct.pass.cpp
M lld/ELF/Arch/X86_64.cpp
M lldb/docs/index.rst
A lldb/docs/use/mcp.md
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/EmulateInstruction.h
M lldb/include/lldb/Core/IOHandler.h
M lldb/include/lldb/Host/Editline.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/EmulateInstruction.cpp
M lldb/source/Core/IOHandler.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/Core/Telemetry.cpp
M lldb/source/Host/common/Editline.cpp
M lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
M lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
M lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.cpp
M lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.h
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.h
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.cpp
M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.h
M lldb/source/Plugins/Process/mach-core/RegisterContextUnifiedCore.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
M lldb/test/API/macosx/lc-note/additional-registers/add-lcnote.cpp
A lldb/test/API/riscv/step/Makefile
A lldb/test/API/riscv/step/TestSoftwareStep.py
A lldb/test/API/riscv/step/branch.c
A lldb/test/API/riscv/step/incomplete_sequence_without_lr.c
A lldb/test/API/riscv/step/incomplete_sequence_without_sc.c
A lldb/test/API/riscv/step/main.c
M lldb/unittests/Instruction/LoongArch/TestLoongArchEmulator.cpp
M llvm/docs/MLGO.rst
M llvm/include/llvm/ADT/STLForwardCompat.h
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/include/llvm/Analysis/InlineAdvisor.h
M llvm/include/llvm/Analysis/InlineModelFeatureMaps.h
M llvm/include/llvm/Analysis/MLInlineAdvisor.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsARM.td
M llvm/include/llvm/IR/OptBisect.h
M llvm/include/llvm/IR/ProfDataUtils.h
M llvm/include/llvm/MC/MCCodeView.h
R llvm/include/llvm/MC/MCFragment.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/Pass.h
M llvm/include/llvm/Support/TrailingObjects.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/lib/Analysis/InlineAdvisor.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/LoopPass.cpp
M llvm/lib/Analysis/MLInlineAdvisor.cpp
M llvm/lib/Analysis/RegionPass.cpp
M llvm/lib/Analysis/models/seedEmbeddingVocab75D.json
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/OptBisect.cpp
M llvm/lib/IR/Pass.cpp
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCObjectWriter.cpp
M llvm/lib/MC/MCPseudoProbe.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCSymbol.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/DirectX/DXILCBufferAccess.cpp
M llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
A llvm/test/Analysis/IR2Vec/Inputs/dummy_2D_vocab.json
M llvm/test/Analysis/IR2Vec/Inputs/dummy_3D_vocab.json
M llvm/test/Analysis/IR2Vec/Inputs/dummy_5D_vocab.json
A llvm/test/Analysis/IR2Vec/Inputs/incorrect_vocab1.json
A llvm/test/Analysis/IR2Vec/Inputs/incorrect_vocab2.json
A llvm/test/Analysis/IR2Vec/Inputs/incorrect_vocab3.json
A llvm/test/Analysis/IR2Vec/Inputs/incorrect_vocab4.json
M llvm/test/Analysis/IR2Vec/basic.ll
A llvm/test/Analysis/IR2Vec/dbg-inst.ll
A llvm/test/Analysis/IR2Vec/unreachable.ll
A llvm/test/Analysis/IR2Vec/vocab-test.ll
M llvm/test/Analysis/LoopAccessAnalysis/dependences-i128-inductions.ll
M llvm/test/CodeGen/AArch64/PHIElimination-reuse-copy.mir
M llvm/test/CodeGen/AArch64/machine-combiner.ll
A llvm/test/CodeGen/AArch64/machine-outliner-loh.ll
A llvm/test/CodeGen/AArch64/machine-outliner-loh.mir
M llvm/test/CodeGen/AArch64/popcount.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.f16.fp8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.gfx90a.ll
M llvm/test/CodeGen/ARM/vrint.ll
A llvm/test/CodeGen/DirectX/CBufferAccess/memcpy.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insert-extract-element.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insert-extract-element.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vrgatherei16.ll
M llvm/test/CodeGen/RISCV/rvv/vslidedown.ll
M llvm/test/CodeGen/RISCV/rvv/vslideup.ll
M llvm/test/CodeGen/X86/freeze-binary.ll
M llvm/test/CodeGen/X86/freeze-unary.ll
M llvm/test/CodeGen/X86/isel-fabs-x87.ll
M llvm/test/CodeGen/X86/pr43157.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/inline-nodbg.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/inline.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/jump-threading-2-bbs.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/jump-threading-basic.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/jump-threading-dup-cond-br-on-phi-into-pred.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/loop-rotate.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/loop-unroll-runtime.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/loop-unroll.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/loop-unswitch.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/parse.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/simplifycfg-branch-fold.ll
M llvm/test/DebugInfo/KeyInstructions/Generic/simplifycfg-thread-phi.ll
A llvm/test/DebugInfo/KeyInstructions/Generic/verify.ll
M llvm/test/DebugInfo/KeyInstructions/X86/cgp-break-critical-edge.ll
M llvm/test/DebugInfo/KeyInstructions/X86/dwarf-basic-ranks.ll
M llvm/test/DebugInfo/KeyInstructions/X86/dwarf-basic.ll
M llvm/test/DebugInfo/KeyInstructions/X86/dwarf-buoy-multi-key.mir
M llvm/test/DebugInfo/KeyInstructions/X86/dwarf-buoy.mir
M llvm/test/DebugInfo/KeyInstructions/X86/dwarf-calls.ll
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-inline-modes.mir
M llvm/test/DebugInfo/KeyInstructions/X86/dwarf-ranks-blocks.ll
M llvm/test/DebugInfo/KeyInstructions/debugify.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
A llvm/test/MC/RISCV/rv32p-invalid.s
M llvm/test/MC/RISCV/rv32p-valid.s
A llvm/test/MC/RISCV/rv64p-invalid.s
M llvm/test/MC/RISCV/rv64p-valid.s
A llvm/test/Other/fatlto.ll
M llvm/test/Other/pipeline-alias-errors.ll
M llvm/test/Transforms/EarlyCSE/writeonly.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-dest-non-array.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-global-dest.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-non-byte-array.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-non-const-global.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-string-multi-use.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-1.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-2.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-lengths-dont-match.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-more-than-64-bytes.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-ptrtoint.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-struct-test.ll
R llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-volatile.ll
R llvm/test/Transforms/GlobalOpt/ARM/lit.local.cfg
A llvm/test/Transforms/InstCombine/SystemZ/lit.local.cfg
A llvm/test/Transforms/InstCombine/SystemZ/printf-opt-alignment.ll
M llvm/test/Transforms/InstCombine/compare-3way.ll
M llvm/test/Transforms/InstCombine/matrix-multiplication-negation.ll
M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
M llvm/test/Transforms/InstCombine/vector-reverse.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/cost-model.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
M llvm/test/Verifier/branch-weight.ll
A llvm/test/Verifier/value-profile.ll
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-writeback.s
M llvm/unittests/ADT/STLForwardCompatTest.cpp
M llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
M llvm/unittests/IR/LegacyPassManagerTest.cpp
M llvm/unittests/IR/MetadataTest.cpp
M llvm/unittests/Support/TrailingObjectsTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Interpreter/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/mach-core/BUILD.gn
M mlir/examples/toy/Ch2/include/toy/Ops.td
M mlir/examples/toy/Ch3/include/toy/Ops.td
M mlir/examples/toy/Ch4/include/toy/Ops.td
M mlir/examples/toy/Ch5/include/toy/Ops.td
M mlir/examples/toy/Ch6/include/toy/Ops.td
M mlir/examples/toy/Ch7/include/toy/Ops.td
M mlir/include/mlir/Dialect/Arith/IR/Arith.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Vector/IR/Vector.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeVectorStorage.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_affine_apply.mlir
M mlir/test/Dialect/ArmSVE/legalize-transfer-read.mlir
M mlir/test/Dialect/Tensor/bufferize.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/ops.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M offload/liboffload/API/Common.td
M offload/liboffload/src/Helpers.hpp
M offload/liboffload/src/OffloadImpl.cpp
A offload/test/offloading/disable_default_device.c
M offload/unittests/OffloadAPI/init/olInit.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
A utils/bazel/llvm-project-overlay/libc/test/src/wchar/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
rebase .comments
Created using spr 1.3.5-bogner
Compare: https://github.com/llvm/llvm-project/compare/ceb3a0762c19...1e062fc275ea
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