[all-commits] [llvm/llvm-project] 457c9a: [TableGen] Simplify how we calculate NumMIOperands...
Florian Mayer via All-commits
all-commits at lists.llvm.org
Wed Jul 2 10:57:22 PDT 2025
Branch: refs/heads/users/fmayer/spr/msan-handle-permil2var
Home: https://github.com/llvm/llvm-project
Commit: 457c9aec9e845d09202ed8de83be122b9b58d2d7
https://github.com/llvm/llvm-project/commit/457c9aec9e845d09202ed8de83be122b9b58d2d7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[TableGen] Simplify how we calculate NumMIOperands in addDagOperandMapping. NFC
We can use the MIOperandNo and NumMIOperands from the last operand
instead using a loop.
Commit: 9a93de58f7f3670d106a9910976e967564b6883d
https://github.com/llvm/llvm-project/commit/9a93de58f7f3670d106a9910976e967564b6883d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[TableGen] Simplify copying OperandMap entries for tied operands in CompressInstEmitter. NFC
Copy the whole struct instead of copying both fields.
Commit: 75175e72308536dff3225dc885db71343ae85267
https://github.com/llvm/llvm-project/commit/75175e72308536dff3225dc885db71343ae85267
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cooperative_groups.f90
M flang/test/Lower/CUDA/cuda-cooperative.cuf
Log Message:
-----------
[flang][cuda] Inline this_thread_block() calls (#146144)
Commit: c43282ab69d7ff1b64f8ef5c84eab46e57553075
https://github.com/llvm/llvm-project/commit/c43282ab69d7ff1b64f8ef5c84eab46e57553075
Author: dianqk <dianqk at dianqk.net>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
M llvm/test/Transforms/RelLookupTableConverter/unnamed_addr.ll
Log Message:
-----------
[RelLookupTableConverter] Drop unnamed_addr for GVs in entries to avoid generating GOTPCREL relocations (#146068)
The entry in a relative lookup table is a global variable with a
constant offset, such as `@gv`, `GEP @gv, 1`, and so on.
We cannot only consider the case of a trivial global variable. This PR
handles all cases using the existing `IsConstantOffsetFromGlobal`
function.
Commit: 5ecd21a46ab1344499af4fdc0c7d4f793909d53b
https://github.com/llvm/llvm-project/commit/5ecd21a46ab1344499af4fdc0c7d4f793909d53b
Author: AmirHossein PashaeeHir <42866056+amsen20 at users.noreply.github.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
M llvm/include/llvm/DebugInfo/DWARF/LowLevel/DWARFCFIProgram.h
Log Message:
-----------
[NFC] Make unwind table internal data structures more accessible (#145804)
All these changes are being used in
[PR#145633](https://github.com/llvm/llvm-project/pull/145633)
`CFIProgram`:
- `addInstruction` methods already exists, but more convenient ones are
private, this PR makes them public
`UnwindLocation`:
- Added a field accessor method for `Dereference` like other field
access methods.
Commit: 71d4c9ce70e7558bdfe0d4362b3f8c21864a5ee5
https://github.com/llvm/llvm-project/commit/71d4c9ce70e7558bdfe0d4362b3f8c21864a5ee5
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M cmake/Modules/GetClangResourceDir.cmake
Log Message:
-----------
cmake: Allow CLANG_RESOURCE_DIR to be absolute.
Currently an absolute CLANG_RESOURCE_DIR is treated as being relative
to bin. Fix that by using cmake_path(APPEND) to append the path to bin.
The prepending of PREFIX is left as-is because callers passing PREFIX
are usually forming a path within the build directory and would not
want build products to be written to an absolute resource directory
that is likely to be an installation prefix. One exception is the caller
in lldb/cmake/modules/LLDBStandalone.cmake; for now it is not possible
to build LLDB with an absolute resource directory until the users are
disambiguated.
Reviewers: petrhosek
Reviewed By: petrhosek
Pull Request: https://github.com/llvm/llvm-project/pull/145996
Commit: 6d817810daa16667d8e3de5daf82f801bfba3e00
https://github.com/llvm/llvm-project/commit/6d817810daa16667d8e3de5daf82f801bfba3e00
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-06-27 (Fri, 27 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/test/clang-doc/json/class-template.cpp
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/function-requires.cpp
M clang-tools-extra/test/clang-doc/json/method-template.cpp
M clang-tools-extra/test/clang-doc/json/namespace.cpp
Log Message:
-----------
[clang-doc] serialize IsBuiltIn and IsTemplate for types (#146149)
IsBuiltIn and IsTemplate were being emitted as their default values.
Commit: 570b95218c138573dd02f82f6f85856cb019dddf
https://github.com/llvm/llvm-project/commit/570b95218c138573dd02f82f6f85856cb019dddf
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M flang/lib/Lower/ConvertCall.cpp
M flang/test/Lower/CUDA/cuda-runtime-check.cuf
Log Message:
-----------
[flang][cuda] Do not generate section checks in device context (#146170)
This check is only useful on the host side. Also the function is bot
built for the device.
Commit: 32180cf9f9eb921a793bb208cf3bbfb1b86ee2ae
https://github.com/llvm/llvm-project/commit/32180cf9f9eb921a793bb208cf3bbfb1b86ee2ae
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCXXExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/assign-operator.cpp
Log Message:
-----------
[CIR] Upstream support for operator assign (#145979)
This adds support for assignment operators, including implicit operator
definitions.
Commit: 67a5fc8e12dca723a80bef349d47d4a72ca0482e
https://github.com/llvm/llvm-project/commit/67a5fc8e12dca723a80bef349d47d4a72ca0482e
Author: Chris B <chris.bieneman at me.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M .github/workflows/hlsl-test-all.yaml
Log Message:
-----------
Update references from llvm-beanz to llvm (#146177)
This fixes the HLSL actions to pull from the LLVM organization instead
of the original repository under my personal GitHub.
Commit: a64db49371f040859a9de7c0f4fbfb655d8dda17
https://github.com/llvm/llvm-project/commit/a64db49371f040859a9de7c0f4fbfb655d8dda17
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/Process/mach-core/CMakeLists.txt
A lldb/source/Plugins/Process/mach-core/RegisterContextUnifiedCore.cpp
A lldb/source/Plugins/Process/mach-core/RegisterContextUnifiedCore.h
M lldb/source/Plugins/Process/mach-core/ThreadMachCore.cpp
A lldb/test/API/macosx/lc-note/additional-registers/Makefile
A lldb/test/API/macosx/lc-note/additional-registers/TestMetadataRegisters.py
A lldb/test/API/macosx/lc-note/additional-registers/add-lcnote.cpp
A lldb/test/API/macosx/lc-note/additional-registers/main.c
Log Message:
-----------
[lldb][Mach-O] Allow "process metadata" LC_NOTE to supply registers (#144627)
The "process metadata" LC_NOTE allows for thread IDs to be specified in
a Mach-O corefile. This extends the JSON recognzied in that LC_NOTE to
allow for additional registers to be supplied on a per-thread basis.
The registers included in a Mach-O corefile LC_THREAD load command can
only be one of the register flavors that the kernel (xnu) defines in
<mach/arm/thread_status.h> for arm64 -- the general purpose registers,
floating point registers, exception registers.
JTAG style corefile producers may have access to many additional
registers beyond these that EL0 programs typically use, for instance
TCR_EL1 on AArch64, and people developing low level code need access to
these registers. This patch defines a format for including these
registers for any thread.
The JSON in "process metadata" is a dictionary that must have a
`threads` key. The value is an array of entries, one per LC_THREAD in
the Mach-O corefile. The number of entries must match the LC_THREADs so
they can be correctly associated.
Each thread's dictionary must have two keys, `sets`, and `registers`.
`sets` is an array of register set names. If a register set name matches
one from the LC_THREAD core registers, any registers that are defined
will be added to that register set. e.g. metadata can add a register to
the "General Purpose Registers" set that lldb shows users.
`registers` is an array of dictionaries, one per register. Each register
must have the keys `name`, `value`, `bitsize`, and `set`. It may provide
additional keys like `alt-name`, that
`DynamicRegisterInfo::SetRegisterInfo` recognizes.
This `sets` + `registers` formatting is the same that is used by the
`target.process.python-os-plugin-path` script interface uses, both are
parsed by `DynamicRegisterInfo`. The one addition is that in this
LC_NOTE metadata, each register must also have a `value` field, with the
value provided in big-endian base 10, as usual with JSON.
In RegisterContextUnifiedCore, I combine the register sets & registers
from the LC_THREAD for a specific thread, and the metadata sets &
registers for that thread from the LC_NOTE. Even if no LC_NOTE is
present, this class ingests the LC_THREAD register contexts and
reformats it to its internal stores before returning itself as the
RegisterContex, instead of shortcutting and returning the core's native
RegisterContext. I could have gone either way with that, but in the end
I decided if the code is correct, we should live on it always.
I added a test where we process save-core to create a userland corefile,
then use a utility "add-lcnote" to strip the existing "process metadata"
LC_NOTE that lldb put in it, and adds a new one from a JSON string.
rdar://74358787
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 72060f1cfd561d9712b249fc2e13203d527800d6
https://github.com/llvm/llvm-project/commit/72060f1cfd561d9712b249fc2e13203d527800d6
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M compiler-rt/test/fuzzer/uncaught-exception.test
Log Message:
-----------
Fix uncaught-exception.test. (#146181)
See https://github.com/llvm/llvm-project/pull/125924
I didn't test it as I don't have access to a windows machine.
Commit: 3923dd4484b8a46295b1ce0711e9bcb35cc19c09
https://github.com/llvm/llvm-project/commit/3923dd4484b8a46295b1ce0711e9bcb35cc19c09
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M compiler-rt/test/fuzzer/uncaught-exception.test
Log Message:
-----------
Fix uncaught-exception.test. (#146190)
See https://github.com/llvm/llvm-project/pull/125924
To match a literal plus sign, it must be escaped with a backslash (`\`).
Commit: 163ad0bcdae551703625f81836200d46e7c60fb1
https://github.com/llvm/llvm-project/commit/163ad0bcdae551703625f81836200d46e7c60fb1
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Add lldb deps for #144627 (#146192)
Commit: 54a7d53227ae7413dcb731ce14c1adc612d12a95
https://github.com/llvm/llvm-project/commit/54a7d53227ae7413dcb731ce14c1adc612d12a95
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M bolt/test/program-header.test
Log Message:
-----------
[BOLT] Fix program-header.test
Commit: c6bd0207141f8fbd4061495b238a70e833f51cb6
https://github.com/llvm/llvm-project/commit/c6bd0207141f8fbd4061495b238a70e833f51cb6
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Hexagon.h
M llvm/lib/Target/Hexagon/HexagonDepArch.h
M llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
Log Message:
-----------
Revert "[Hexagon] NFC: Reduce the amount of version-specific code" (#146193)
Reverts llvm/llvm-project#145812
Commit: 109b7d965c58a89e1d01676125d53518e1913f96
https://github.com/llvm/llvm-project/commit/109b7d965c58a89e1d01676125d53518e1913f96
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
Log Message:
-----------
MC: Remove unneeded VK_None argument to MCSymbolRefExpr::create calls
The MCSymbolRefExpr::create overload with the specifier parameter is
discouraged and being phased out. Expressions with relocation specifiers
should use MCSpecifierExpr instead.
Commit: 5aa3e6baa0b07951112cb8782a421c968b39dfb3
https://github.com/llvm/llvm-project/commit/5aa3e6baa0b07951112cb8782a421c968b39dfb3
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCInst.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/XCore/MCTargetDesc/XCoreInstPrinter.cpp
Log Message:
-----------
MC: Reduce MCSymbolRefExpr::VK_None uses
Commit: 0e558239b82562b778285e7a9351dfe9ebd0b3e4
https://github.com/llvm/llvm-project/commit/0e558239b82562b778285e7a9351dfe9ebd0b3e4
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
Log Message:
-----------
LoongArch: Remove unneeded VK_None check
Expressions with relocation specifier are encoded as MCSpecifierExpr,
so MCSymbolRefExpr expressions have no specifier.
Commit: 4d7510c33525fe50be79239a1348260c39fa522e
https://github.com/llvm/llvm-project/commit/4d7510c33525fe50be79239a1348260c39fa522e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Remove untested code from SelectAddrRegRegScale. (#146185)
This code handled load/store addresses that are a SHL instruction. That
seems very unlikely to occur unless you're accessing an array that
starts at address 0. I'm not even sure if you can represent that in llvm
IR.
Commit: 28d4cc6d7b16567befd65b2ec22447b759134696
https://github.com/llvm/llvm-project/commit/28d4cc6d7b16567befd65b2ec22447b759134696
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
Log Message:
-----------
MC: Reduce MCSymbolRefExpr::VK_None uses
Commit: 80625c16f0675235425fbb3810b5cd0e669c8c04
https://github.com/llvm/llvm-project/commit/80625c16f0675235425fbb3810b5cd0e669c8c04
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Utils.h
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
M mlir/test/Dialect/Affine/affine-data-copy.mlir
Log Message:
-----------
[MLIR][Affine] Fix memref replacement in affine-data-copy-generate (#139016)
Fixes: https://github.com/llvm/llvm-project/issues/130257
Fix affine-data-copy-generate in certain cases that involved users in
multiple blocks. Perform the memref replacement correctly during copy
generation.
Improve/clean up memref affine use replacement API. Instead of
supporting dominance and post dominance filters (which aren't adequate
in most cases) and computing dominance info expensively each time in
RAMUW, provide a user filter callback, i.e., force users to compute
dominance if needed.
Commit: c73906ec691d1db40e6e5644b5bf184958e3d582
https://github.com/llvm/llvm-project/commit/c73906ec691d1db40e6e5644b5bf184958e3d582
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
Log Message:
-----------
MCParser: Reduce VK_None uses
Commit: eff28bdd46b1a8463a9cd235fe89f69cf81e24f2
https://github.com/llvm/llvm-project/commit/eff28bdd46b1a8463a9cd235fe89f69cf81e24f2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Log Message:
-----------
[AMDGPU] Use StringRef::consume_back (NFC) (#146194)
Note that StringRef::consume_back returns true while consuming the
given prefix if present.
Commit: 7f6d7391cfff6a444e5e15d1de9be429ff1d9edd
https://github.com/llvm/llvm-project/commit/7f6d7391cfff6a444e5e15d1de9be429ff1d9edd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M clang/lib/Basic/FileManager.cpp
Log Message:
-----------
[Basic] Use StringRef::drop_back (NFC) (#146195)
Commit: f90af1c9e83b32076df61583ae565d03bf5e16a2
https://github.com/llvm/llvm-project/commit/f90af1c9e83b32076df61583ae565d03bf5e16a2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/DXContainerRootSignature.h
Log Message:
-----------
[MC] Drop const from a return type (NFC) (#146196)
We don't need const on a return type.
Commit: 56da4a962855a408aabeaba331ed341eedb6f3a3
https://github.com/llvm/llvm-project/commit/56da4a962855a408aabeaba331ed341eedb6f3a3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/lib/Target/Hexagon/HexagonBlockRanges.h
M llvm/lib/Target/X86/X86PreTileConfig.cpp
Log Message:
-----------
[llvm] Use std::tie to implement comparison functors (NFC) (#146197)
std::tie clearly expresses the intent while slightly shortening the
code.
Commit: 094a7087b83bb37544c1a7db4cc1841ee463140c
https://github.com/llvm/llvm-project/commit/094a7087b83bb37544c1a7db4cc1841ee463140c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
Log Message:
-----------
[Target] Use range-based for loops (NFC) (#146198)
Commit: 1a94bcf90f2624918a2017f40e544194303f7d00
https://github.com/llvm/llvm-project/commit/1a94bcf90f2624918a2017f40e544194303f7d00
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinter.cpp
M llvm/lib/DebugInfo/PDB/UDTLayout.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
Log Message:
-----------
[llvm] Remove unused includes (NFC) (#146199)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: e121f72c945f30b2f18f02317fe970b7fa2efdeb
https://github.com/llvm/llvm-project/commit/e121f72c945f30b2f18f02317fe970b7fa2efdeb
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.h
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCExpr.h
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86TargetObjectFile.cpp
Log Message:
-----------
X86: Rename X86MCExpr::VK_ to X86::S_
Rename these relocation specifier constants, aligning with the naming
convention used by other targets (`S_` instead of `VK_`).
Move constants to X86MCAsmInfo.h, with the goal of eventually removing
X86MCExpr.h.
Similar to #144633 for AArch64.
Commit: ac9204de7d4f9010506474b532654fa4bd15edfc
https://github.com/llvm/llvm-project/commit/ac9204de7d4f9010506474b532654fa4bd15edfc
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
Log Message:
-----------
MCExpr: Remove VK_None
`enum VariantKind` is deprecated. Targets are encouraged to use their
own relocation specifier constants. MCSymbolRefExpr::create callers with
a VK_None argument should switch to the overload with a VariantKind
parameter.
Commit: 3f531552e66f242d4bfc0163be848f9e51259d80
https://github.com/llvm/llvm-project/commit/3f531552e66f242d4bfc0163be848f9e51259d80
Author: SahilPatidar <patidarsahil2001 at gmail.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M clang/include/clang/Interpreter/Interpreter.h
A clang/include/clang/Interpreter/RemoteJITUtils.h
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Interpreter/Interpreter.cpp
A clang/lib/Interpreter/RemoteJITUtils.cpp
A clang/test/Interpreter/out-of-process.cpp
M clang/test/lit.cfg.py
M clang/tools/clang-repl/CMakeLists.txt
M clang/tools/clang-repl/ClangRepl.cpp
Log Message:
-----------
[REAPPLY][Clang-Repl] Add support for out-of-process execution. #110418 (#144064)
This PR introduces out-of-process (OOP) execution support for
Clang-Repl. With this enhancement, two new flags, oop-executor and
oop-executor-connect, are added to the Clang-Repl interface. These flags
enable the launch of an external executor (llvm-jitlink-executor), which
handles code execution in a separate process.
Commit: b9ca4c5fab4023e01d14d08f29b13e0c9b4dcad1
https://github.com/llvm/llvm-project/commit/b9ca4c5fab4023e01d14d08f29b13e0c9b4dcad1
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.h
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
MCExpr: Make COFF-specific VK_SECREL target-specific
to align with ELF targets, where the relocation specifier constants are
all target-specific.
Commit: 18e9cfd56b0ae9e6b547b47d97e5495fbf0e0788
https://github.com/llvm/llvm-project/commit/18e9cfd56b0ae9e6b547b47d97e5495fbf0e0788
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-27 (Fri, 27 Jun 2025)
Changed paths:
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.h
Log Message:
-----------
Hexagon: Remove getVariantKind
Commit: 8351752dbc405a44ebcb267f97c7f643e1a78544
https://github.com/llvm/llvm-project/commit/8351752dbc405a44ebcb267f97c7f643e1a78544
Author: Björn Svensson <bjorn.a.svensson at est.tech>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-inline-specifier.cpp
Log Message:
-----------
[clang-tidy] Fix false positives in `readability-redundant-inline-specifier` (#135391)
The out-of-line explicitly-defaulted definition is not the first
declaration, so it is not implicitly inline.
Alt. reference:
9.5.2 (3) Explicitly-defaulted functions in
[N4950](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4950.pdf).
or https://timsong-cpp.github.io/cppwp/n4861/dcl.fct.def.default#3
Fixes #130745
---------
Signed-off-by: Björn Svensson <bjorn.a.svensson at est.tech>
Commit: 3c4e7308028e31aef21e50730145ba7f9b439363
https://github.com/llvm/llvm-project/commit/3c4e7308028e31aef21e50730145ba7f9b439363
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/test/CodeCompletion/overrides.cpp
Log Message:
-----------
[Sema][clangd] add noexcept to override functions during code completion (#75937)
If a virtual function is declared with `noexcept`, functions that
override this function in the derived classes must be declared with
`noexcept` as well. This PR updates code completion in clang Sema. It
adds `noexcept` specifier to override functions in the code completion
result if the functions override a `noexcept` virtual function.
Commit: e34e02128ec5eb89e36a8f0f7307dcbcfecabbee
https://github.com/llvm/llvm-project/commit/e34e02128ec5eb89e36a8f0f7307dcbcfecabbee
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M clang/CMakeLists.txt
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] Fix tests requiring Z3 headers in standalone builds (#146200)
Fix running tests that require Z3 headers in standalone build. They were
wrongly relying on `Z3_INCLUDE_DIR` being passed through from LLVM,
which is not the case for a standalone build. Instead, perform
`find_package(Z3)` again to find Z3 development files and set
`Z3_INCLUDE_DIR`. While at it, handle the possibility that Z3
development package is no longer installed -- run the tests only if both
LLVM has been built against Z3, and the headers are still available.
https://github.com/llvm/llvm-project/pull/145731#issuecomment-3009487525
Signed-off-by: Michał Górny <mgorny at gentoo.org>
Commit: 0ba456fcc6b1c8504f1596f6f5cb2c188a869ac7
https://github.com/llvm/llvm-project/commit/0ba456fcc6b1c8504f1596f6f5cb2c188a869ac7
Author: Yao Zi <ziyao at disroot.org>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/test/CodeGen/LoongArch/inline-asm-gcc-regs-error.c
M clang/test/CodeGen/LoongArch/inline-asm-gcc-regs.c
Log Message:
-----------
[Clang][LoongArch] Match GCC behaviour when parsing FPRs in asm clobbers (#138391)
There're four possible formats to refer a register in inline assembly,
1. Numeric name without dollar sign ("f0")
2. Numeric name with dollar sign ("$f0")
3. ABI name without dollar sign ("fa0")
4. ABI name with dollar sign ("$fa0")
LoongArch GCC accepts 1 and 2 for FPRs before r15-8284[1] and all these
formats after the chagne. But Clang supports only 2 and 4 for FPRs. The
inconsistency has caused compatibility issues, such as QEMU's case[2].
This patch follows 0bbf3ddf5fea ("[Clang][LoongArch] Add GPR alias
handling without `$` prefix") and accepts FPRs without dollar sign
prefixes as well to keep aligned with GCC, avoiding future compatibility
problems.
Link:
https://gcc.gnu.org/cgit/gcc/commit/?id=d0110185eb78f14a8e485f410bee237c9c71548d
[1]
Link:
https://lore.kernel.org/qemu-devel/20250314033150.53268-3-ziyao@disroot.org/
[2]
Commit: 69b8e59f29a38a6bdfa0d506dae8d8deccf42862
https://github.com/llvm/llvm-project/commit/69b8e59f29a38a6bdfa0d506dae8d8deccf42862
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Forward-declare class instead of including header (NFC)
The header inclusion was previously causing a build time regression.
Commit: b6515ae6843d6383c73efa3ac29ceb11c8858faf
https://github.com/llvm/llvm-project/commit/b6515ae6843d6383c73efa3ac29ceb11c8858faf
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
A llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmov-gpr.ll
R llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmov-gpr32.ll
Log Message:
-----------
[AArch64] Align 0-cycle reg-mov model of GPR64, GPR32 reg classes (#146051)
Aligns 0-cycle register MOV model of GPR64 and GPR32 register classes to
that of FPR64 and FPR32 resolved in:
https://github.com/llvm/llvm-project/pull/144152.
- Splits `FeatureZCRegMove` into `FeatureZCRegMoveGPR64` and
`FeatureZCRegMove32` and fix Apple processors and `AArch64InstrInfo`
accordingly
- Aligns the test `arm64-zero-cycle-regmov-gpr.ll` to the FPR one
The target feature name change is effectively a breaking change. The
absolute most of users shouldn't use `-mzcm` directly, so I think it
should be ok to make an immediate switch, unless this doesn't align with
the conventions in this project. The patch adds a release note for that.
Commit: 1e2ddc8a3d4a1affbf208a8aabeb4fbfcc9cea75
https://github.com/llvm/llvm-project/commit/1e2ddc8a3d4a1affbf208a8aabeb4fbfcc9cea75
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
A llvm/test/Analysis/CostModel/RISCV/exp.ll
M llvm/test/Analysis/CostModel/RISCV/fround.ll
Log Message:
-----------
[CostModel/RISCV] Add tests for ldexp, [l]lround (#146108)
Commit: be9502b095d2dc08768d5723f66cf0dd8f0490fd
https://github.com/llvm/llvm-project/commit/be9502b095d2dc08768d5723f66cf0dd8f0490fd
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
Log Message:
-----------
[LoopInterchange] Modernize loops (NFC) (#146105)
Commit: 7ff9669a2e8003764251de14fcbf88a327d876c4
https://github.com/llvm/llvm-project/commit/7ff9669a2e8003764251de14fcbf88a327d876c4
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[ISel/RISCV] Refactor isPromotedOpNeedingSplit (NFC) (#146059)
Commit: 04cd0f270227820c453ddf1a13c3c55145852e11
https://github.com/llvm/llvm-project/commit/04cd0f270227820c453ddf1a13c3c55145852e11
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Log Message:
-----------
[LSR] Clean up code using SCEVPatternMatch (NFC) (#145556)
Commit: 5ea29f77b9f809a3a33de72033e21225ec292170
https://github.com/llvm/llvm-project/commit/5ea29f77b9f809a3a33de72033e21225ec292170
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
Log Message:
-----------
[DA] Let getConstantPart return optional APInt (NFC) (#146135)
To use the result of an SCEVConstant, we need to extract the APInt,
which callers anyway do.
Commit: feb61f5b0529a18ce819e9be91d8510bbdd737f7
https://github.com/llvm/llvm-project/commit/feb61f5b0529a18ce819e9be91d8510bbdd737f7
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
Log Message:
-----------
[Target] Prevent copying in loop variables (NFC)
/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.cpp:2769: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) {
^
/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.cpp:2769:8: note: use reference type 'std::pair<unsigned int, llvm::SDValue> const &' to prevent copying
for (const auto [Reg, N] : RegsToPass) {
^~~~~~~~~~~~~~~~~~~~~
&
/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.cpp:2954: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)
^
/llvm-project/llvm/lib/Target/ARM/ARMISelLowering.cpp:2954: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: 34b2e934ea9ec7a8b6529a9d0764c1bf3536b1d2
https://github.com/llvm/llvm-project/commit/34b2e934ea9ec7a8b6529a9d0764c1bf3536b1d2
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__flat_map/key_value_iterator.h
M libcxx/include/__flat_map/utils.h
A libcxx/include/__iterator/product_iterator.h
M libcxx/include/__ranges/zip_view.h
M libcxx/include/module.modulemap.in
M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
M libcxx/test/benchmarks/containers/associative/flat_map.bench.cpp
M libcxx/test/benchmarks/containers/associative/flat_multimap.bench.cpp
A libcxx/test/libcxx/iterators/product_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_iter.pass.cpp
Log Message:
-----------
[libc++] Introduce `__product_iterator_traits` and optimise `flat_map::insert` (#139454)
Fixes #108624
This allows `flat_map::insert(Iter, Iter)` to directly forward to
underlying containers' `insert(Iter, Iter)`, instead of inserting one
element at a time, when input models "product iterator". atm,
`flat_map::iterator` and `zip_view::iterator` are "product iterator"s.
This gives about almost 10x speed up in my benchmark with -03 (for both
before and after)
```cpp
Benchmark Time CPU Time Old Time New CPU Old CPU New
-----------------------------------------------------------------------------------------------------------------------------------------------
flat_map::insert_product_iterator_flat_map/32 -0.5028 -0.5320 149 74 149 70
flat_map::insert_product_iterator_flat_map/1024 -0.8617 -0.8618 3113 430 3112 430
flat_map::insert_product_iterator_flat_map/8192 -0.8877 -0.8877 26682 2995 26679 2995
flat_map::insert_product_iterator_flat_map/65536 -0.8769 -0.8769 226235 27844 226221 27841
flat_map::insert_product_iterator_zip/32 -0.5844 -0.5844 162 67 162 67
flat_map::insert_product_iterator_zip/1024 -0.8754 -0.8754 3427 427 3427 427
flat_map::insert_product_iterator_zip/8192 -0.8934 -0.8934 28134 3000 28132 3000
flat_map::insert_product_iterator_zip/65536 -0.8783 -0.8783 229783 27960 229767 27958
OVERALL_GEOMEAN -0.8319 -0.8332 0 0 0 0
```
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: b8f122812e0ac4f262e98cf2661f4495553791e6
https://github.com/llvm/llvm-project/commit/b8f122812e0ac4f262e98cf2661f4495553791e6
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M clang/docs/DebuggingCoroutines.rst
A clang/docs/coro-async-task-continuations.png
A clang/docs/coro-generator-suspended.png
A clang/docs/coro-generator-variables.png
Log Message:
-----------
[docs][coroutines] Revamp "Debugging C++ coroutines" (#142651)
This commit is a major overhaul of the documentation on debugging C++
coroutines with the following goals:
* Make it more accessible to casual C++ programmers, i.e. non-toolchain
developers. Move the low-level details around ABI further down, and
instead start with real-life examples and copy-paste-friendly code,
first.
* Cover LLDB in addition to GCC. Provide copy-pasteable scripts for LLDB
and not only GCC.
* Cover additional topics, such as:
* single-stepping into a coroutine
* using `__builtin_return_address` for tracking suspension points
(inspired by Folly's blog series on coroutine debugging)
* Document LLDB's support for devirtualization of
`std::coroutine_handle`, both from an end user perspective as well as
its internal implementation
Commit: 372c808217773c910c0379a8ceda6293dbbf663b
https://github.com/llvm/llvm-project/commit/372c808217773c910c0379a8ceda6293dbbf663b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-compress.ll
Log Message:
-----------
[X86] canCreateUndefOrPoisonForTargetNode - PCMPEQ/PCMPGT don't create poison/undef (#146116)
Commit: 169b4bea8774b403b327a9d8df62e446c29a114f
https://github.com/llvm/llvm-project/commit/169b4bea8774b403b327a9d8df62e446c29a114f
Author: Eric Fiselier <eric at efcs.ca>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M .github/workflows/libcxx-restart-preempted-jobs.yaml
Log Message:
-----------
Attempt to fix over-keen restarter.
The restarter will restart jobs that were canceled by a newer change,
causing the new and old change to fight it out.
This change attempts to address this by treating the "canceled" message
as an error.
Commit: 94c1506548ecf4ce1bb4a14b484b6e6d65f94231
https://github.com/llvm/llvm-project/commit/94c1506548ecf4ce1bb4a14b484b6e6d65f94231
Author: Eric Fiselier <eric at efcs.ca>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M .github/workflows/libcxx-restart-preempted-jobs.yaml
Log Message:
-----------
Further restrict the restarters ability to restart manually canceled jobs
Commit: a9295ad4d2d3278070f9c71a81e05079a48c740f
https://github.com/llvm/llvm-project/commit/a9295ad4d2d3278070f9c71a81e05079a48c740f
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
Log Message:
-----------
AArch64: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: d93aff42c23069c27dae411fd0f60bd19ad04ad9
https://github.com/llvm/llvm-project/commit/d93aff42c23069c27dae411fd0f60bd19ad04ad9
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DIE.cpp
M llvm/lib/CodeGen/FaultMaps.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
Log Message:
-----------
MC: Migrate away from operator<< MCExpr
MCExpr::print has an optional MCAsmInfo argument, which is error-prone
when omitted. MCExpr::print and the convenience helper operator<< are
discouraged to use. Switch to MCAsmInfo::printExpr instead. Use the
target-specific MCAsmInfo if available.
Commit: 19495364949476df196e3a0a12b3a035f7c2d1be
https://github.com/llvm/llvm-project/commit/19495364949476df196e3a0a12b3a035f7c2d1be
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/licm-calls.ll
Log Message:
-----------
[VPlan] Also visit VPBBs outside loop region when unrolling by VF.
Make sure all VPBBs outside the top-level loop region and directly
inside the region are visited; all those blocks may contain
VPReplicateRecipes that need unrolling.
This makes sure we unroll VPRepicateRecipes by VF if they are hoisted
out of the loop, but cannot be converted to single scalar recipes yet.
Commit: ff075d0ac22ea1db9b25c6585ef7ac490473b2fe
https://github.com/llvm/llvm-project/commit/ff075d0ac22ea1db9b25c6585ef7ac490473b2fe
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h
M llvm/lib/MC/MCParser/MCAsmParser.cpp
Log Message:
-----------
MCParser: Remove operator<< const MCParsedAsmOperand &MO
Printing an expression is error-prone without a MCAsmInfo argument.
We will add a MCAsmInfo parameter to MCParsedAsmoperand::print.
Commit: 344b5b7f9e5bb5c48ee3e9e380706038eaa89044
https://github.com/llvm/llvm-project/commit/344b5b7f9e5bb5c48ee3e9e380706038eaa89044
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/SymbolMap.h
M flang/lib/Lower/CMakeLists.txt
A flang/lib/Lower/OpenMP/Atomic.cpp
A flang/lib/Lower/OpenMP/Atomic.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/SymbolMap.cpp
Log Message:
-----------
[flang][OpenMP] Move lowering of ATOMIC to separate file, NFC (#146225)
Reinstate commits e5559ca4 and 925dbc79. Fix the issues with compilation
hangs by including DenseMapInfo specialization where the corresponding
instance of DenseMap was defined.
Ref: https://github.com/llvm/llvm-project/pull/144960
Commit: 33c265ddf7f37815d38d742ea27c161aaff8931e
https://github.com/llvm/llvm-project/commit/33c265ddf7f37815d38d742ea27c161aaff8931e
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/RISCV/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/RISCV/switch_to_lookup_table-rv64.ll
M llvm/test/Transforms/SimplifyCFG/X86/disable-lookup-table.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-bitcast.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-gep.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-globals.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-large-types.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/rangereduce.ll
M llvm/test/Transforms/SimplifyCFG/switch-dead-default-lookup-table.ll
M llvm/test/Transforms/SimplifyCFG/switch_mask.ll
Log Message:
-----------
[SimplifyCFG] Use indexType from data layout in switch to table conversion (#146207)
Generate the GEP with the index type that InstCombine will cast it to but use the knowledge that the index is unsigned.
Commit: e878b7e3492b010ba5ade6cab42dfad02b903ae1
https://github.com/llvm/llvm-project/commit/e878b7e3492b010ba5ade6cab42dfad02b903ae1
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
MCParsedAsmOperand::print: Add MCAsmInfo parameter
so that subclasses can provide the appropriate MCAsmInfo to print
MCExpr objects.
At present, llvm/utils/TableGen/AsmMatcherEmitter.cpp constucts a
generic MCAsmInfo.
Commit: 0255ae81ba4ea8aeae2a539c3428e7f12a1ab505
https://github.com/llvm/llvm-project/commit/0255ae81ba4ea8aeae2a539c3428e7f12a1ab505
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
AsmMatcher: Use getAsmInfo()
Commit: 80222f0aa44c94be0f3eff57192bbb6573275a15
https://github.com/llvm/llvm-project/commit/80222f0aa44c94be0f3eff57192bbb6573275a15
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Port 3f531552e66f242d4bfc0163be848f9e51259d80
Commit: f96832a52019f47f69c7f122d9233ae46060cc23
https://github.com/llvm/llvm-project/commit/f96832a52019f47f69c7f122d9233ae46060cc23
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.cpp
Log Message:
-----------
BPF: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: 303bc0df6ade72ba05fa5c8d469ac8f1091da9ce
https://github.com/llvm/llvm-project/commit/303bc0df6ade72ba05fa5c8d469ac8f1091da9ce
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
Log Message:
-----------
SPIRV: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
The questionable use might be copied from BPF.
Commit: c57c5f53a32ac1aaea2c258258ef9302132168ac
https://github.com/llvm/llvm-project/commit/c57c5f53a32ac1aaea2c258258ef9302132168ac
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
Log Message:
-----------
[flang] Fix warnings
This patch fixes:
flang/../mlir/include/mlir/IR/TypeRange.h:51:19: error: 'ArrayRef'
is deprecated: Use {} or ArrayRef<T>() instead
[-Werror,-Wdeprecated-declarations]
flang/../mlir/include/mlir/IR/ValueRange.h:401:20: error: 'ArrayRef'
is deprecated: Use {} or ArrayRef<T>() instead
[-Werror,-Wdeprecated-declarations]
Commit: 25d7fd35b20374b8e1037f5fd32340f7f6346319
https://github.com/llvm/llvm-project/commit/25d7fd35b20374b8e1037f5fd32340f7f6346319
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
Log Message:
-----------
[Analysis] Remove unnecessary casts (NFC) (#146216)
PImpl is already of LazyValueInfoImpl *.
Commit: c101415820f24dee313f1482e7dbbd3a372984e7
https://github.com/llvm/llvm-project/commit/c101415820f24dee313f1482e7dbbd3a372984e7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp
Log Message:
-----------
[DebugInfo] Remove an unnecessary cast (NFC) (#146217)
Commit: 289c066ac47488a13db13844f1befb295188d51c
https://github.com/llvm/llvm-project/commit/289c066ac47488a13db13844f1befb295188d51c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
M llvm/lib/ExecutionEngine/JITLink/ppc64.cpp
M llvm/lib/ExecutionEngine/JITLink/x86_64.cpp
Log Message:
-----------
[ExecutionEngine] Remove unnecessary casts (NFC) (#146218)
R and K are already of Edge::Kind in all these cases.
Commit: dea8217a7a09b00804a21632b4f2d1a94d237044
https://github.com/llvm/llvm-project/commit/dea8217a7a09b00804a21632b4f2d1a94d237044
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/include/llvm/ADT/SmallPtrSet.h
Log Message:
-----------
[ADT] Use llvm::has_single_bit (NFC) (#146219)
Commit: 402baea0a9ff7894565449e41f700c4e6a3f99cb
https://github.com/llvm/llvm-project/commit/402baea0a9ff7894565449e41f700c4e6a3f99cb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M clang-tools-extra/modularize/Modularize.cpp
Log Message:
-----------
[modularize] Use std::tie to implement operator< (NFC) (#146220)
std::tie clearly expresses the intent while slightly shortening the
code.
Commit: bad5a740e1141895a6ef7c47f0f25e9711e6a995
https://github.com/llvm/llvm-project/commit/bad5a740e1141895a6ef7c47f0f25e9711e6a995
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
Log Message:
-----------
[PowerPC] Use range-based for loops (NFC) (#146221)
Commit: f90025ebd930a4719f3d7ac61d802ce948f9f433
https://github.com/llvm/llvm-project/commit/f90025ebd930a4719f3d7ac61d802ce948f9f433
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/unittests/Support/RISCVAttributeParserTest.cpp
Log Message:
-----------
[llvm] Compare std::optional<T> to values directly (NFC) (#146222)
This patch transforms:
X && *X == Y
to:
X == Y
where X is of std::optional<T>, and Y is of T or similar.
Commit: fb24b4d46a0a8278031f42c1cba6c030eb6c6010
https://github.com/llvm/llvm-project/commit/fb24b4d46a0a8278031f42c1cba6c030eb6c6010
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/code-at-high-address.c
Log Message:
-----------
[BOLT] Push code to higher addresses under options (#146180)
When --hot-functions-at-end is used in combination with --use-old-text,
allocate code at the highest possible addresses withing old .text.
This feature is mostly useful for HHVM, where it is beneficial to have
hot static code placed as close as possible to jitted code.
Commit: 3ea7fc73397032e71fb20d27084f4552211bb1f6
https://github.com/llvm/llvm-project/commit/3ea7fc73397032e71fb20d27084f4552211bb1f6
Author: Eric Fiselier <eric at efcs.ca>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M .github/workflows/libcxx-restart-preempted-jobs.yaml
Log Message:
-----------
attempt to calm down restarter job
Commit: 5ffdd9480d80719dc0ff83417ae58a91c157fd79
https://github.com/llvm/llvm-project/commit/5ffdd9480d80719dc0ff83417ae58a91c157fd79
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
A llvm/test/Transforms/CodeGenPrepare/X86/sink-addr-recreate.ll
Log Message:
-----------
[CodeGenPrepare] Filter out unrecreatable addresses from memory optimization (#143566)
Follow up on #139303
Commit: e6b25288eb0a9374cb92b0a86ce364d0929d2752
https://github.com/llvm/llvm-project/commit/e6b25288eb0a9374cb92b0a86ce364d0929d2752
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCInst.cpp
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
Log Message:
-----------
MCExpr: Migrate away from operator<<
Printing an expression is error-prone without a MCAsmInfo argument.
Remove the operator<< overload and replace callers with
MCAsmInfo::printExpr. Some callers are changed to MCExpr::print, with
the goal of eventually making it private.
Commit: a365abd544fd28d93759b03980b01fd33244fbdd
https://github.com/llvm/llvm-project/commit/a365abd544fd28d93759b03980b01fd33244fbdd
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
Log Message:
-----------
MCExpr: Remove error-prone operator<<
Printing an expression is error-prone without a MCAsmInfo argument.
The callers have migrated to MCAsmInfo::printExpr or MCExpr::print.
Commit: bdb299a67eb863b1b1e6241d7964e7108f1a42aa
https://github.com/llvm/llvm-project/commit/bdb299a67eb863b1b1e6241d7964e7108f1a42aa
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Simplify code in single scalar transform code (NFC).
Adjust code as suggested post-commit 3b7b95f78e2.
https://github.com/llvm/llvm-project/commit/3b7b95f78e24aca5175b8f864bfea2953a2dd34f#r160997427
Commit: d2e8e55e02f7e082cd7bae4d834ba5ee08f8b46c
https://github.com/llvm/llvm-project/commit/d2e8e55e02f7e082cd7bae4d834ba5ee08f8b46c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DIE.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
Log Message:
-----------
CSKY: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: f771d08a24762dada69bf426016f5fd1cf83a437
https://github.com/llvm/llvm-project/commit/f771d08a24762dada69bf426016f5fd1cf83a437
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M clang/lib/Format/BreakableToken.cpp
M clang/unittests/Format/FormatTestComments.cpp
Log Message:
-----------
[clang-format] Fix a bug in `ReflowComments: Always` (#146202)
Fixes #39150
Commit: 2ed04016120f18b35967b8b5a2ed54406a9711fd
https://github.com/llvm/llvm-project/commit/2ed04016120f18b35967b8b5a2ed54406a9711fd
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
M llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp
M llvm/lib/Target/CSKY/CSKYMCInstLower.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCAsmInfo.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCAsmInfo.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCCodeEmitter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCCodeEmitter.h
R llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
R llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h
Log Message:
-----------
CSKY: Migrate to the new relocation specifier representation
Use MCSpecifierExpr directly and remove the CSKYMCExpr subclass. Define
printImpl within CSKYMCAsmInfo.
Commit: aa8afadd251cf972bace35a674428383089c2697
https://github.com/llvm/llvm-project/commit/aa8afadd251cf972bace35a674428383089c2697
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
MCSymbolRefExpr: Migrate away from deprecated VariantKind
Commit: 3cc78a8067788e9aad2bee8ffa95c03ea2f17b04
https://github.com/llvm/llvm-project/commit/3cc78a8067788e9aad2bee8ffa95c03ea2f17b04
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.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_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
Log Message:
-----------
[NFC][AMDGPU] Fix the instruction order in some test cases to make downstream easier (#146214)
Commit: 1108cf64196a056aa350baba98e3fab6d7529a59
https://github.com/llvm/llvm-project/commit/1108cf64196a056aa350baba98e3fab6d7529a59
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
ELFObjectWriter: Optimize isInSymtab
Commit: 6c2aa37fb1fd3802de1fedb0296f38756a30389b
https://github.com/llvm/llvm-project/commit/6c2aa37fb1fd3802de1fedb0296f38756a30389b
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/test/MC/X86/register-assignment.s
R llvm/test/MC/X86/unused_reg_var_assign.s
Log Message:
-----------
MCAsmStreamer: Print symbol equated to a register
GNU Assembler supports `a = %eax` for x86. We use X86MCExpr to support a
register expression. https://reviews.llvm.org/D47545 added reassignment
support but this code is not necessary.
Commit: 25d52fbf96ec927914b3a5c9db0b61fe2804a3dd
https://github.com/llvm/llvm-project/commit/25d52fbf96ec927914b3a5c9db0b61fe2804a3dd
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
Log Message:
-----------
[PowerPC] Prevent copying in loop variables (NFC)
/data/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp:5769: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/PowerPC/PPCISelLowering.cpp:5769: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/PowerPC/PPCISelLowering.cpp:6193: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/PowerPC/PPCISelLowering.cpp:6193: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/PowerPC/PPCISelLowering.cpp:6806: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/PowerPC/PPCISelLowering.cpp:6806:8: note: use reference type 'std::pair<unsigned int, llvm::SDValue> const &' to prevent copying
for (const auto [Reg, N] : RegsToPass) {
^~~~~~~~~~~~~~~~~~~~~
&
3 errors generated.
Commit: 68d83fae70b2fa136b6c4a8c91af9e615eeedf95
https://github.com/llvm/llvm-project/commit/68d83fae70b2fa136b6c4a8c91af9e615eeedf95
Author: Yi Kong <yikong at google.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[llvm-profdata] Resolve tilde for weighted input filenames (#146206)
When specifying a weighted input file, the shell does not automatically
expand the tilde (`~`) character in the filename because the argument
is passed as a single string in the format `<weight>,<filename>`.
This commit fixes the issue by using `llvm::sys::fs::expand_tilde` to
explicitly resolve the tilde in the filename, ensuring that paths
like `~/path/to/file` are correctly handled.
Commit: 0d0daef6ee955be09e4355830cb4d638d4e184d5
https://github.com/llvm/llvm-project/commit/0d0daef6ee955be09e4355830cb4d638d4e184d5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
Log Message:
-----------
[GlobalISel] Remove an unnecessary cast (NFC) (#146249)
Idx is already of unsigned.
Commit: 8a4b6cd8d80dbff55601e3291a71e0053793c108
https://github.com/llvm/llvm-project/commit/8a4b6cd8d80dbff55601e3291a71e0053793c108
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/IR/Instructions.cpp
Log Message:
-----------
[IR] Remove an unnecessary cast (NFC) (#146250)
Agg is already of Type *.
Commit: 72e24f3022f36d196073df178a8d31353a772afe
https://github.com/llvm/llvm-project/commit/72e24f3022f36d196073df178a8d31353a772afe
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/MC/MCDwarf.cpp
Log Message:
-----------
[MC] Remove an unnecessary cast (NFC) (#146251)
Commit: 9cf251d9d8cc79df3fbfc19098db427970058591
https://github.com/llvm/llvm-project/commit/9cf251d9d8cc79df3fbfc19098db427970058591
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Log Message:
-----------
[Target] Use range-based for loops (NFC) (#146253)
Commit: c9cdc33dd697c5cf02d3934d7458041e7f5fa5c3
https://github.com/llvm/llvm-project/commit/c9cdc33dd697c5cf02d3934d7458041e7f5fa5c3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/ExprConcepts.cpp
M clang/lib/AST/ExprObjC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/Analysis/RetainSummaryManager.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp
M clang/lib/Driver/ToolChains/Managarm.cpp
M clang/lib/Edit/Commit.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/MacroInfo.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
Log Message:
-----------
[clang] Remove unused includes (NFC) (#146254)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: 2248cdfa74ecc09bca2a142029cc4c96e5d00cda
https://github.com/llvm/llvm-project/commit/2248cdfa74ecc09bca2a142029cc4c96e5d00cda
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
Log Message:
-----------
[Arm] Fix UAF in ARMConstantIslandPass (#146232)
https://github.com/llvm/llvm-project/pull/146198 changes
```
for (unsigned i = 0, e = ImmBranches.size(); i != e; ++i)
BRChange |= fixupImmediateBr(ImmBranches[i]);
```
to
```
for (ImmBranch &Br : ImmBranches)
BRChange |= fixupImmediateBr(Br);
```
Unfortunately, they are not NFC and cause the buildbot error. e.g.,
https://lab.llvm.org/buildbot/#/builders/24/builds/9943
https://lab.llvm.org/buildbot/#/builders/169/builds/12570
Use make_early_inc_range to fix the issue
Commit: 279e808b75119173a0b0ab9e4a48091e8dbe8193
https://github.com/llvm/llvm-project/commit/279e808b75119173a0b0ab9e4a48091e8dbe8193
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/test/DebugInfo/X86/debug-line-in-one-fragment.ll
A llvm/test/MC/ELF/mc-dump.s
Log Message:
-----------
MC: Make mc-dump output compact
Remove unneeded details like "<" and ">". Reduce indentation.
Omit `this` address to simplify output comparison.
Add a -debug-only=mc-dump test.
While here, add fixup printing for MCRelaxableFragment.
Commit: 2661d595793c422fa98fa320cc6a7838d2c0e09c
https://github.com/llvm/llvm-project/commit/2661d595793c422fa98fa320cc6a7838d2c0e09c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-28 (Sat, 28 Jun 2025)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
M llvm/test/MC/ELF/mc-dump.s
Log Message:
-----------
MC: Remove post-relaxation and Symbol printing from mc-dump output
The "Symbol" stanza includes symbol names with all zero indexes. which
are not useful.
The "assembler backend - post-relaxation" part is not useful. Only
Hexagon (and X86 when x86-pad-for-align is set) might change the layout
between "post-relaxation" and "final-layout". From my experience
debugging the two passes requires more dumping code not served by the
output.
Commit: 842f4f711d3a2461ad7b27e8f7e30f5270a2ba47
https://github.com/llvm/llvm-project/commit/842f4f711d3a2461ad7b27e8f7e30f5270a2ba47
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Log Message:
-----------
[Target] Prevent copying in loop variables (NFC)
/data/llvm-project/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp:2390: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/SystemZ/SystemZISelLowering.cpp:2390: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/SystemZ/SystemZISelLowering.cpp:2402: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/SystemZ/SystemZISelLowering.cpp:2402: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: b54337d76cc71dc5c807909c679ded74248ac092
https://github.com/llvm/llvm-project/commit/b54337d76cc71dc5c807909c679ded74248ac092
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/test/MC/ELF/mc-dump.s
A llvm/test/MC/RISCV/Relocations/mc-dump.s
Log Message:
-----------
MC: Enhance mc-dump output
* Make pre-layout to -debug-only=mc-dump-pre. This output is not useful
for most debugging needs.
* Print fragment-associated symbols. Make it easier to locate relevant
fragments.
* Print the LinkerRelaxable flag.
Commit: dc1a79a9781452ef565115d68fe1315e6b594f01
https://github.com/llvm/llvm-project/commit/dc1a79a9781452ef565115d68fe1315e6b594f01
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/lib/MC/MCContext.cpp
M llvm/test/MC/ELF/mc-dump.s
Log Message:
-----------
MC: Make save-temp-labels imply UseNamesOnTempLabels
UseNamesOnTempLabels was false in MCObjectStreamer. `createTempSymbol`
created symbols were unnamed, making debugging difficult.
Commit: 8bd6d36a44134f23000762f3cb192a325c4cfd91
https://github.com/llvm/llvm-project/commit/8bd6d36a44134f23000762f3cb192a325c4cfd91
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/test/CodeGen/ARM/fpclamptosat.ll
M llvm/test/CodeGen/ARM/usat-with-shift.ll
M llvm/test/CodeGen/ARM/usat.ll
M llvm/test/CodeGen/Thumb2/mve-vselect-constants.ll
Log Message:
-----------
[ARM] Override hasAndNotCompare (#145441)
bics is available on ARM.
USAT regressions are to be fixed after this because that is an issue
with the ARMISelLowering and should be another PR.
Note that opt optimizes those testcases to min/max intrinsics anyway so
this should have no real effect on codegen.
Proof: https://alive2.llvm.org/ce/z/kPVQ3_
Commit: 20fbbd76755c2ddee515f09e96c59d519aef13e5
https://github.com/llvm/llvm-project/commit/20fbbd76755c2ddee515f09e96c59d519aef13e5
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
Log Message:
-----------
[LV] Add support for cmp reductions with decreasing IVs. (#140451)
Similar to FindLastIV, add FindFirstIVSMin to support select (icmp(), x, y)
reductions where one of x or y is a decreasing induction, producing a SMin
reduction. It uses signed max as sentinel value.
PR: https://github.com/llvm/llvm-project/pull/140451
Commit: c5a49fb62d4196bf26f1a4e2340accd4f242de5d
https://github.com/llvm/llvm-project/commit/c5a49fb62d4196bf26f1a4e2340accd4f242de5d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/dependences-i128-inductions.ll
Log Message:
-----------
[LAA] Add tests with 128 bit inductions and 128 bit pointers.
Adds extra test coverage for
https://github.com/llvm/llvm-project/pull/140048.
Commit: dcc9e36b18264aef4008b88c4ae38e33151c3345
https://github.com/llvm/llvm-project/commit/dcc9e36b18264aef4008b88c4ae38e33151c3345
Author: David Green <david.green at arm.com>
Date: 2025-06-29 (Sun, 29 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 floor (#142559)
This marks ffloor as legal providing that armv8 and neon is present (or
fullfp16 for the fp16 instructions). The existing arm_neon_vrintm
intrinsics are auto-upgraded to llvm.floor.
If this is OK I will update the other vrint intrinsics.
Commit: dd02fb3a51456187b0586693c82285606fae6ee5
https://github.com/llvm/llvm-project/commit/dd02fb3a51456187b0586693c82285606fae6ee5
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/test/Preprocessor/aarch64-target-features.c
M lld/test/MachO/icf-safe-thunks-dwarf.ll
M lld/test/MachO/icf-safe-thunks.ll
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memmove.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memset.mir
M llvm/test/CodeGen/AArch64/lr-reserved-for-ra-live-in.ll
M llvm/test/CodeGen/AArch64/memsize-remarks.ll
M llvm/test/DebugInfo/debug_frame_symbol.ll
M llvm/test/Instrumentation/AddressSanitizer/calls-only-smallfn.ll
M llvm/test/Instrumentation/AddressSanitizer/calls-only.ll
M llvm/test/Transforms/Util/trivial-auto-var-init-crash-20210521.ll
M llvm/test/tools/llvm-dwarfdump/AArch64/template_ref_ptr.ll
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test
Log Message:
-----------
[AArch64] Fix stale +zcm target feature to +zcm-gpr64 (#146260)
Replaces all the uses of `+zcm` with `+zcm-gpr64`. A fix for:
https://github.com/llvm/llvm-project/pull/146051
Commit: 2787759ef2e41b19f8bfde06fe9a26b25d1f5834
https://github.com/llvm/llvm-project/commit/2787759ef2e41b19f8bfde06fe9a26b25d1f5834
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-derived-ivs.ll
Log Message:
-----------
[VPlan] Allow derived IVs and scalar-steps in narrowing interleave.
Both VPDerivedIVRecipe and VPScalarIVSteps recipe should be supported in
narrowInterleaveGroups:
* VPDerivedIVRecipe is based on the canonical IV and independent of VF,
* VPScalarIVSteps takes the VF as operand, so it will be updated by
narrowInterleaveGroup.
Commit: f21f2b483c4f31e8420319f1538757bd90726bdf
https://github.com/llvm/llvm-project/commit/f21f2b483c4f31e8420319f1538757bd90726bdf
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Log Message:
-----------
[InstCombine] Create Icmp in canonical form (NFC) (#146266)
Commit: 267945b665cf197fa26cf2ae89b0c29baf4db031
https://github.com/llvm/llvm-project/commit/267945b665cf197fa26cf2ae89b0c29baf4db031
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.T2.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.other_expected.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.unexpected.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/equality/equality.other_expected.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/equality/equality.unexpected.pass.cpp
M libcxx/test/std/utilities/expected/types.h
M libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp
Log Message:
-----------
[libc++][NFC] Refactored equality comparisons tests for `pair` and `expected` (#145668)
Refactored `std::expected` and `std::pair` tests to use the
canonicalized names from `test_comparisions.h`, which are shared between
tests.
This was split from https://github.com/llvm/llvm-project/pull/139368 as
per comment
https://github.com/llvm/llvm-project/pull/139368#pullrequestreview-2916040573
Towards implementing [P2944R3: Comparisons for
reference_wrapper](https://github.com/llvm/llvm-project/issues/105424)
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: Nikolas Klauser <nikolasklauser at berlin.de>
Commit: f5ed863176dd286462cd5558723dfe445967fedf
https://github.com/llvm/llvm-project/commit/f5ed863176dd286462cd5558723dfe445967fedf
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-derived-ivs.ll
Log Message:
-----------
Revert "[VPlan] Allow derived IVs and scalar-steps in narrowing interleave."
This reverts commit 2787759ef2e41b19f8bfde06fe9a26b25d1f5834.
This exposed a crash on some build bots. Revert to investigate.
Commit: d2d5203bf48af9b55b8e379c1c152fec97349340
https://github.com/llvm/llvm-project/commit/d2d5203bf48af9b55b8e379c1c152fec97349340
Author: Mythreya <git at mythreya.dev>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/tool/ClangdMain.cpp
Log Message:
-----------
[clangd] Consistent precedence between `--header-insertion` and `HeaderInsertion` (#146235)
In PR #128503, the CLI option would take precedence over the config option
only if it was set to `never`. This commit ensures the CLI option always takes
precedence over the config option.
Commit: 43ab5bb92115c8fd02e5da030a13b4ae1f83cb0a
https://github.com/llvm/llvm-project/commit/43ab5bb92115c8fd02e5da030a13b4ae1f83cb0a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
Log Message:
-----------
[CodeGen] Use std::tie to implement a comparison functor (NFC) (#146252)
std::tie clearly expresses the intent while slightly shortening the
code.
Commit: 713839729c97d1ac9492c516d0bf5e1add27fbd3
https://github.com/llvm/llvm-project/commit/713839729c97d1ac9492c516d0bf5e1add27fbd3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
A clang/test/CodeGenCXX/builtin-invoke.cpp
A clang/test/SemaCXX/builtin-invoke.cpp
M libcxx/include/__type_traits/invoke.h
M libcxx/include/__type_traits/is_core_convertible.h
Log Message:
-----------
[Clang] Add __builtin_invoke and use it in libc++ (#116709)
`std::invoke` is currently quite heavy compared to a function call,
since it involves quite heavy SFINAE. This can be done significantly
more efficient by the compiler, since most calls to `std::invoke` are
simple function calls and 6 out of the seven overloads for `std::invoke`
exist only to support member pointers. Even these boil down to a few
relatively simple checks.
Some real-world testing with this patch revealed some significant
results. For example, instantiating `std::format("Banane")` (and its
callees) went down from ~125ms on my system to ~104ms.
Commit: 8d099271c6ce9b9073104f5e2aaf3e06a750b84a
https://github.com/llvm/llvm-project/commit/8d099271c6ce9b9073104f5e2aaf3e06a750b84a
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCInst.h
M llvm/lib/MC/MCInst.cpp
Log Message:
-----------
MCInt: Change dump functions to accept MCContext instead of MCRegiserInfo
* MCContext is more accessible to callers.
* With MCContext available, printExpr can be used to print an MCExpr (MCOperand::print) seamlessly.
Commit: 5fe40b9df3b95d49277b43ea1348d7ff61caeeac
https://github.com/llvm/llvm-project/commit/5fe40b9df3b95d49277b43ea1348d7ff61caeeac
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
Log Message:
-----------
MCExpr: Make print private
Printing an expression is error-prone without a MCAsmInfo argument.
Make print private.
Commit: 37ffe896a5cd8ebf8e71497580d948fc94a2d526
https://github.com/llvm/llvm-project/commit/37ffe896a5cd8ebf8e71497580d948fc94a2d526
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M clang/docs/Toolchain.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/include/c++/8.2.1/.keep
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/.keep
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/crt0.o
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/bin/aarch64-none-elf-ld
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtend.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crt0.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtbegin.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtend.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/bin/aarch64-none-elf-ld
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/include/c++/8.2.1/.keep
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/.keep
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/crt0.o
A clang/test/Driver/Inputs/basic_arm_gcc_tree/bin/armv6m-none-eabi-ld
A clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o
A clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtend.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crt0.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtbegin.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtend.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/bin/armv6m-none-eabi-ld
A clang/test/Driver/aarch64-gnutools.c
A clang/test/Driver/aarch64-toolchain-extra.c
A clang/test/Driver/aarch64-toolchain.c
A clang/test/Driver/arm-gnutools.c
A clang/test/Driver/arm-toolchain-extra.c
A clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal.cpp
A clang/test/Driver/check-no-multlib-warning.c
Log Message:
-----------
Reland [Driver] Add support for GCC installation detection in Baremetal toolchain (#145390)
This patch introduces enhancements to the Baremetal toolchain to support
GCC toolchain detection.
- If the --gcc-install-dir or --gcc-toolchain options are provided and
point to valid paths, the sysroot is derived from those locations.
- If not, the logic falls back to the existing sysroot inference
mechanism already present in the Baremetal toolchain.
- Support for adding include paths for the libstdc++ library has also
been added.
Additionally, the restriction to always use the integrated assembler has
been removed. With a valid GCC installation, the GNU assembler can now
be used as well.
This patch currently updates and adds tests for the ARM target only.
RISC-V-specific tests will be introduced in a later patch, once the
RISCVToolChain is fully merged into the Baremetal toolchain. At this
stage, there is no way to test the RISC-V target within this PR.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: f5c62ee0fa0466382cb11f6fad80d323b0fca057
https://github.com/llvm/llvm-project/commit/f5c62ee0fa0466382cb11f6fad80d323b0fca057
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-outline_atomics.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-rcpc.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-v8a.ll
M llvm/test/CodeGen/AArch64/PHIElimination-debugloc.mir
A llvm/test/CodeGen/AArch64/PHIElimination-reuse-copy.mir
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/atomicrmw-O0.ll
M llvm/test/CodeGen/AArch64/bfis-in-loop.ll
A llvm/test/CodeGen/AArch64/block-layout-regression.mir
M llvm/test/CodeGen/AArch64/complex-deinterleaving-crash.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions.ll
M llvm/test/CodeGen/AArch64/phi.ll
M llvm/test/CodeGen/AArch64/pr48188.ll
M llvm/test/CodeGen/AArch64/ragreedy-csr.ll
M llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
M llvm/test/CodeGen/AArch64/reduce-or-opt.ll
M llvm/test/CodeGen/AArch64/sink-and-fold.ll
M llvm/test/CodeGen/AArch64/sve-lsrchain.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-sink.ll
M llvm/test/CodeGen/AArch64/swifterror.ll
M llvm/test/CodeGen/AArch64/tbl-loops.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/divergent-branch-uniform-condition.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw-system.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/ARM/and-cmp0-sink.ll
M llvm/test/CodeGen/ARM/cttz.ll
M llvm/test/CodeGen/ARM/select-imm.ll
M llvm/test/CodeGen/ARM/struct-byval-loop.ll
M llvm/test/CodeGen/ARM/swifterror.ll
M llvm/test/CodeGen/AVR/bug-81911.ll
M llvm/test/CodeGen/Hexagon/swp-conv3x3-nested.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi7.ll
M llvm/test/CodeGen/Hexagon/swp-matmul-bitext.ll
M llvm/test/CodeGen/Hexagon/swp-stages4.ll
M llvm/test/CodeGen/Hexagon/tinycore.ll
M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/PowerPC/2013-07-01-PHIElimBug.mir
M llvm/test/CodeGen/PowerPC/disable-ctr-ppcf128.ll
M llvm/test/CodeGen/PowerPC/phi-eliminate.mir
M llvm/test/CodeGen/PowerPC/ppcf128-freeze.mir
M llvm/test/CodeGen/PowerPC/pr116071.ll
M llvm/test/CodeGen/PowerPC/sms-phi-2.ll
M llvm/test/CodeGen/PowerPC/sms-phi-3.ll
M llvm/test/CodeGen/PowerPC/stack-restore-with-setjmp.ll
M llvm/test/CodeGen/PowerPC/subreg-postra-2.ll
M llvm/test/CodeGen/PowerPC/vsx.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/machine-pipeliner.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/CodeGen/RISCV/xcvbi.ll
M llvm/test/CodeGen/SystemZ/swifterror.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-disabled-in-loloops.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/varying-outer-2d-reduction.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/while-loops.ll
M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
M llvm/test/CodeGen/Thumb2/mve-float32regloops.ll
M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-reduct.ll
M llvm/test/CodeGen/Thumb2/mve-memtp-loop.ll
M llvm/test/CodeGen/Thumb2/mve-phireg.ll
M llvm/test/CodeGen/Thumb2/mve-pipelineloops.ll
M llvm/test/CodeGen/Thumb2/mve-postinc-dct.ll
M llvm/test/CodeGen/Thumb2/mve-postinc-distribute.ll
M llvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
M llvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
M llvm/test/CodeGen/Thumb2/pr52817.ll
M llvm/test/CodeGen/VE/Scalar/br_jt.ll
M llvm/test/CodeGen/X86/2012-01-10-UndefExceptionEdge.ll
M llvm/test/CodeGen/X86/AMX/amx-ldtilecfg-insert.ll
M llvm/test/CodeGen/X86/AMX/amx-spill-merge.ll
M llvm/test/CodeGen/X86/atomic32.ll
M llvm/test/CodeGen/X86/atomic64.ll
M llvm/test/CodeGen/X86/atomic6432.ll
M llvm/test/CodeGen/X86/callbr-asm-branch-folding.ll
M llvm/test/CodeGen/X86/callbr-asm-kill.mir
M llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness-reduced.ll
M llvm/test/CodeGen/X86/combine-pmuldq.ll
M llvm/test/CodeGen/X86/fp128-select.ll
M llvm/test/CodeGen/X86/madd.ll
M llvm/test/CodeGen/X86/masked_load.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
M llvm/test/CodeGen/X86/pcsections-atomics.ll
M llvm/test/CodeGen/X86/pr15705.ll
M llvm/test/CodeGen/X86/pr32256.ll
M llvm/test/CodeGen/X86/pr38795.ll
M llvm/test/CodeGen/X86/pr49451.ll
M llvm/test/CodeGen/X86/pr63108.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/sse-scalar-fp-arith.ll
M llvm/test/CodeGen/X86/statepoint-cmp-sunk-past-statepoint.ll
M llvm/test/CodeGen/X86/swifterror.ll
M llvm/test/DebugInfo/MIR/InstrRef/phi-regallocd-to-stack.mir
M llvm/test/Transforms/LoopStrengthReduce/AArch64/postidx-load.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution.ll
Log Message:
-----------
[PHIElimination] Reuse existing COPY in predecessor basic block (#131837)
The insertion point of COPY isn't always optimal and could eventually
lead to a worse block layout, see the regression test in the first
commit.
This change affects many architectures but the amount of total
instructions in the test cases seems too be slightly lower.
Commit: b5cd49eff02b7d8de018c8012f0073b7202df1e3
https://github.com/llvm/llvm-project/commit/b5cd49eff02b7d8de018c8012f0073b7202df1e3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M mlir/lib/Transforms/LoopInvariantCodeMotion.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/lib/Transforms/StripDebugInfo.cpp
M mlir/lib/Transforms/Utils/CFGToSCF.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/lib/Transforms/Utils/Inliner.cpp
M mlir/lib/Transforms/Utils/InliningUtils.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/lib/Transforms/ViewOpGraph.cpp
Log Message:
-----------
[mlir] Remove unused includes (NFC) (#146278)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: 40525fb4c78a9020c0cb39c9ec4fb0b14e88eba4
https://github.com/llvm/llvm-project/commit/40525fb4c78a9020c0cb39c9ec4fb0b14e88eba4
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M clang/docs/DebuggingCoroutines.rst
Log Message:
-----------
[NFC][docs][coro] Fix syntax & typos (#146282)
Follow-up fixes to #142651
Commit: a3a60e03e2bf7b79683517584a9a7b3e4c8cd297
https://github.com/llvm/llvm-project/commit/a3a60e03e2bf7b79683517584a9a7b3e4c8cd297
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-scoped-lock.rst
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/mutex
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-scope-lock-warn-on-using-and-typedef-false.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-scoped-lock-warn-on-single-locks-false.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-scoped-lock.cpp
Log Message:
-----------
[clang-tidy] add new check: modernize-use-scoped-lock (#126434)
Add new clang-tidy check that finds uses of `std::lock_guard` and suggests
replacing them with C++17's more flexible and safer alternative
`std::scoped_lock`.
Here is a small description of how it works for better understanding of
the code:
Two separate AST matchers are registered:
- The first one matches declarations of `std::lock_guard` that are
single in their scope (only one `std::lock_guard` in `CompoundStmt`).
It's an easy case, we can emit warning right away.
- The second one matches `CompoundStmt`'s that have multiple
`std::lock_guard` declarations, which means that we may have consecutive
declarations of `std::lock_guard` that can be replaced by a single
`std::scoped_lock`. In order to ensure that declarations are
consecutive, we need to loop over `Stmt`'s in `CompoundStmt`. Here is a
small example:
```cpp
{
std::mutex m1, m2;
std::lock(m1, m2);
std::lock_guard<std::mutex> l1(m, std::adopt_lock); // first declaration of 'std::lock_guard'
std::lock_guard<std::mutex> l2(m, std::adopt_lock); // second declaration of 'std::lock_guard' that can be merged with first using 'scoped_lock'
}
```
This PR closes https://github.com/llvm/llvm-project/issues/107839.
Commit: fa058647fe3ad7834f9d99af7597b00990afc186
https://github.com/llvm/llvm-project/commit/fa058647fe3ad7834f9d99af7597b00990afc186
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Make EndsInComma in ContinuationIndenter consistent (#146256)
Commit: 8943036ec37bc7471a675e0bc05069c55cd834e8
https://github.com/llvm/llvm-project/commit/8943036ec37bc7471a675e0bc05069c55cd834e8
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
Log Message:
-----------
Fix UAF in ARMConstantIslandPass.
Revoke the change in https://github.com/llvm/llvm-project/pull/146198
Commit: 43f2a3cd2df98ef433fab494c263a6acd92ed9d7
https://github.com/llvm/llvm-project/commit/43f2a3cd2df98ef433fab494c263a6acd92ed9d7
Author: Nico Weber <thakis at chromium.org>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/test/BUILD.gn
Log Message:
-----------
[gn] port e34e02128ec5eb8
Commit: ed25d473fb1b7bb85476566cbe1ff78865e4d730
https://github.com/llvm/llvm-project/commit/ed25d473fb1b7bb85476566cbe1ff78865e4d730
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/lib/Driver/ToolChains/BareMetal.h
M clang/test/Driver/aarch64-toolchain-extra.c
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain-extra.c
M clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
Reland [Driver] Add support for crtbegin.o, crtend.o and libgloss lib to BareMetal toolchain object (#144649)
This patch conditionalise the addition of crt{begin,end}.o object files
along with addition of -lgloss lib based on whether libc selected is
newlib or
llvm libc. Since there is no way a user can specify which libc it wants
to
link against, currently passing valid GCCInstallation to driver will
select
newlib otherwise it will default to llvm libc.
Moreover, this patch makes gnuld the default linker for baremetal
toolchain object. User need to pass `-fuse-ld=lld` explicitly to driver
to select
lld
This is the 2nd patch in the series of patches of merging RISCVToolchain
into BareMetal toolchain object.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: d0e8d84424fd5f2451f06e8569aaac1e05bc3b8e
https://github.com/llvm/llvm-project/commit/d0e8d84424fd5f2451f06e8569aaac1e05bc3b8e
Author: Nico Weber <thakis at chromium.org>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/IR/BUILD.gn
Log Message:
-----------
[gn] port 3fdf46ad60f1 (RuntimeLibcalls.inc)
Commit: d8081297bd88aa31008ce90007323e45f2e130fa
https://github.com/llvm/llvm-project/commit/d8081297bd88aa31008ce90007323e45f2e130fa
Author: Nico Weber <thakis at chromium.org>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/BUILD.gn
Log Message:
-----------
[gn build] Port 23f1ba3ee456
Commit: 347a5f4f3d8d363705f069301f84d7350698801f
https://github.com/llvm/llvm-project/commit/347a5f4f3d8d363705f069301f84d7350698801f
Author: Nico Weber <thakis at chromium.org>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/bolt/lib/Core/BUILD.gn
M llvm/utils/gn/secondary/bolt/lib/Rewrite/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/CodeGen/AsmPrinter/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DWARFLinker/Classic/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DWARFLinker/Parallel/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/BUILD.gn
A llvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/LowLevel/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/LogicalView/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-dwarfdump/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-dwarfutil/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-objdump/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/DebugInfo/DWARF/BUILD.gn
Log Message:
-----------
[gn] port 23f1ba3ee456 (DebugInfo/DWARF/LowLevel)
Commit: b822a32659c3fd5afd75c8f028aaa142fbd68e20
https://github.com/llvm/llvm-project/commit/b822a32659c3fd5afd75c8f028aaa142fbd68e20
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
Log Message:
-----------
[VPlan] Fix crash when trying to narrow interleave group storing const.
Use dyn_cast_null to handle the case where an interleave groups stores a
constant in any of its lanes.
Commit: 1f5f38192090f16273e56d2c49837cb28572f4db
https://github.com/llvm/llvm-project/commit/1f5f38192090f16273e56d2c49837cb28572f4db
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-tr.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.tr.gfx1250.w32.ll
Log Message:
-----------
AMDGPU: Implement intrinsic/builtins for gfx1250 load transpose instructions (#146289)
Commit: b62b58d1bbbff7ca200f166603c80470639a0632
https://github.com/llvm/llvm-project/commit/b62b58d1bbbff7ca200f166603c80470639a0632
Author: Julian Brown <julian.brown at amd.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M offload/libomptarget/OpenMP/Mapping.cpp
A offload/test/mapping/duplicate_mappings_1.cpp
A offload/test/mapping/duplicate_mappings_2.cpp
Log Message:
-----------
[OpenMP] Fix crash with duplicate mapping on target directive (#146136)
OpenMP allows duplicate mappings, i.e. in OpenMP 6.0, 7.9.6 "map
Clause":
Two list items of the map clauses on the same construct must not share
original storage unless one of the following is true: they are the same
list item [or other omitted reasons]"
Duplicate mappings can arise as a result of user-defined mapper
processing (which I think is a separate bug, and is not addressed here),
but also in straightforward cases such as:
#pragma omp target map(tofrom: s.mem[0:10]) map(tofrom: s.mem[0:10])
Both these cases cause crashes at runtime at present, due to an
unfortunate interaction between reference counting behaviour and shadow
pointer handling for blocks. This is what happens:
1. The member "s.mem" is copied to the target
2. A shadow pointer is created, modifying the pointer on the target
3. The member "s.mem" is copied to the target again
4. The previous shadow pointer metadata is still present, so the runtime doesn't modify the target pointer a second time.
The fix is to disable step 3 if we've already done step 2 for a given
block that has the "is new" flag set.
Commit: 75f359dc564370b3a109e1e6f1cacaa79fd65347
https://github.com/llvm/llvm-project/commit/75f359dc564370b3a109e1e6f1cacaa79fd65347
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/lib/MC/MCAsmStreamer.cpp
Log Message:
-----------
[MC] Remove an unnecessary cast (NFC) (#146276)
C is already of unsigned char.
Commit: 38df9ebdc6dbfb7ffacb0a3236137bd1819a2f45
https://github.com/llvm/llvm-project/commit/38df9ebdc6dbfb7ffacb0a3236137bd1819a2f45
Author: ur4t <46435411+ur4t at users.noreply.github.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/docs/CMake.rst
Log Message:
-----------
[docs] Fix a typo in llvm/docs/CMake.rst (#138639)
Commit: cd075a40133dbe8a01f4fb1d6b99d55869089edf
https://github.com/llvm/llvm-project/commit/cd075a40133dbe8a01f4fb1d6b99d55869089edf
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCDXContainerStreamer.h
M llvm/include/llvm/MC/MCGOFFStreamer.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSPIRVStreamer.h
M llvm/include/llvm/MC/MCWasmStreamer.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/lib/MC/MCDXContainerStreamer.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSPIRVStreamer.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
Log Message:
-----------
MCObjectStreamer: Deduplicate emitInstToData
Commit: 2de51345fb3d81db5613419695498bdd829bccc5
https://github.com/llvm/llvm-project/commit/2de51345fb3d81db5613419695498bdd829bccc5
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCFragment.h
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
MCFragment: Add addFixup to replace getFixups().push_back()
to not expose SmallVector to the callers. We will make fixup storage out
of line.
Commit: 613222ec332bb698fc053e22619270032c305c2c
https://github.com/llvm/llvm-project/commit/613222ec332bb698fc053e22619270032c305c2c
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fma-combine.ll
M llvm/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.ll
M llvm/test/CodeGen/AMDGPU/mad-combine.ll
A llvm/test/CodeGen/AMDGPU/rsq.f32-safe.ll
M llvm/test/CodeGen/AMDGPU/rsq.f32.ll
M llvm/test/CodeGen/NVPTX/frem.ll
M llvm/test/CodeGen/NVPTX/sqrt-approx.ll
M llvm/test/CodeGen/PowerPC/fma-combine.ll
M llvm/test/CodeGen/X86/change-unsafe-fp-math.ll
M llvm/test/CodeGen/X86/fdiv.ll
Log Message:
-----------
[DAGCombiner] Remove `UnsafeFPMath` usage in `visitFSUBForFMACombine` etc. (#145637)
Remove `UnsafeFPMath` in `visitFMULForFMADistributiveCombine`,
`visitFSUBForFMACombine` and `visitFDIV`.
All affected tests are fixed by add fast math flags manually.
Propagate fast math flags when lowering fdiv in NVPTX backend, so it can
produce optimized dag when `unsafe-fp-math` is absent.
Commit: 9a6e0688b04f1122012548b5f7d627ed347acfba
https://github.com/llvm/llvm-project/commit/9a6e0688b04f1122012548b5f7d627ed347acfba
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/test/CodeGen/MLRegAlloc/Inputs/reference-log-noml.txt
M llvm/test/CodeGen/MLRegAlloc/Inputs/reference-prio-log-noml.txt
M llvm/test/CodeGen/MLRegAlloc/dev-mode-prio-logging.ll
Log Message:
-----------
[mlgo][regalloc] Fix after PR #131837 (#146297)
Commit: e47d4010d34119c2b4a28e7609fde35449a8b437
https://github.com/llvm/llvm-project/commit/e47d4010d34119c2b4a28e7609fde35449a8b437
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-29 (Sun, 29 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:
-----------
CodeView: Move MCCVDefRangeFragment storage to MCContext/MCFragment
Work toward making ~MCCVInlineLineTableFragment trivial.
Commit: d4b5905a259108aa48678311b3ba7357ab108bc9
https://github.com/llvm/llvm-project/commit/d4b5905a259108aa48678311b3ba7357ab108bc9
Author: Jaden Angella <ajaden at google.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/mlir-translate/emitc_classops.mlir
Log Message:
-----------
Add`final` specifier to the classop (#145977)
In some use cases of the `ClassOp`, eg MLGO, we would like to be able to declare the class as final. This specifier allows for that.
Commit: 678ccd5e536d457bde3dbd5d9a24e23024549b3e
https://github.com/llvm/llvm-project/commit/678ccd5e536d457bde3dbd5d9a24e23024549b3e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/lib/IR/DebugInfo.cpp
Log Message:
-----------
[IR] Remove an unnecessary cast (NFC) (#146274)
DT is already of DIType *.
Commit: 72c0fc2305047c481480d8ebee1e393cf1fd0727
https://github.com/llvm/llvm-project/commit/72c0fc2305047c481480d8ebee1e393cf1fd0727
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-29 (Sun, 29 Jun 2025)
Changed paths:
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[LTO] Remove an unnecessary cast (NFC) (#146275)
&I is already of const uint8_t *.
Commit: 42d94afffe643bfe00b1c22f42e53963c59f7201
https://github.com/llvm/llvm-project/commit/42d94afffe643bfe00b1c22f42e53963c59f7201
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-29 (Sun, 29 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] Use range-based for loops (NFC) (#146277)
Commit: 59eaffe93aec6dc116ab7db5ebfee84a6e36112d
https://github.com/llvm/llvm-project/commit/59eaffe93aec6dc116ab7db5ebfee84a6e36112d
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-30 (Mon, 30 Jun 2025)
Changed paths:
M clang/include/clang/Basic/riscv_vector_common.td
Log Message:
-----------
[RISCV] Remove required features zvfhmin from vslideup/vslidedown
Similar to #145891.
Commit: a17f63590ac077a5705c9bed8d4e025b3ef4b299
https://github.com/llvm/llvm-project/commit/a17f63590ac077a5705c9bed8d4e025b3ef4b299
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-extra.c
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain-extra.c
M clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
Log Message:
-----------
Reland [Driver] Fix link order of BareMetal toolchain object (#146291)
The linker job in BareMetal toolchain object will be used by GNU ld and
lld both.
However, gnuld process the arguments in the order in which they appear
on command
line, whereas there is no such restriction with lld.
The previous order was:
LibraryPaths -> Libraries -> LTOOptions -> LinkerInputs The new order
is:
LibraryPaths -> LTOOptions -> LinkerInputs -> Libraries
LTO options need to be added before adding any linker inputs because
file format
after compile stage during LTO is bitcode which gnuld natively cannot
process.
Hence will need to pass appropriate plugins before adding any bitcode
file on the
command line.
Object files that are getting linked need to be passed before processing
any
libraries so that gnuld can appropriately do symbol resolution for the
symbols
for which no definition is provided through user code.
Similar link order is also followed by other linker jobs for gnuld such
as in
gnutools::Linker in Gnu.cpp
This is the 3rd patch in the series of patches of merging RISCVToolchain
into
BareMetal toolchain object.
RFC:
https:
//discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: bb982e733cfcda7e4cfb0583544f68af65211ed1
https://github.com/llvm/llvm-project/commit/bb982e733cfcda7e4cfb0583544f68af65211ed1
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-06-29 (Sun, 29 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/SOPInstructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.monitor.sleep.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_sopp.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_sopp.txt
Log Message:
-----------
AMDGPU: support s_monitor_sleep on gfx1250 (#146293)
Co-Authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
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: 84e82746c3ff63ec23a8b85e9efd4f7fccf92590
https://github.com/llvm/llvm-project/commit/84e82746c3ff63ec23a8b85e9efd4f7fccf92590
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/X86/X86PfmCounters.td
Log Message:
-----------
[X86][llvm-exegesis] fix LNLP performance counter binding issue (#146348)
We added LNLP sched model recently, PFM counter bounding names needs to
match cpu string.
llvm-exegesis wont produce results without correct naming.
Co-authored-by: mattarde <mattarde at intel.com>
Commit: 72b40f7c6437f63ea4d3ee5bbf45887f49cb0e20
https://github.com/llvm/llvm-project/commit/72b40f7c6437f63ea4d3ee5bbf45887f49cb0e20
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h
Log Message:
-----------
[lldb] Delete unused DWARFDataExtractor methods (#146356)
They are left over from our previous attempt at DWARF64. The new attempt
is not using them, and they also don't have equivalents in the llvm
DWARFDataExtractor class.
Commit: c5e4546a01195fd278c65cb989882a349f4d9f8d
https://github.com/llvm/llvm-project/commit/c5e4546a01195fd278c65cb989882a349f4d9f8d
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Log Message:
-----------
[DwarfDebug] Slightly optimize computeKeyInstructions() (NFC) (#146357)
Fetch the DILocation once, instead of many times. This is pretty
trivial, but goes through out-of-line code.
Commit: 7e830f76711f0dfc66780ea13cf780b8760b458b
https://github.com/llvm/llvm-project/commit/7e830f76711f0dfc66780ea13cf780b8760b458b
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/Basic/Targets/M68k.cpp
M clang/test/CodeGen/bitfield-access-pad.c
M clang/test/CodeGenCXX/bitfield-access-empty.cpp
Log Message:
-----------
[Clang] Partially fix m68k alignments (#144740)
As the data layout a few lines further up specifies, the int, long and
pointer alignment should be 16 instead of the default of 32.
The long long alignment is also incorrect, but that would require a
change to the data layout as well.
Comparison with GCC, which consistently uses 2 byte alignment:
https://gcc.godbolt.org/z/K3x6a7dEf At least based on some spot checks,
the changes to bit field layout also make use match GCC now.
This was found by https://github.com/llvm/llvm-project/pull/144720.
Commit: 9beb467d9213fe2becdb0f1469d99ca058189ac7
https://github.com/llvm/llvm-project/commit/9beb467d9213fe2becdb0f1469d99ca058189ac7
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
MC: Store fragment content and fixups out-of-line
Moved `Contents` and `Fixups` SmallVector storage to MCSection, enabling
trivial destructors for most fragment subclasses and eliminating the need
for MCFragment::destroy in ~MCSection.
For appending content to the current section, use
getContentsForAppending. During assembler relaxation, prefer
setContents/setFixups, which may involve copying and reduce the benefits
of https://reviews.llvm.org/D145791.
Moving only Contents out-of-line caused a slight performance regression
(Alexis Engelke's 2024 prototype). By also moving Fragments out-of-line,
fragment destructors become trivial, resulting in
neglgible instructions:u increase for "stage2-O0-g" and [large max-rss decrease](https://llvm-compile-time-tracker.com/compare.php?from=84e82746c3ff63ec23a8b85e9efd4f7fccf92590&to=555a28c0b2f8250a9cf86fd267a04b0460283e15&stat=max-rss&linkStats=on)
for the "stage1-ReleaseLTO-g (link only)" benchmark.
(
An older version using fewer inline functions: https://llvm-compile-time-tracker.com/compare.php?from=bb982e733cfcda7e4cfb0583544f68af65211ed1&to=f12d55f97c47717d438951ecddecf8ebd28c296b&linkStats=on
)
Now using plain SmallVector in MCSection for storage, with potential for
future allocator optimizations, such as allocating `Contents` as the
trailing object of MCDataFragment. (GNU Assembler uses gnulib's obstack
for fragment management.)
Co-authored-by: Alexis Engelke <engelke at in.tum.de>
Pull Request: https://github.com/llvm/llvm-project/pull/146307
Commit: ab6316e2196591a0c331a54ed374d349cb1275d4
https://github.com/llvm/llvm-project/commit/ab6316e2196591a0c331a54ed374d349cb1275d4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Coroutines/CoroElide.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
Log Message:
-----------
[Coroutines] Work on intrinsic IDs instead of names (NFCI) (#145518)
For the checks whether certain intrinsics are used, work with intrinsic
IDs instead of intrinsic names.
This also exposes that some of the checks were incorrect, because the
intrinsics were overloaded. There is no efficient way to determine
whether these are used. This change explicitly documents which
intrinsics are not checked for this reason.
Commit: 372e332a57ed77a1787461d2c1e8ef69ec745c0a
https://github.com/llvm/llvm-project/commit/372e332a57ed77a1787461d2c1e8ef69ec745c0a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/test/CodeGen/X86/freeze-unary.ll
Log Message:
-----------
[X86] freeze-unary.ll - remove unnecessary freeze from CTLZ/CTTZ_ZERO_UNDEF tests
Commit: 65cb0eae58d2b668869f3e8f10cb79eb2b8c55ac
https://github.com/llvm/llvm-project/commit/65cb0eae58d2b668869f3e8f10cb79eb2b8c55ac
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-omp.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/nested-loop-transformation-construct01.f90
A flang/test/Lower/OpenMP/nested-loop-transformation-construct02.f90
A flang/test/Parser/OpenMP/loop-transformation-construct01.f90
A flang/test/Parser/OpenMP/loop-transformation-construct02.f90
A flang/test/Semantics/OpenMP/loop-transformation-construct01.f90
Log Message:
-----------
[Flang][OpenMP] Add Semantics support for Nested OpenMPLoopConstructs (#145917)
In OpenMP Version 5.1, the tile and unroll directives were added. When
using these directives, it is possible to nest them within other OpenMP
Loop Constructs. This patch enables the semantics to allow for this
behaviour on these specific directives. Any nested loops will be stored
within the initial Loop Construct until reaching the DoConstruct itself.
Relevant tests have been added, and previous behaviour has been retained
with no changes.
See also, #110008
Commit: 3cc200f46b9c319beef2efc1131e34238402746b
https://github.com/llvm/llvm-project/commit/3cc200f46b9c319beef2efc1131e34238402746b
Author: Zakk Chen <zakk0610 at gmail.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/unittests/ADT/DynamicAPIntTest.cpp
Log Message:
-----------
DynamicAPInt: Support APInt constructor. (#146301)
This PR introduces a constructor for `DynamicAPInt` that takes an
`APInt` object as input to simplifies the creation of a large numbers.
Commit: 67be4fe3d5fd986a3149de3806bcf2c92320015e
https://github.com/llvm/llvm-project/commit/67be4fe3d5fd986a3149de3806bcf2c92320015e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
Log Message:
-----------
Fix MSVC implicit double -> float truncation warning. NFC.
Commit: b5f4fd03c2cc05f6df33cf571ae1c90fb2169fff
https://github.com/llvm/llvm-project/commit/b5f4fd03c2cc05f6df33cf571ae1c90fb2169fff
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Remove unused variable AllFloatVectorsExceptFP16. NFC.
Commit: cb806510914ed909b934d285062a9efb13b1cea4
https://github.com/llvm/llvm-project/commit/cb806510914ed909b934d285062a9efb13b1cea4
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/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Merge AllBFloatVectors into AllFloatVectors. NFC.
Commit: 5fa4eb1dfd8f463374e37799702411cca154d2e4
https://github.com/llvm/llvm-project/commit/5fa4eb1dfd8f463374e37799702411cca154d2e4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
Log Message:
-----------
[Clang] Verify data layout consistency (#144720)
Verify that the alignments specified by clang TargetInfo match the
alignments specified by LLVM data layout, which will hopefully prevent
accidental mismatches in the future.
This currently contains opt-outs for a number of of existing mismatches.
I'm also skipping the verification if options like `-malign-double` are
used, or a language that mandates sizes/alignments that differ from C.
The verification happens in CodeGen, as we can't have an IR dependency
in Basic.
Commit: 102c22cb2c100808c383573f0b7fc74d1537487b
https://github.com/llvm/llvm-project/commit/102c22cb2c100808c383573f0b7fc74d1537487b
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/test/Other/fatlto.ll
Log Message:
-----------
[FatLTO] Disable analysis verification in pipeline test (NFC)
To fix test failure with expensive checks reports at:
https://github.com/llvm/llvm-project/pull/146048#issuecomment-3022421122
Commit: 84c849e85b0f8ab2d8bbeb2d9c46349f019f4e8e
https://github.com/llvm/llvm-project/commit/84c849e85b0f8ab2d8bbeb2d9c46349f019f4e8e
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/binop-recurrence.ll
Log Message:
-----------
[InstCombine] Combine interleaved recurrences. (#143878)
Combine sequences such as:
```llvm
%pn1 = phi [init1, %BB1], [%op1, %BB2]
%pn2 = phi [init2, %BB1], [%op2, %BB2]
%op1 = binop %pn1, constant1
%op2 = binop %pn2, constant2
%rdx = binop %op1, %op2
```
Into:
```llvm
%phi_combined = phi [init_combined, %BB1], [%op_combined, %BB2]
%rdx_combined = binop %phi_combined, constant_combined
```
This allows us to simplify interleaved reductions, for example as
introduced by the loop vectorizer.
The anecdotal example for this is the loop below:
```c
float foo() {
float q = 1.f;
for (int i = 0; i < 1000; ++i)
q *= .99f;
return q;
}
```
Which currently gets lowered explicitly such as (on AArch64,
interleaved by four):
```gas
.LBB0_1:
fmul v0.4s, v0.4s, v1.4s
fmul v2.4s, v2.4s, v1.4s
fmul v3.4s, v3.4s, v1.4s
fmul v4.4s, v4.4s, v1.4s
subs w8, w8, #32
b.ne .LBB0_1
```
But with this patch lowers trivially:
```gas
foo:
mov w8, #5028
movk w8, #14389, lsl #16
fmov s0, w8
ret
```
Commit: a6bb895efe47c56d99556c38172e554fb6a9110c
https://github.com/llvm/llvm-project/commit/a6bb895efe47c56d99556c38172e554fb6a9110c
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/select-fp.ll
Log Message:
-----------
[RISCV] Fix typo in header of llvm/test/CodeGen/RISCV/rvv/select-fp.ll. NFC.
I believe that the second and third llc tests in the header tend to use
zvfhmin extension rather than zvfh; otherwise, they would be duplicates.
Commit: cd10ded697878b0a10b65fbcd2a8f9387bdbf2b7
https://github.com/llvm/llvm-project/commit/cd10ded697878b0a10b65fbcd2a8f9387bdbf2b7
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/test/Preprocessor/arm-target-features.c
Log Message:
-----------
[Clang] Remove AArch64TargetInfo::setArchFeatures (#146107)
When compiling with `-march=armv9-a+nosve` we found that Clang still
defines the `__ARM_FEATURE_SVE2` macro, which is explicitly set in
`setArchFeatures` when compiling for armv9-a.
After some experimenting, I found out that the list of features passed
into `AArch64TargetInfo::handleTargetFeatures` has already been expanded
and takes into account `+no[feature]` and has already expanded features
like `armv9-a`.
>From that I conclude that `setArchFeatures` is no longer required.
Commit: 698ec8c7ba6c47cfec6112d1c93b481fc9ac7973
https://github.com/llvm/llvm-project/commit/698ec8c7ba6c47cfec6112d1c93b481fc9ac7973
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
M mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Tosa/Transforms/TosaConvertIntegerTypeToSignless.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
A mlir/test/Dialect/Tosa/tosa-convert-integer-type-to-signless.mlir
A mlir/test/Dialect/Tosa/tosa-validation-valid.mlir
Log Message:
-----------
[mlir][tosa] Require signless types in validation and add corresponding conversion pass (#144367)
Firstly, this commit requires that all types are signless in the strict
mode of the validation pass. This is because signless types on
operations are required by the TOSA specification. The "strict" mode in
the validation pass is the final check for TOSA conformance to the
specification, which can often be used for conversion to other formats.
In addition, a conversion pass `--tosa-convert-integer-type-to-signless`
is provided to allow a user to convert all integer types to signless.
The intention is that this pass can be run before the validation pass.
Following use of this pass, input/output information should be carried
independently by the user.
Commit: 5c08aeac85e5ac8da0a909cafbcc2a571284c4f9
https://github.com/llvm/llvm-project/commit/5c08aeac85e5ac8da0a909cafbcc2a571284c4f9
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/include/clang/AST/DeclarationName.h
Log Message:
-----------
[clang] Don't use raw source location in DeclarationName, NFC (#146412)
Converting back and forth for the source location raw encoding is
unnecessary.
Commit: cd60247a0fca43964103775a4c18a01e0ae1bf0e
https://github.com/llvm/llvm-project/commit/cd60247a0fca43964103775a4c18a01e0ae1bf0e
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/docs/DeveloperPolicy.rst
Log Message:
-----------
[llvm][docs] Document how to ask for things other than commit access (#146340)
This is the implicit process but useful to spell it out I think. To give
folks more confidence in asking.
Inspired by
https://discourse.llvm.org/t/request-github-issue-triage-permission-for-labeling-clang-issues/87126/1
Commit: 8fe25f30714ce0a45d60593ac7c2c1564a91b31c
https://github.com/llvm/llvm-project/commit/8fe25f30714ce0a45d60593ac7c2c1564a91b31c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[PowerPC] Remove chenzheng1030 from active maintainers (#145519)
chenzheng1030 has left IBM and no longer works on the PowerPC
backend. Move them from active to former maintainers.
Commit: 2ee884a9db293d8906056414753b64918517be4a
https://github.com/llvm/llvm-project/commit/2ee884a9db293d8906056414753b64918517be4a
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang-tools-extra/clang-doc/Serialize.cpp
Log Message:
-----------
[clang-doc] Remove the unused clangd header.
This header seems to be included unintentionally.
Commit: 4e30f8101e4bcdc05b2a4a8c26f51a0d4f20b265
https://github.com/llvm/llvm-project/commit/4e30f8101e4bcdc05b2a4a8c26f51a0d4f20b265
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitFREEZE - remove isGuaranteedNotToBeUndefOrPoison assertion (#146490)
Although nice to have to prove the freeze can be moved, this can fail
immediately after freeze(op(...)) -> op(freeze(),freeze(),...) creation
if any of the new freeze nodes now prevents value tracking from seeing
through to the source values (e.g. shift amounts/element indices are in
bounds etc.).
This will allow us to remove the isGuaranteedNotToBeUndefOrPoison checks
inside canCreateUndefOrPoison that were discussed on #146361
Commit: 43d2486e27fd73efdd261713a7bfa7b4f9e9d99e
https://github.com/llvm/llvm-project/commit/43d2486e27fd73efdd261713a7bfa7b4f9e9d99e
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M mlir/test/IR/region.mlir
M mlir/test/lib/Dialect/Test/TestFormatUtils.cpp
M mlir/test/lib/Dialect/Test/TestFormatUtils.h
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/mlir-tblgen/op-format-spec.td
M mlir/test/mlir-tblgen/op-format.td
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][tblgen] Fix region and successor references in custom directives (#146242)
Previously, references to regions and successors were incorrectly disallowed outside the top-level assembly form. This change enables the use of bound regions and successors as variables in custom directives.
Commit: a97826a13b7cc5a56e7e87066d3f976ae6aef938
https://github.com/llvm/llvm-project/commit/a97826a13b7cc5a56e7e87066d3f976ae6aef938
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[DAG] canCreateUndefOrPoison - explicitly state the AssertSext/Zext/Align/NoFPClass can create poison. NFC. (#146493)
This keeps getting forgotten (e.g. #66603) - so make a point of adding
it here to make it clear instead of relying on the implicit default of
returning true.
Commit: f581ef5b6687b6623e02e9b85dfe65750493e4ae
https://github.com/llvm/llvm-project/commit/f581ef5b6687b6623e02e9b85dfe65750493e4ae
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
A mlir/test/Conversion/GPUToSPIRV/rotate.mlir
M mlir/test/Dialect/GPU/invalid.mlir
M mlir/test/Dialect/GPU/ops.mlir
Log Message:
-----------
[mlir][gpu] Add gpu.rotate operation (#142796)
Add gpu.rotate operation and a pattern to convert gpu.rotate to SPIR-V
OpGroupNonUniformRotateKHR.
Commit: 6d6b36439f38556be9081feb11e8ebbbbc95d9d0
https://github.com/llvm/llvm-project/commit/6d6b36439f38556be9081feb11e8ebbbbc95d9d0
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
Log Message:
-----------
[Clang][AArch64] Move definitions of FP8 Neon loads & stores (#146352)
Moves the definitions of FP8 loads & stores so that they are guarded
by `ArchGuard = "defined(__aarch64__) || defined(__arm64ec__)"`
Commit: 37d30d9e219a8e42a26eed34e799ab3646039b43
https://github.com/llvm/llvm-project/commit/37d30d9e219a8e42a26eed34e799ab3646039b43
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M mlir/test/mlir-tblgen/op-format-spec.td
Log Message:
-----------
[mlir][tblgen] Fix test definition names to reflect expected valid results (NFC) (#146243)
Commit: fd46e409a91f66764b3c9d19dd3d6d3eb48c61ff
https://github.com/llvm/llvm-project/commit/fd46e409a91f66764b3c9d19dd3d6d3eb48c61ff
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] detectZextAbsDiff - use m_SpecificVectorElementVT matcher. NFC. (#146498)
Commit: 90e20d4f42c31060a64a4848affd2b1fd16a4ffe
https://github.com/llvm/llvm-project/commit/90e20d4f42c31060a64a4848affd2b1fd16a4ffe
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/SemaCXX/cxx2c-binding-pack.cpp
Log Message:
-----------
[Clang][Bytecode] Implement P1061 structured binding pack (#146474)
Other part of this feature was implemented by #121417.
Commit: a6339d0e5854b38fb8d9ec28974e129fdd0961f0
https://github.com/llvm/llvm-project/commit/a6339d0e5854b38fb8d9ec28974e129fdd0961f0
Author: kd0608 <42680371+Karthikdhondi at users.noreply.github.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/lib/AST/RecordLayoutBuilder.cpp
A clang/test/AST/absurdly_big_struct.cpp
M clang/test/Sema/offsetof-64.c
Log Message:
-----------
[clang]Fix Handle structs exceeding 1EB size limit (#146032)
When declaring multiple arrays of 1 ExaByte in a struct, the offset can
exceed 2EB, causing incorrect struct size reporting (only 1EB). This fix
ensures an error is thrown, preventing the generation of incorrect
assembly. #60272
Commit: 4a2fa0847fb07d181ef71798cb8d7f4c34599fbf
https://github.com/llvm/llvm-project/commit/4a2fa0847fb07d181ef71798cb8d7f4c34599fbf
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/only-compute-cost-for-vplan-vfs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
Log Message:
-----------
[VPlan] Support VPWidenIntOrFpInductionRecipes with EVL tail folding (#144666)
Following on from #118638, this handles widened induction variables with
EVL tail folding by setting the VF operand to be EVL, calculated in the
vector body.
We need to do this for correctness since with EVL tail folding the
number of elements processed in the penultimate iteration may not be VF,
but the runtime EVL, and we need take this into account when updating
the backedge value.
- Because the VF may now not be a live-in we need to move the insertion
point to just after the VFs definition
- We also need to avoid truncating it when it's the same size as the
step type, previously this wasn't a problem for live-ins.
- Also because the VF may be smaller than the IV type, since the EVL is
always i32, we may need to zext it.
On -march=rva23u64 -O3 we get 87.1% more loops vectorized on TSVC, and
42.8% more loops vectorized on SPEC CPU 2017
Commit: 56841565db77af6eb668b59add3cb1d0f38875e8
https://github.com/llvm/llvm-project/commit/56841565db77af6eb668b59add3cb1d0f38875e8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/freeze-unary.ll
Log Message:
-----------
[DAG] canCreateUndefOrPoison - add handling for CTTZ/CTLZ_ZERO_UNDEF nodes (#146501)
CTTZ/CTLZ_ZERO_UNDEF nodes can only create poison if the source value is zero - so check with isKnownNeverZero
Pulled out of #146361 and reapplied now that #146490 has landed.
Commit: 89fe429262933ee7fcadc717c376e7fad8a48157
https://github.com/llvm/llvm-project/commit/89fe429262933ee7fcadc717c376e7fad8a48157
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[DAG] canCreateUndefOrPoison - remove isGuaranteedNotToBeUndefOrPoison check for shift nodes (#146502)
No longer necessary now that #146490 has landed - we still have the test coverage from #94145 that covers this.
Commit: 67b79468fbba54043a6085920c11ccb9b2b7e201
https://github.com/llvm/llvm-project/commit/67b79468fbba54043a6085920c11ccb9b2b7e201
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Factor out getKillRegState in copyPhysReg (NFC) (#146454)
This is used multiple times in the function.
Commit: 15ab4bb5c8a7165762d0d3725828f3d511075225
https://github.com/llvm/llvm-project/commit/15ab4bb5c8a7165762d0d3725828f3d511075225
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
A llvm/test/CodeGen/Hexagon/hexagon-strcpy.ll
Log Message:
-----------
[Hexagon] Implement shouldConvertConstantLoadToIntImm (#146452)
This will convert loads of constant strings to immediate values. Put
this behind a flag that is enabled by default so that we can toggle it
if need be.
Commit: 9b13dfdfbc6d3ca3ec0e3e6d9f5e9271eee13258
https://github.com/llvm/llvm-project/commit/9b13dfdfbc6d3ca3ec0e3e6d9f5e9271eee13258
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/check-prof-info.ll
Log Message:
-----------
[LV] Use vscale for tuning to improve branch weight estimates (#144733)
In addBranchWeightToMiddleTerminator we attempt to add branch weights to
the middle block terminator. We pessimistically assume vscale=1, whereas
we can improve the estimate by using the value of vscale used for
tuning.
Commit: b8b74945514358f1ebeac0874172f37fc7bfa38e
https://github.com/llvm/llvm-project/commit/b8b74945514358f1ebeac0874172f37fc7bfa38e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-gep.ll
M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll
Log Message:
-----------
[InstCombine] Rewrite multi-use GEPs when simplifying comparison (#146100)
We already do this when both sides are a GEP, but not if only one is.
This ensures that the offset arithmetic is not duplicated.
Commit: d9d9ab869817d6448949886f89032b06cddf63d4
https://github.com/llvm/llvm-project/commit/d9d9ab869817d6448949886f89032b06cddf63d4
Author: Mythreya <git at mythreya.dev>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
A clang/test/CodeCompletion/skip-explicit-object-parameter.cpp
Log Message:
-----------
[clang][CodeComplete] skip explicit obj param in code completion string (#146258)
Fixes clangd/clangd#2339
Commit: 6731f151ea158c780de85dac9aa545c8118cda2a
https://github.com/llvm/llvm-project/commit/6731f151ea158c780de85dac9aa545c8118cda2a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode] Remove unused InRange function (#146509)
Commit: 524f0903064c7ffd1a1f3b3b6f7d5da31151bfca
https://github.com/llvm/llvm-project/commit/524f0903064c7ffd1a1f3b3b6f7d5da31151bfca
Author: Rob Buis <rbuis at igalia.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-safe-functions.mm
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Treat CFEqual as a safe function (#146369)
CFEqual is a trivial function, so treat it as safe.
Commit: 72f87d2d69b2a735f6a68e7ee53fa9a7597b6b3a
https://github.com/llvm/llvm-project/commit/72f87d2d69b2a735f6a68e7ee53fa9a7597b6b3a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[DAG] canCreateUndefOrPoison - remove isGuaranteedNotToBeUndefOrPoison check for insert/extract vector element indices (#146514)
No longer necessary now that #146490 has landed
Commit: 771ee8e38785ac8f3366e0e15c4028d7031bbff7
https://github.com/llvm/llvm-project/commit/771ee8e38785ac8f3366e0e15c4028d7031bbff7
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add mising dependency for 698ec8c7ba6c47cfec6112d1c93b481fc9ac7973
Commit: 3702d64801c872bf41a29b0aabda868ab3e26f12
https://github.com/llvm/llvm-project/commit/3702d64801c872bf41a29b0aabda868ab3e26f12
Author: Denzel-Brian Budii <73462654+chios202 at users.noreply.github.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M mlir/include/mlir/Query/Matcher/Marshallers.h
M mlir/include/mlir/Query/Matcher/MatchFinder.h
M mlir/include/mlir/Query/Matcher/MatchersInternal.h
M mlir/include/mlir/Query/Matcher/SliceMatchers.h
M mlir/include/mlir/Query/Matcher/VariantValue.h
M mlir/lib/Query/Matcher/CMakeLists.txt
A mlir/lib/Query/Matcher/MatchersInternal.cpp
M mlir/lib/Query/Matcher/RegistryManager.cpp
M mlir/lib/Query/Matcher/VariantValue.cpp
M mlir/lib/Query/Query.cpp
A mlir/test/mlir-query/backward-slice-union.mlir
R mlir/test/mlir-query/complex-test.mlir
A mlir/test/mlir-query/forward-slice-by-predicate.mlir
A mlir/test/mlir-query/logical-operator-test.mlir
A mlir/test/mlir-query/slice-function-extraction.mlir
M mlir/tools/mlir-query/mlir-query.cpp
Log Message:
-----------
[mlir] Reapply 141423 mlir-query combinators plus fix (#146156)
An uninitialized variable that caused a crash
(https://lab.llvm.org/buildbot/#/builders/164/builds/11004) was
identified using the memory analyzer, leading to the reversion of
https://github.com/llvm/llvm-project/pull/141423. This pull request
reapplies the previously reverted changes and includes the fix, which
has been tested locally following the steps at
https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild.
Note: the fix is included as part of the second commit
Commit: e44fbea0a17f468d45de5eaef158642f067f678c
https://github.com/llvm/llvm-project/commit/e44fbea0a17f468d45de5eaef158642f067f678c
Author: Shivam Gupta <shivam98.tkg at gmail.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/initializes.ll
Log Message:
-----------
[FunctionAttrs] Handle ConstantRange overflow in memset initializes inference (#145739)
Avoid constructing invalid ConstantRange when Offset + Length in memset
overflows signed 64-bit integer space. This prevents assertion failures
when inferring the initializes attribute.
Fixes #140345
Commit: 857815f3fa269dc0fcf2fa5b4cb95835241f0a81
https://github.com/llvm/llvm-project/commit/857815f3fa269dc0fcf2fa5b4cb95835241f0a81
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/test/CIR/CodeGenOpenACC/update.c
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[OpenACC][CIR] Implement 'rest' of update clause lowering (#146414)
This implements the async, wait, if, and if_present (as well as
device_type, but that is a detail of async/wait) lowering. All of
these are implemented the same way they are for the compute constructs,
so this is a pretty mild amount of changes.
Commit: da0828b1e93c0fb6266225d8e6d41b2d9ef1f346
https://github.com/llvm/llvm-project/commit/da0828b1e93c0fb6266225d8e6d41b2d9ef1f346
Author: Hemang Gadhavi <hemang.gadhavi at ibm.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/unittests/SymbolFile/DWARF/CMakeLists.txt
A lldb/unittests/SymbolFile/DWARF/DWARF64UnitTest.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Enable support for DWARF64 format handling (#145645)
This PR introduces support for the DWARF64 format, enabling handling of
64-bit DWARF sections as defined by the DWARF specification. The update
includes adjustments to header parsing and modification of form values
to accommodate 64-bit offsets and values.
Also Added the testcase to verify the DWARF64 format.
Commit: 1a253e213daf4a83ca593499230b448d7e208093
https://github.com/llvm/llvm-project/commit/1a253e213daf4a83ca593499230b448d7e208093
Author: Callum Fare <callum at codeplay.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M offload/tools/offload-tblgen/APIGen.cpp
M offload/tools/offload-tblgen/RecordTypes.hpp
Log Message:
-----------
[NFC][Offload] Fix possible edge cases in offload-tblgen (#146511)
Fix a couple of unhandled edge cases in offload-tblgen that were found
by static analysis
* `LineStart` may wrap around to 0 when processing multi-line strings.
The value is not actually being used in that case, but still better to
explicitly handle it
* Possible unchecked nullptr when processing parameter flags
Commit: bedd7ddb7fb54c24a296ea6c32606f8172d13896
https://github.com/llvm/llvm-project/commit/bedd7ddb7fb54c24a296ea6c32606f8172d13896
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[InstCombine] Fix use after free
Load the nowrap flags before calling EmitGEPOffset(), as this may
free the instruction.
Commit: 3355cca9380e6e72e5139c6407de7132478635c3
https://github.com/llvm/llvm-project/commit/3355cca9380e6e72e5139c6407de7132478635c3
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/combine-and-sext-bool.ll
M llvm/test/CodeGen/AMDGPU/icmp.i16.ll
M llvm/test/CodeGen/AMDGPU/valu-i1.ll
M llvm/test/CodeGen/AMDGPU/vcmp-saveexec-to-vcmpx.ll
M llvm/test/CodeGen/AMDGPU/widen-vselect-and-mask.ll
Log Message:
-----------
[NFC][AMDGPU] Auto generate check lines for some test cases (#146400)
Commit: 08cf6ae537852d39f93f76575fff62ea26e21ed1
https://github.com/llvm/llvm-project/commit/08cf6ae537852d39f93f76575fff62ea26e21ed1
Author: Nicolas Vasilache <Nico.Vasilache at amd.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/Transforms/Passes.td
M mlir/include/mlir/Dialect/MemRef/Transforms/Transforms.h
M mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
A mlir/lib/Dialect/MemRef/Transforms/ReifyResultShapes.cpp
A mlir/test/Dialect/Tensor/reify-shapes.mlir
Log Message:
-----------
[mlir][memref] Add a new `ReifyResultShapes` pass (#145927)
This pass reifies the shapes of a subset of
`ReifyRankedShapedTypeOpInterface` ops with `tensor` results.
The pass currently only supports result shape type reification for:
- tensor::PadOp
- tensor::ConcatOp
It addresses a representation gap where implicit op semantics are needed
to infer static result types from dynamic
operands. But it does so by using `ReifyRankedShapedTypeOpInterface` as
the source of truth rather than the op itself.
As a consequence, this cannot generalize today.
TODO: in the future, we should consider coupling this information with
op "transfer functions" (e.g.
`IndexingMapOpInterface`) to provide a source of truth that can work
across result shape inference, canonicalization and
op verifiers.
The pass replaces the operations with their reified versions, when more
static information can be derived, and inserts
casts when results shapes are updated.
Example:
```mlir
#map = affine_map<(d0) -> (-d0 + 256)>
func.func @func(%arg0: f32, %arg1: index, %arg2: tensor<64x?x64xf32>) -> tensor<1x?x64xf32> {
%0 = affine.apply #map(%arg1)
%extracted_slice = tensor.extract_slice %arg2[0, 0, 0] [1, %arg1, 64] [1, 1, 1] : tensor<64x?x64xf32> to tensor<1x?x64xf32>
%padded = tensor.pad %extracted_slice low[0, 0, 0] high[0, %0, 0] {
^bb0(%arg3: index, %arg4: index, %arg5: index):
tensor.yield %arg0 : f32
} : tensor<1x?x64xf32> to tensor<1x?x64xf32>
return %padded : tensor<1x?x64xf32>
}
// mlir-opt --reify-result-shapes
#map = affine_map<()[s0] -> (-s0 + 256)>
func.func @func(%arg0: f32, %arg1: index, %arg2: tensor<64x?x64xf32>) -> tensor<1x?x64xf32> {
%0 = affine.apply #map()[%arg1]
%extracted_slice = tensor.extract_slice %arg2[0, 0, 0] [1, %arg1, 64] [1, 1, 1] : tensor<64x?x64xf32> to tensor<1x?x64xf32>
%padded = tensor.pad %extracted_slice low[0, 0, 0] high[0, %0, 0] {
^bb0(%arg3: index, %arg4: index, %arg5: index):
tensor.yield %arg0 : f32
} : tensor<1x?x64xf32> to tensor<1x256x64xf32>
%cast = tensor.cast %padded : tensor<1x256x64xf32> to tensor<1x?x64xf32>
return %cast : tensor<1x?x64xf32>
}
```
---------
Co-authored-by: Fabian Mora <fabian.mora-cordero at amd.com>
Commit: 8cfd9b88215acd1bff339c0d4ed60d688dcbcfdd
https://github.com/llvm/llvm-project/commit/8cfd9b88215acd1bff339c0d4ed60d688dcbcfdd
Author: Zhuoran Yin <zhuoryin at amd.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
Log Message:
-----------
[MLIR] Make generic skip packing init operand when not used in DataLayoutPropagation (#146139)
In both `bubbleUpPackOpThroughGenericOp()` or
`pushDownUnPackOpThroughGenericOp()`, we can simplify the lowered IR by
removing the pack of an empty when the init tensor isn't used in generic
op. Instead of packing an empty tensor, the empty tensor can be
forwarded to the generic output. This allows cleaner result after data
layout propagation.
Commit: 1fe993c251966697d75123eb38fa710cdb346c8d
https://github.com/llvm/llvm-project/commit/1fe993c251966697d75123eb38fa710cdb346c8d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
Log Message:
-----------
[clang][bytecode] Allocate operator new data as array (#146471)
Even if we only allocate one element, we still need to allocate it as a
single-element array. This matches what the current interpreter does.
Commit: a6592ddf4ed9d819b9074ff9a29ed988e826e53d
https://github.com/llvm/llvm-project/commit/a6592ddf4ed9d819b9074ff9a29ed988e826e53d
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsARM.td
M llvm/test/Analysis/BasicAA/cs-cs-arm.ll
M llvm/test/Analysis/BasicAA/intrinsics-arm.ll
M llvm/test/Assembler/aarch64-intrinsics-attributes.ll
Log Message:
-----------
[AArch64] Mark neon.stN intrinsics as writeonly (#145289)
I found this peculiar comment in EarlyCSE:
https://github.com/llvm/llvm-project/blob/1c78d8d9d7bcb4b20910047ad7db35f177a17c8c/llvm/lib/Transforms/Scalar/EarlyCSE.cpp#L1620-L1624
Looking back over history, this seems to be referring to the
aarch64.neon.stN intrinsics, which are indeed not marked writeonly
(though the ldN intrinsics are readonly).
Possibly I'm missing something special about these intrinsics, but I
think it is safe to mark them as writeonly.
Commit: bab9d4c2d78ad0ee45889be66e006867ddd0bcef
https://github.com/llvm/llvm-project/commit/bab9d4c2d78ad0ee45889be66e006867ddd0bcef
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/cmp_shrink.mir
Log Message:
-----------
[NFC][AMDGPU] Pre-commit a test case that shows wrong reverse operation is used for V_CMPX_LE_U32 (#146527)
Commit: 42e779692027e1bdcb8085b37b428011328c43c8
https://github.com/llvm/llvm-project/commit/42e779692027e1bdcb8085b37b428011328c43c8
Author: David Green <david.green at arm.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
Log Message:
-----------
[ARM] Add a comment about fixupImmediateBr updaing ImmBranches. NFC
To prevent people from modernizing the loop, add a comment that
fixupImmediateBr can append to ImmBranches.
Commit: f9413e1754a508f410f05ec8ba84632b4d4b8528
https://github.com/llvm/llvm-project/commit/f9413e1754a508f410f05ec8ba84632b4d4b8528
Author: Frederik Harwath <frederik.harwath at amd.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/test/Driver/gcc-toolchain.cpp
Log Message:
-----------
[clang][test] Remove duplication from gcc toolchain test (NFC) (#146487)
Changes from Commit 40aab0412fe7a14781e133627c2bb0a22761eac8 "[test]
Migrate -gcc-toolchain with space separator to --gcc-toolchain=" made
two previously different RUN lines equal.
Remove one RUN line.
Commit: ace5108f373e963181da72c7f3c7d31029b30626
https://github.com/llvm/llvm-project/commit/ace5108f373e963181da72c7f3c7d31029b30626
Author: Ege Beysel <beyselege at gmail.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
Log Message:
-----------
feat(linalg): add a way to pass controlFn to `foldIntoPackUnpackPatterns` (#143685)
This PR adds a mechanism, so that downstream consumers can pass in
control functions for the application of these patterns. This change
shouldn't affect any consumers of this method that do not specify a
controlFn. The controlFn always gets the source operand of the consumer
in each of the patterns as a parameter.
In IREE, we (will) use it to control preventing folding patterns that
would inhibit fusion. See IREE issue
[#20896](https://github.com/iree-org/iree/issues/20896) for more
details.
Commit: 11ecd4742b74697b8331d0051e533302e4d17c85
https://github.com/llvm/llvm-project/commit/11ecd4742b74697b8331d0051e533302e4d17c85
Author: cmtice <cmtice at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M lldb/source/Target/StackFrame.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/test/API/commands/frame/var-dil/basics/MemberOf/TestFrameVarDILMemberOf.py
M lldb/test/API/commands/frame/var-dil/basics/MemberOfAnonymousMember/TestFrameVarDILMemberOfAnonymousMember.py
Log Message:
-----------
[LLDB] Update DIL to pass current 'frame var' tests. (#145055)
As a preliminary to making DIL the default implementation for
'frame var', ran check-lldb forcing 'frame var' to always use DIL,
and discovered a few failing tests. This fixes most of them. The only
remaining failing test is TestDAP_evaluate.py, which now passes
a test case that the test says should fail (still investigating this).
Changes in this PR:
- Sets correct VariableSP, as well as returning ValueObjectSP (needed
for several watchpoint tests).
- Updates error messages, when looking up members, to match what the
rest of LLDB expects. Also update appropriate DIL tests to expect the
updated error messages.
- Updates DIL parser to look for and accept "(anonymous namespace)::" at
the front of a variable name.
Commit: bb080107e4017ca49aaab1394662683359ffc39a
https://github.com/llvm/llvm-project/commit/bb080107e4017ca49aaab1394662683359ffc39a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/ConstantInitBuilder.cpp
Log Message:
-----------
[CodeGen] Remove unnecessary casts (NFC) (#146463)
Both of these functions return void.
Commit: 7622bf9d1270f28aa95d83cca71501367ad5bad2
https://github.com/llvm/llvm-project/commit/7622bf9d1270f28aa95d83cca71501367ad5bad2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/IR/Metadata.cpp
Log Message:
-----------
[IR] Remove an unnecessary cast (NFC) (#146464)
The destructor does not return anything.
Commit: f4cdb89b47d730e3600f0aada9f4658a28dec737
https://github.com/llvm/llvm-project/commit/f4cdb89b47d730e3600f0aada9f4658a28dec737
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M mlir/unittests/Dialect/SPIRV/DeserializationTest.cpp
Log Message:
-----------
[mlir] Remove unnecessary casts (NFC) (#146465)
Note that encodeStringLiteralInto returns void.
Commit: e99da2b7a95a1f18ca8fd507b1a4df1baab75018
https://github.com/llvm/llvm-project/commit/e99da2b7a95a1f18ca8fd507b1a4df1baab75018
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
M mlir/lib/Analysis/FlatLinearValueConstraints.cpp
M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
M mlir/lib/Analysis/Presburger/Simplex.cpp
M mlir/lib/Analysis/Presburger/Utils.cpp
M mlir/lib/Analysis/SliceAnalysis.cpp
Log Message:
-----------
[mlir] Remove unused includes (NFC) (#146467)
Commit: d7b8b65e239f3daa08c767f899cbfd7ca2871a0d
https://github.com/llvm/llvm-project/commit/d7b8b65e239f3daa08c767f899cbfd7ca2871a0d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/test/TableGen/FixedLenDecoderEmitter/conflict.td
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[LLVM][TableGen][DecoderEmitter] Add wrapper struct for `bit_value_t` (#146248)
Add a convenience wrapper struct for the `bit_value_t` enum type to host
various constructors, query, and printing support. Also refactor related
code in several places. In `getBitsField`, use `llvm::append_range` and
`SmallVector::append()` and eliminate manual loops. Eliminate
`emitNameWithID` and instead use the `operator <<` that does the same
thing as this function. Have `BitValue::getValue()` (replacement for
`Value`) return std::optional<> instead of -1 for unset bits. Terminate
with a fatal error when a decoding conflict is encountered.
Commit: cf9374933d2eacf91dae95e69082cba806f27c42
https://github.com/llvm/llvm-project/commit/cf9374933d2eacf91dae95e69082cba806f27c42
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang-tools-extra/modularize/Modularize.cpp
Log Message:
-----------
[Modularize] Make `Location::operator bool` explicit
This unbreaks C++20 buildbot that was broken since
402baea0a9ff7894565449e41f700c4e6a3f99cb.
With implicit conversion in C++20 compilation mode the spaceship
will unintentionally be based on `operator bool`:
```cpp
auto foo(Location L, Location R) {
return L <=> R;
// Equivalent to the following line due to implicit conversions.
// return L.operator bool() <=> R.operator bool();
}
```
The spaceship operator is rarely used explicitly, but its implicit uses
in the STL may cause surprising results, as exposed by the use of `std::tie`
in 402baea0a9ff7894565449e41f700c4e6a3f99cb, which ended up changing the
comparisons results unintentionally.
Commit: 5332534b9cb6477a973d1581690ae35c31f9e310
https://github.com/llvm/llvm-project/commit/5332534b9cb6477a973d1581690ae35c31f9e310
Author: David Green <david.green at arm.com>
Date: 2025-07-01 (Tue, 01 Jul 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 ceil
As per #142559, this marks fceil as legal for Neon and upgrades the existing
arm.neon.vrintp intrinsics.
Commit: 6e3465cd0f2313867f8d07bd4d11d4e133ac0990
https://github.com/llvm/llvm-project/commit/6e3465cd0f2313867f8d07bd4d11d4e133ac0990
Author: David Green <david.green at arm.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/test/CodeGen/AArch64/stp-opt-with-renaming.mir
Log Message:
-----------
[AArch64] Fix ldp rename through a bundle (#146415)
std::prev(Paired) will get the previous instruction, that might skip
over the instructions in a bundle to the BUNDLE itself. Change it to
Paired->getPrevNode() to make sure we update the registers in each
instruction in the bundle.
Commit: 86077c41a7899fb3a3ce4654bdb373e7cd954f49
https://github.com/llvm/llvm-project/commit/86077c41a7899fb3a3ce4654bdb373e7cd954f49
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/test/Lower/OpenMP/atomic-update.f90
A flang/test/Lower/OpenMP/minmax-optional-parameters.f90
Log Message:
-----------
[flang][OpenMP] Rewrite min/max with more than 2 arguments (#146423)
Given an atomic operation `w = max(w, x1, x2, ...)` rewrite it as `w =
max(w, max(x1, x2, ...))`. This will avoid unnecessary non-atomic
comparisons inside of the atomic operation (min/max are expanded
inline).
In particular, if some of the x_i's are optional dummy parameters in the
containing function, this will avoid any presence tests within the
atomic operation.
Fixes https://github.com/llvm/llvm-project/issues/144838
Commit: 6b1c92cbcb760ff95affc66c689236d40288e1ad
https://github.com/llvm/llvm-project/commit/6b1c92cbcb760ff95affc66c689236d40288e1ad
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/test/CodeGen/X86/legalize-sub-zero.ll
Log Message:
-----------
[X86] legalize-sub-zero.ll - regenerate test checks
Commit: 3cff3d882b028faf1dc935cce4a8d8a6bae2e5e0
https://github.com/llvm/llvm-project/commit/3cff3d882b028faf1dc935cce4a8d8a6bae2e5e0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
A offload/unittests/Conformance/CMakeLists.txt
A offload/unittests/Conformance/device_code/CMakeLists.txt
A offload/unittests/Conformance/device_code/sin.c
A offload/unittests/Conformance/sin.cpp
Log Message:
-----------
[Offload] Add skeleton for offload conformance tests (#146391)
Summary:
This adds a basic outline for adding 'conformance' tests. These are
tests that are intended to check device code against a standard. In this
case, we will expect this to be filled with math conformance tests to
make sure their results are within the ULP requirements we demand.
Right now this just *assumes* the GPU libc is there, meaning you'll
likely need to do a manual `ninja` before doing `ninja -C
runtimes/runtimes-bins offload.conformance`.
Commit: 69b69cbcb451ce48df24e1972e925fde2dcba511
https://github.com/llvm/llvm-project/commit/69b69cbcb451ce48df24e1972e925fde2dcba511
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
A flang/test/Driver/tco-emit-final-mlir.fir
M flang/tools/tco/tco.cpp
Log Message:
-----------
[flang][tco] Add -emit-final-mlir flag (#146533)
Add a flag to tco for emitting the final MLIR, prior to lowering to LLVM
IR. This is intended to produce output that can be passed directly to
mlir-translate.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 0c124be33f8d2ed6ede41bcd3d8f0ca115921ef3
https://github.com/llvm/llvm-project/commit/0c124be33f8d2ed6ede41bcd3d8f0ca115921ef3
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
Log Message:
-----------
[lldb][NFC] Inline ResolveSDKPathFromDebugInfo in one of its call site (#146062)
This patch is part of an effort to remove the
`ResolveSDKPathFromDebugInfo` method, and more specifically the variant
which takes a Module as argument.
See the following PR for a follow up on what to do:
- https://github.com/llvm/llvm-project/pull/144913.
---------
Co-authored-by: Michael Buch <michaelbuch12 at gmail.com>
Commit: 569ca0f69876ffbf7f27494b4bf212e8d236f7e9
https://github.com/llvm/llvm-project/commit/569ca0f69876ffbf7f27494b4bf212e8d236f7e9
Author: Matthias Springer <me at m-sp.org>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
Log Message:
-----------
[mlir][async] Erase op later to preserve insertion point (#146516)
Delay the erasure of an op, so that the insertion point of the rewriter
remains valid.
This commit is in preparation of the One-Shot Dialect Conversion
refactoring. (The current implementation works with the current dialect
conversion driver because op erasure is delayed.)
Commit: 4dab0b23006017f6bbb3d7c6688f31d14625f86e
https://github.com/llvm/llvm-project/commit/4dab0b23006017f6bbb3d7c6688f31d14625f86e
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/test/CodeGen/AMDGPU/cmp_shrink.mir
Log Message:
-----------
[AMDGPU] Fix wrong reverse operations for `v_cmpx_le_u32` (#146398)
Fixes: SWDEV-538616
Commit: 04c614327c28339ed4204b3e100a695f14fe754c
https://github.com/llvm/llvm-project/commit/04c614327c28339ed4204b3e100a695f14fe754c
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/test/Transforms/InstCombine/vector-reverse.ll
Log Message:
-----------
[InstCombine] Pull vector reverse through intrinsics (#146384)
This is the intrinsic version of #146349, and handles fabs as well as
other intrinsics.
It's largely a copy of InstCombinerImpl::foldShuffledIntrinsicOperands
but a bit simpler since we don't need to find a common mask.
Creating a separate function seems to be cleaner than trying to shoehorn
it into the existing one.
Commit: 47e28d9cd1c08690fa77d81b537594cb2e92f0f4
https://github.com/llvm/llvm-project/commit/47e28d9cd1c08690fa77d81b537594cb2e92f0f4
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcscspn.cpp
A libc/src/wchar/wcscspn.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcscspn_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/wchar/BUILD.bazel
Log Message:
-----------
[libc] wcscspn implementation (#146158)
Implemented wcscspn and tests.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 1a7b7e24bcc1041ae0fb90abcfb73d36d76f4a07
https://github.com/llvm/llvm-project/commit/1a7b7e24bcc1041ae0fb90abcfb73d36d76f4a07
Author: John Harrison <harjohn at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M lldb/include/lldb/Host/windows/MainLoopWindows.h
M lldb/include/lldb/Utility/IOObject.h
M lldb/source/Host/common/File.cpp
M lldb/source/Host/common/JSONTransport.cpp
M lldb/source/Host/common/Socket.cpp
M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
M lldb/source/Host/windows/MainLoopWindows.cpp
M lldb/source/Utility/IOObject.cpp
M lldb/unittests/Host/FileTest.cpp
M lldb/unittests/Host/MainLoopTest.cpp
Log Message:
-----------
[lldb] Adding pipe support to lldb_private::MainLoopWindows. (#145621)
This updates MainLoopWindows to support events for reading from a pipe
(both anonymous and named pipes) as well as sockets.
This unifies both handle types using `WSAWaitForMultipleEvents` which
can listen to both sockets and handles for change events.
This should allow us to unify how we handle watching pipes/sockets on
Windows and Posix systems.
We can extend this in the future if we want to support watching other
types, like files or even other events like a process life time.
---------
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: ba116a8bed9ae093575bd316bf8847bb016177dd
https://github.com/llvm/llvm-project/commit/ba116a8bed9ae093575bd316bf8847bb016177dd
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M flang/lib/Semantics/CMakeLists.txt
A flang/lib/Semantics/check-omp-atomic.cpp
A flang/lib/Semantics/check-omp-loop.cpp
A flang/lib/Semantics/check-omp-metadirective.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/lib/Semantics/openmp-utils.cpp
A flang/lib/Semantics/openmp-utils.h
Log Message:
-----------
[flang][OpenMP] Split check-omp-structure.cpp into smaller files, NFC (#146359)
Create these new files in flang/lib/Semantics:
openmp-utils.cpp/.h - Common utilities
check-omp-atomic.cpp - Atomic-related checks
check-omp-loop.cpp - Loop constructs/clauses
check-omp-metadirective.cpp - Metadirective-related checks
Update lists of included headers, std in particular.
---------
Co-authored-by: Jack Styles <jack.styles at arm.com>
Commit: 01a6c0853314f4a704f5003e4d3d188282fee775
https://github.com/llvm/llvm-project/commit/01a6c0853314f4a704f5003e4d3d188282fee775
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/test/CodeGen/AArch64/PHIElimination-reuse-copy.mir
M llvm/test/CodeGen/AArch64/tbl-loops.ll
Log Message:
-----------
[PHIElimination] Verify reappropriated COPY is of similar register class, update livevars. (#146337)
Follow up to the second bug that
https://github.com/llvm/llvm-project/pull/131837 introduced, described
in
https://github.com/llvm/llvm-project/pull/131837#issuecomment-3018777795.
Commit: 13e6ea7b4c29a0d574a084a59c688c2731369b4b
https://github.com/llvm/llvm-project/commit/13e6ea7b4c29a0d574a084a59c688c2731369b4b
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 08cf6ae537852d39f93f76575fff62ea26e21ed1
Commit: a34a02481246482a490c320afb7375ec24cb634e
https://github.com/llvm/llvm-project/commit/a34a02481246482a490c320afb7375ec24cb634e
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/noclobber-barrier.ll
M llvm/test/CodeGen/AMDGPU/packed-op-sel.ll
A llvm/test/CodeGen/AMDGPU/waitcnt-trailing.mir
Log Message:
-----------
[AMDGPU][SIInsertWaitCnts] skip meta instructions early (#145720)
When iterating over a block, meta instructions have no effect on wait counts,
but their presence drops the reference to earlier waitcnt instructions before
they are processed. This results in spurious wait counts, which do not affect
correctness, but are also not required in the resulting program. Skipping meta
instructions as soon as they are seen cleans this up.
Commit: b697b801b13d94aa88f19a9f7dc7197b1f658186
https://github.com/llvm/llvm-project/commit/b697b801b13d94aa88f19a9f7dc7197b1f658186
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/test/CodeGen/X86/freeze-vector.ll
Log Message:
-----------
[X86] freeze-vector.ll - fix cut+pasta typo in frozen build vector tests
Ensure we load BOTH scalars, inserted into different positions into separate vectors with the freeze(poison) base
Noticed while triaging regressions in #145939
Commit: 21d5017a05d1f57ee54b20cb982eea263dd855d9
https://github.com/llvm/llvm-project/commit/21d5017a05d1f57ee54b20cb982eea263dd855d9
Author: Joe Nash <joseph.nash at amd.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Refactor FLAT_Load_Pseudo class (#146539)
NFC. Refactor it to make it easier to inherit from.
Commit: c8450ea226edc65c1b532ee01230d3e9a7bfbacb
https://github.com/llvm/llvm-project/commit/c8450ea226edc65c1b532ee01230d3e9a7bfbacb
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/DSInstructions.td
Log Message:
-----------
AMDGPU: Remove the unnecessary needAlias argument in DS_Real_gfx12 (#146439)
Commit: a79404e50cf5308bb76cc4eaf36cb8eaea9ab66a
https://github.com/llvm/llvm-project/commit/a79404e50cf5308bb76cc4eaf36cb8eaea9ab66a
Author: John Harrison <harjohn at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M lldb/source/Host/windows/MainLoopWindows.cpp
Log Message:
-----------
[lldb] Correct an assertion name.
Commit: d79c284a2fef5f9cb6b803b3d0cb4c1f857ece03
https://github.com/llvm/llvm-project/commit/d79c284a2fef5f9cb6b803b3d0cb4c1f857ece03
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
Log Message:
-----------
[flang] Fix a warning
This patch fixes:
flang/lib/Semantics/check-omp-structure.cpp:1747:41: error: lambda
capture 'this' is not used [-Werror,-Wunused-lambda-capture]
Commit: 98e6d5cd47d4db020a1406032f96fd5cdfc56563
https://github.com/llvm/llvm-project/commit/98e6d5cd47d4db020a1406032f96fd5cdfc56563
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
Log Message:
-----------
[lldb] Fix warnings
This patch fixes:
lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp:279:15:
error: format specifies type 'unsigned long' but the argument has
type 'file_t' (aka 'int') [-Werror,-Wformat]
lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp:383:15:
error: format specifies type 'unsigned long' but the argument has
type 'file_t' (aka 'int') [-Werror,-Wformat]
Commit: 72a9c3cced898c3a8f7dcbbfaedca5e5438c9544
https://github.com/llvm/llvm-project/commit/72a9c3cced898c3a8f7dcbbfaedca5e5438c9544
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/Analysis/CFG.cpp
Log Message:
-----------
[Analysis] Remove an unnecessary cast (NFC) (#146547)
ME is already of ObjCMessageExpr *.
Commit: e79e22c9af9722fa92335bfa71f568798985b6a5
https://github.com/llvm/llvm-project/commit/e79e22c9af9722fa92335bfa71f568798985b6a5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
Log Message:
-----------
[AMDGPU] Remove an unnecessary cast (NFC) (#146548)
Val is already of uint64_t.
Commit: c17e88f07e26247bf876bd7e8057dcd1b89d702c
https://github.com/llvm/llvm-project/commit/c17e88f07e26247bf876bd7e8057dcd1b89d702c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
Log Message:
-----------
[Analysis] Remove a workaround for ancient GCC (NFC) (#146550)
The version of GCC mentioned is older than currently required GCC 7.4.
The comment about the crash dates back to 2014.
Commit: 35b80031f43f5d8a4225cbe77fb1f1cfc49539be
https://github.com/llvm/llvm-project/commit/35b80031f43f5d8a4225cbe77fb1f1cfc49539be
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
[NFC] Formatting PassRegistry.def (#144139)
Commit: 3edae0d5e5b69a4613a0dfce32ef56eb3ffec2fb
https://github.com/llvm/llvm-project/commit/3edae0d5e5b69a4613a0dfce32ef56eb3ffec2fb
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M lldb/source/Host/common/Editline.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
Log Message:
-----------
[lldb] Use EL_REFRESH to refresh Editline
Letting Editline refresh itself is more robust and ensures that the
current text is redraw if it was accidentally cleared. In that scenario
MoveCursor would only fix up the cursor position.
Commit: 5035d20dcbcea1edced779148ac69b84d3c97577
https://github.com/llvm/llvm-project/commit/5035d20dcbcea1edced779148ac69b84d3c97577
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.atomic.async.barrier.arrive.b64.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.atomic.barrier.arrive.rtn.b64.ll
A llvm/test/MC/AMDGPU/gfx1250_asm_ds.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_ds.txt
Log Message:
-----------
AMDGPU: Implement ds_atomic_async_barrier_arrive_b64/ds_atomic_barrier_arrive_rtn_b64 (#146409)
These two instructions are supported by gfx1250. We define the
instructions and implement the corresponding intrinsic and builtin.
Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Commit: 491c79f76396f2865de3bcac9ad2c381ec9caa15
https://github.com/llvm/llvm-project/commit/491c79f76396f2865de3bcac9ad2c381ec9caa15
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Implement ArraySubscript for ComplexType (#146283)
Implement ArraySubscript for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: 8dbfe83681ed2066b3591be24c4a566b87177d12
https://github.com/llvm/llvm-project/commit/8dbfe83681ed2066b3591be24c4a566b87177d12
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
Log Message:
-----------
[CIR] Fix mlir::ValueRange init from ArrayRef warning (#146577)
Fix initalizing ValueRange with ArrayRef
`ValueRange(ArrayRef<Value>(std::forward<Arg>(arg))) {}` warning
Commit: b54e02a40b3c99e205ece39ac7fe1c5168ed2c9b
https://github.com/llvm/llvm-project/commit/b54e02a40b3c99e205ece39ac7fe1c5168ed2c9b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/test/AST/ByteCode/placement-new.cpp
Log Message:
-----------
[clang][bytecode] Check pointer data type for bitcast eligibility (#146552)
So we get the proper type for a heap-allocated value.
Commit: 67f1eb5c1702d6b4ea727366699e7951414efc2a
https://github.com/llvm/llvm-project/commit/67f1eb5c1702d6b4ea727366699e7951414efc2a
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Comma Operator for ComplexType (#146204)
This change adds support for the comma operator for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: e11d354d64fb9f4f87f53fdc96a1dbbfee167337
https://github.com/llvm/llvm-project/commit/e11d354d64fb9f4f87f53fdc96a1dbbfee167337
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/generic-selection.c
Log Message:
-----------
[CIR] Upstream GenericSelectionExpr (#146211)
Upstream GenericSelectionExpr for ScalarExpr
Commit: 6fafa46f8c1b335d08a59febb8bcb35a17fb177e
https://github.com/llvm/llvm-project/commit/6fafa46f8c1b335d08a59febb8bcb35a17fb177e
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/pack-indexing.cpp
Log Message:
-----------
[CIR] Upstream PackIndexingExpr for ScalarExpr (#146239)
Upstream PackIndexingExpr for ScalarExpr
Commit: efe0deae3fc6211a15c0fa0cdf7707d06950a616
https://github.com/llvm/llvm-project/commit/efe0deae3fc6211a15c0fa0cdf7707d06950a616
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[NFC][IR2Vec] Increasing tolerance in `approximatelyEquals()` of `Embedding` (#145117)
Increase the default tolerance for `approximatelyEquals` in IR2Vec's Embedding class from 1e-6 to 1e-4.
(Tracking issue - #141817)
Commit: 119292c40b0fbca8aa7ef6796d75d0cf336f9909
https://github.com/llvm/llvm-project/commit/119292c40b0fbca8aa7ef6796d75d0cf336f9909
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[IR2Vec] Add out-of-place arithmetic operators to Embedding class (#145118)
This PR adds out-of-place arithmetic operators (`+`, `-`, `*`) to the `Embedding` class in IR2Vec, complementing the existing in-place operators (`+=`, `-=`, `*=`).
Tests have been added to verify the functionality of these new operators.
(Tracking issue - #141817)
Commit: d48035942050781796b95af143e5a911378553de
https://github.com/llvm/llvm-project/commit/d48035942050781796b95af143e5a911378553de
Author: Matthias Springer <me at m-sp.org>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
Log Message:
-----------
[mlir][sparse] Do not access operation after it was replaced (#146546)
Accessing an erased operation will no longer work during a One-Shot
Dialect Conversion.
Commit: 7da8ed8d339a06e1dcef4be2eb3b532f833ae6b2
https://github.com/llvm/llvm-project/commit/7da8ed8d339a06e1dcef4be2eb3b532f833ae6b2
Author: Meredith Julian <35236176+mjulian31 at users.noreply.github.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
Fix missing/outdated pass options in PassRegistry.def (#146160)
There are a handful of passes in PassRegistry.def with outdated or
missing pass options. These strings describing pass options are used for
the printPassNames() function only, which is likely why they have gotten
out-of-date without being caught. This MR simply changes the few passes
where the option string is out-of-date, fixing the output of
-print-passes. This does not affect functionality of the pipeline
parser, and is hard to verify in a unit test, so no tests were added.
Commit: 6b3d2b629cc3805d483ec4522cc97e2540070ae1
https://github.com/llvm/llvm-project/commit/6b3d2b629cc3805d483ec4522cc97e2540070ae1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
Log Message:
-----------
[VPlan] Add VPExpressionRecipe, replacing extended reduction recipes. (#144281)
This patch adds a new recipe to combine multiple recipes into an
'expression' recipe, which should be considered as single entity for
cost-modeling and transforms. The recipe needs to be 'decomposed', i.e.
replaced by its individual recipes before execute.
This subsumes VPExtendedReductionRecipe and
VPMulAccumulateReductionRecipe and should make it easier to extend to
include more types of bundled patterns, like e.g. extends folded into
loads or various arithmetic instructions, if supported by the target.
It allows avoiding re-creating the original recipes when converting to
concrete recipes, together with removing the need to record various
information. The current version of the patch still retains the original
printing matching VPExtendedReductionRecipe and
VPMulAccumulateReductionRecipe, but this specialized print could be
replaced with printing the bundled recipes directly.
PR: https://github.com/llvm/llvm-project/pull/144281
Commit: 777d6b5de90b7e0d1ceaa1424c6da4590539c007
https://github.com/llvm/llvm-project/commit/777d6b5de90b7e0d1ceaa1424c6da4590539c007
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AArch64/load-extract-insert-store-scalarization.ll
M llvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
M llvm/test/Transforms/VectorCombine/AArch64/vecreduce-shuffle.ll
M llvm/test/Transforms/VectorCombine/RISCV/vpintrin-scalarization.ll
M llvm/test/Transforms/VectorCombine/X86/extract-fneg-insert.ll
M llvm/test/Transforms/VectorCombine/X86/load-extractelement-scalarization.ll
M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/load.ll
M llvm/test/Transforms/VectorCombine/X86/pr114901.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-selects.ll
Log Message:
-----------
[VectorCombine] Use InstSimplifyFolder to simplify instrs on creation. (#146350)
Update VectorCombine to use InstSimplifyFolder to simplify redundant
instructions on creation.
PR: https://github.com/llvm/llvm-project/pull/146350
Commit: 650d0151c623c123e4e9736fe50421624a329260
https://github.com/llvm/llvm-project/commit/650d0151c623c123e4e9736fe50421624a329260
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/Basic/SourceManager.cpp
Log Message:
-----------
[clang] Improve getFileIDLocal binary search. (#146510)
Avoid reading the `LocalSLocEntryTable` twice per loop iteration. NFC.
https://llvm-compile-time-tracker.com/compare.php?from=0b6ddb02efdcbdac9426e8d857499ea0580303cd&to=1aa335ccfb07ba96177b89b1933aa6b980fa14f6&stat=instructions:u
Commit: a06117142632baaf489d9c7c494e27056142a25e
https://github.com/llvm/llvm-project/commit/a06117142632baaf489d9c7c494e27056142a25e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
Log Message:
-----------
[AsmParser] Remove unnecessary casts (NFC) (#146549)
Linkage is already of GlobalValue::LinkageTypes.
Commit: c56c349d39464d859b0f8655a4502e5c06924b66
https://github.com/llvm/llvm-project/commit/c56c349d39464d859b0f8655a4502e5c06924b66
Author: Richard Smith <richard at metafoo.co.uk>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.h
M clang-tools-extra/test/clang-tidy/checkers/misc/confusable-identifiers.cpp
Log Message:
-----------
[clang-tidy] Switch misc-confusable-identifiers check to a faster algorithm. (#130369)
Optimizations:
- Only build the skeleton for each identifier once, rather than once for
each declaration of that identifier.
- Only compute the contexts in which identifiers are declared for
identifiers that have the same skeleton as another identifier in the
translation unit.
- Only compare pairs of declarations that are declared in related
contexts, rather than comparing all pairs of declarations with the same
skeleton.
Also simplify by removing the caching of enclosing `DeclContext` sets,
because with the above changes we don't even compute the enclosing
`DeclContext` sets in common cases. Instead, we terminate the traversal
to enclosing `DeclContext`s immediately if we've already found another
declaration in that context with the same identifier. (This optimization
is not currently applied to the `forallBases` traversal, but could be
applied there too if needed.)
This also fixes two bugs that together caused the check to fail to find
some of the issues it was looking for:
- The old check skipped comparisons of declarations from different
contexts unless both declarations were type template parameters. This
caused the checker to not warn on some instances of the CVE it is
intended to detect.
- The old check skipped comparisons of declarations in all base classes
other than the first one found by the traversal. This appears to be an
oversight, incorrectly returning `false` rather than `true` from the
`forallBases` callback, which terminates traversal.
This also fixes an issue where the check would have false positives for
template parameters and function parameters in some cases, because those
parameters sometimes have a parent `DeclContext` that is the parent of
the parameterized entity, or sometimes is the translation unit. In
either case, this would cause warnings about declarations that are never
visible together in any scope.
This decreases the runtime of this check, especially in the common case
where there are few or no skeletons with two or more different
identifiers. Running this check over LLVM, clang, and clang-tidy, the
wall time for the check as reported by clang-tidy's internal profiler is
reduced from 5202.86s to 3900.90s.
Commit: ac76e4d8a9aedc23123571b3801684babb78424f
https://github.com/llvm/llvm-project/commit/ac76e4d8a9aedc23123571b3801684babb78424f
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[Serialization] Use SourceLocation::UIntTy for the offset type, NFC
Commit: 829f2f2448f53572d097420e0df0f62b11fa0417
https://github.com/llvm/llvm-project/commit/829f2f2448f53572d097420e0df0f62b11fa0417
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Mark function as changed if shuffle is created.
777d6b5de90b7e0 exposed a code path where a function is modified but not
marked accordingly. Make sure we return true from foldShuffleFromReductions
if only a shuffle has been inserted/replaced.
Should fix https://lab.llvm.org/buildbot/#/builders/187/builds/7578.
Commit: 5d849d3a90857621ba93e46c6b6dc145fdee04fe
https://github.com/llvm/llvm-project/commit/5d849d3a90857621ba93e46c6b6dc145fdee04fe
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-elemwise.mlir
Log Message:
-----------
[mlir][xegpu] Fix seg-fault caused by setting a null attribute (#146002)
Commit: 42578e8586e65fb9a3f9215d0f650eab26be92f0
https://github.com/llvm/llvm-project/commit/42578e8586e65fb9a3f9215d0f650eab26be92f0
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
Log Message:
-----------
[mlir][linalg] Use hasPureTensorSemantics in TransposeMatmul methods. (#146438)
The issue is triggered by
https://github.com/llvm/llvm-project/commit/ee070d08163ac09842d9bf0c1315f311df39faf1
that checks `TensorLikeType` when downstream projects use the pattern
without registering bufferization::BufferizationDialect. The
registration is needed because the interface implementation for builtin
types locate at `BufferizationDialect::initialize()`. However, we do not
need to fix it by the registration. The proper fix is using the linalg
method, i.e., hasPureTensorSemantics.
No additional tests are added because the functionality is well tested
in
[transpose-matmul.mlir](https://github.com/llvm/llvm-project/blob/main/mlir/test/Dialect/Linalg/transpose-matmul.mlir).
To reproduce the issue, it requires a different setup, e.g., writing a
new C++ pass, which seems not worth it.
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: bcbc4407120cc4246fb0cf4a6f5deb6dc064a7e1
https://github.com/llvm/llvm-project/commit/bcbc4407120cc4246fb0cf4a6f5deb6dc064a7e1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Add missing VPWidenSelectto VPRecipeWithIRFlags::classof (NFC).
Add missing entry to VPRecipeWithIRFlags. NFC currently as it is never
called on VPWidenSelectRecipes currently.
Commit: d99b14623f430fc141c583041f6a255ccdb2ac0e
https://github.com/llvm/llvm-project/commit/d99b14623f430fc141c583041f6a255ccdb2ac0e
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
A llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
Log Message:
-----------
AMDGPU: Implement tensor_save and tensor_stop for gfx1250 (#146590)
MC layer only.
Commit: f393211454a23bc06de76c00b8c2d96b72fe4530
https://github.com/llvm/llvm-project/commit/f393211454a23bc06de76c00b8c2d96b72fe4530
Author: zGoldthorpe <zgoldtho at ualberta.ca>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
A llvm/test/Transforms/Attributor/AMDGPU/tag-invariant-loads.ll
M llvm/test/Transforms/Attributor/dereferenceable-1.ll
M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
Log Message:
-----------
[Reland][IPO] Added attributor for identifying invariant loads (#146584)
Patched and tested the `AAInvariantLoadPointer` attributor from #141800,
which identifies pointers whose loads are eligible to be marked as
`!invariant.load`.
The bug in the attributor was due to `AAMemoryBehavior` always
identifying pointers obtained from `alloca`s as having no writes. I'm
not entirely sure why `AAMemoryBehavior` behaves this way, but it seems
to be beceause it identifies the scope of an `alloca` to be limited to
only that instruction (and, certainly, no memory writes occur within the
`alloca` instructin). This patch just adds a check to disallow all loads
from `alloca` pointers from being marked `!invariant.load` (since any
well-defined program will have to write to stack pointers at some
point).
Commit: 863e17a5be77a47eedcd62172b41763783ff183c
https://github.com/llvm/llvm-project/commit/863e17a5be77a47eedcd62172b41763783ff183c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Make Phi operand for VPReductionPHIRecipe optional (NFC).
VPReductionPHIRecipe doesn't rely on the underlying phi any longer,
allow empty underlying values when cloning. NFC at the moment but will
enable follow-up patches.
Commit: 5ed852f7f72855710eeff53179e6a6f2271a3c2a
https://github.com/llvm/llvm-project/commit/5ed852f7f72855710eeff53179e6a6f2271a3c2a
Author: Skrai Pardus <84874402+ashjeong at users.noreply.github.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/Arith.h
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
Log Message:
-----------
[mlir][arith] Add `arith::ConstantIntOp` constructor (#144638)
This PR adds a `build()` constructor for `ConstantIntOp` that takes in
an `APInt`.
Creating an `arith` constant value with an `APInt` currently requires a
structure like the following:
```c
b.create<arith::ConstantOp>(IntegerAttr::get(apintValue, 5));
```
In comparison, the`ConstantFloatOp` already has an `APFloat` constructor
which allows for the following:
```c
b.create<arith::ConstantFloatOp>(floatType, apfloatValue);
```
Thus, intuitively, it makes sense that a similar `ConstantIntOp`
constructor is made for `APInts` like so:
```c
b.create<arith::ConstantIntOp>(intType, apintValue);
```
Depends on https://github.com/llvm/llvm-project/pull/144636
Commit: 475cd8dfaf84dba4eae4172352953a84c3730f71
https://github.com/llvm/llvm-project/commit/475cd8dfaf84dba4eae4172352953a84c3730f71
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/cmpxchg-sm60.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm70.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm90.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.ll
M llvm/test/CodeGen/NVPTX/convert-int-sm20.ll
M llvm/test/CodeGen/NVPTX/extractelement.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/misched_func_call.ll
M llvm/test/CodeGen/NVPTX/pow2_mask_cmp.ll
M llvm/test/CodeGen/NVPTX/st-param-imm.ll
M llvm/test/CodeGen/NVPTX/unaligned-param-load-store.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
Log Message:
-----------
[NVPTX] Further cleanup call isel (#146411)
This change continues rewriting and cleanup around DAG ISel for
formal-arguments, return values, and function calls. This causes some
incidental changes, mostly to instruction ordering and register naming
but also a couple improvements caused by using scalar types earlier in
the lowering.
Commit: ae2104897c7d9f887c415b07fb2662486082b248
https://github.com/llvm/llvm-project/commit/ae2104897c7d9f887c415b07fb2662486082b248
Author: James Y Knight <jyknight at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/dag-combiner-fma-folding.ll
Log Message:
-----------
[SelectionDAG] Fix NaN regression in fma dag-combine. (#146592)
After 901e1390c9778a191256335d37802bc631c2d183 (#127770), the DAG
combine would transform `fma(x, 0.0, 1.0)` into `1.0` if
`-fp-contract=fast` was enabled, in addition to when 'x' is marked
nnan/ninf.
It's only valid in the latter case, not the former, so delete the extra
condition.
Commit: 4a8c1f7d127af06642068da56e29178704caf54d
https://github.com/llvm/llvm-project/commit/4a8c1f7d127af06642068da56e29178704caf54d
Author: jjasmine <jjasmine at igalia.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/test/CodeGen/WebAssembly/simd-bitmask.ll
A llvm/test/CodeGen/WebAssembly/simd-illegal-bitmask.ll
Log Message:
-----------
[WebAssembly] [Backend] Wasm optimize illegal bitmask (#145627)
[WebAssembly] [Backend] Wasm optimize illegal bitmask for #131980.
Currently, the case for illegal bitmask (v32i8 or v64i8) is that at the
SelectionDag level, two (four) vectors of v128 will be concatenated
together, then they'll all be SETCC by the same pseudo illegal
instruction, which requires expansion later on.
I opt for SETCC-ing them seperately, bitcast and zext them and then add
them up together in the end.
---------
Co-authored-by: badumbatish <--show-origin>
Commit: e9c9f8f3748a1666dfd099da7990ebe4523778bf
https://github.com/llvm/llvm-project/commit/e9c9f8f3748a1666dfd099da7990ebe4523778bf
Author: jjasmine <jjasmine at igalia.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
A llvm/test/CodeGen/WebAssembly/simd-setcc-reductions.ll
M llvm/test/CodeGen/WebAssembly/simd-vecreduce-bool.ll
Log Message:
-----------
[WebAssembly] Fold any/alltrue (setcc x, 0, eq/ne) to [not] any/alltrue x (#144741)
Fixes https://github.com/llvm/llvm-project/issues/50142, a miss of
further vectorization, where we can only achieve zext (xor (any_true),
-1).
Now in test case simd-setcc-reductions, it's converted to all_true.
Also fixes https://github.com/llvm/llvm-project/issues/145177, which is
all_true (setcc x, 0, eq) -> not any_true
any_true (setcc x, 0, ne) -> any_true
all_true (setcc x, 0, ne) -> all_true
---------
Co-authored-by: badumbatish <--show-origin>
Commit: e89458d3985c1b612b8a64914c887a3ce3dd3509
https://github.com/llvm/llvm-project/commit/e89458d3985c1b612b8a64914c887a3ce3dd3509
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TestBase.h
M lldb/unittests/Host/JSONTransportTest.cpp
M lldb/unittests/TestingSupport/Host/PipeTestUtilities.h
Log Message:
-----------
[lldb] Fix PipeTest name collision in unit tests
We had two classes named `PipeTest`: one in `PipeTestUtilities.h` and
one in `PipeTest.cpp`. The latter was unintentionally using the wrong
class (from the header) which didn't initialize the HostInfo subsystem.
This resulted in a crash due to a nullptr dereference (`g_fields`) when
`PipePosix::CreateWithUniqueName` called `HostInfoBase::GetProcessTempDir`.
Commit: 6b7e1b97f4bbb6dd6fca04ee4caccbf54ec92f09
https://github.com/llvm/llvm-project/commit/6b7e1b97f4bbb6dd6fca04ee4caccbf54ec92f09
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Use Github Native Groups in monolithic-* scripts
This patch updates monolithic-linux.sh and monolithic-windows.sh to emit
expandable groups in the Github logs. The syntax this replaces
originally worked to produce the same functionality on Buildkite, but
Github uses a different syntax.
https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions#grouping-log-lines
Reviewers: cmtice, DavidSpickett, tstellar, lnihlen, Endilll
Reviewed By: Endilll, DavidSpickett
Pull Request: https://github.com/llvm/llvm-project/pull/143481
Commit: 2b16af8df2ee83ccb3b4d4a7aa48d13e7608a1cf
https://github.com/llvm/llvm-project/commit/2b16af8df2ee83ccb3b4d4a7aa48d13e7608a1cf
Author: Kewen12 <Kewen.Meng at amd.com>
Date: 2025-07-01 (Tue, 01 Jul 2025)
Changed paths:
M offload/cmake/caches/AMDGPULibcBot.cmake
Log Message:
-----------
[Offload][cmake] Add GPU test job limit for AMDGPU buildbot cmake cache (#146611)
Added GPU test job limit to make it consistent with current config
https://github.com/llvm/llvm-zorg/blob/main/buildbot/osuosl/master/config/builders.py#L2027C31-L2027C77
Commit: 8bce92ed93ccbdc603df8af1bfbd94bbd3dfab35
https://github.com/llvm/llvm-project/commit/8bce92ed93ccbdc603df8af1bfbd94bbd3dfab35
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-02 (Wed, 02 Jul 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
A .github/copilot-instructions.md
M .github/workflows/hlsl-test-all.yaml
M .github/workflows/libcxx-restart-preempted-jobs.yaml
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/code-at-high-address.c
M bolt/test/program-header.test
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/clang-tidy/misc/ConfusableIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.h
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
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/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-scoped-lock.rst
M clang-tools-extra/modularize/Modularize.cpp
M clang-tools-extra/test/clang-doc/json/class-template.cpp
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/function-requires.cpp
M clang-tools-extra/test/clang-doc/json/method-template.cpp
M clang-tools-extra/test/clang-doc/json/namespace.cpp
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/mutex
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/test/clang-tidy/checkers/misc/confusable-identifiers.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-scope-lock-warn-on-using-and-typedef-false.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-scoped-lock-warn-on-single-locks-false.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-scoped-lock.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-inline-specifier.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang/CMakeLists.txt
M clang/docs/DebuggingCoroutines.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/Toolchain.rst
A clang/docs/coro-async-task-continuations.png
A clang/docs/coro-generator-suspended.png
A clang/docs/coro-generator-variables.png
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
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/Basic/riscv_vector_common.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Interpreter/Interpreter.h
A clang/include/clang/Interpreter/RemoteJITUtils.h
M clang/include/clang/Sema/Sema.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/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConcepts.cpp
M clang/lib/AST/ExprObjC.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/RetainSummaryManager.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Hexagon.h
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/M68k.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/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/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ConstantInitBuilder.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.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
M clang/lib/Driver/ToolChains/Managarm.cpp
R clang/lib/Driver/ToolChains/RISCVToolchain.cpp
R clang/lib/Driver/ToolChains/RISCVToolchain.h
M clang/lib/Edit/Commit.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Interpreter/Interpreter.cpp
A clang/lib/Interpreter/RemoteJITUtils.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/MacroInfo.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/test/AST/ByteCode/placement-new.cpp
A clang/test/AST/absurdly_big_struct.cpp
M clang/test/Analysis/ArrayDelete.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-safe-functions.mm
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
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
A clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/complex.cpp
A clang/test/CIR/CodeGen/generic-selection.c
A clang/test/CIR/CodeGen/pack-indexing.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/CodeCompletion/overrides.cpp
A clang/test/CodeCompletion/skip-explicit-object-parameter.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/LoongArch/inline-asm-gcc-regs-error.c
M clang/test/CodeGen/LoongArch/inline-asm-gcc-regs.c
M clang/test/CodeGen/arm-neon-directed-rounding.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/bitfield-access-pad.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenCXX/bitfield-access-empty.cpp
A clang/test/CodeGenCXX/builtin-invoke.cpp
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-tr.cl
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
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/include/c++/8.2.1/.keep
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/.keep
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/crt0.o
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/bin/aarch64-none-elf-ld
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtend.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crt0.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtbegin.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtend.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/bin/aarch64-none-elf-ld
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/include/c++/8.2.1/.keep
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/.keep
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/crt0.o
A clang/test/Driver/Inputs/basic_arm_gcc_tree/bin/armv6m-none-eabi-ld
A clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o
A clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtend.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crt0.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtbegin.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtend.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/bin/armv6m-none-eabi-ld
A clang/test/Driver/aarch64-gnutools.c
A clang/test/Driver/aarch64-toolchain-extra.c
A clang/test/Driver/aarch64-toolchain.c
A clang/test/Driver/arm-gnutools.c
A clang/test/Driver/arm-toolchain-extra.c
A clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
A clang/test/Driver/baremetal-undefined-symbols.c
M clang/test/Driver/baremetal.cpp
A clang/test/Driver/check-no-multlib-warning.c
M clang/test/Driver/gcc-toolchain.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/Driver/sanitizer-ld.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
A clang/test/Interpreter/out-of-process.cpp
M clang/test/Modules/odr_hash.cpp
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/arm-target-features.c
M clang/test/Sema/offsetof-64.c
M clang/test/Sema/warn-format-overflow-truncation.c
A clang/test/SemaCXX/builtin-invoke.cpp
M clang/test/SemaCXX/cxx2c-binding-pack.cpp
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/tools/clang-repl/CMakeLists.txt
M clang/tools/clang-repl/ClangRepl.cpp
M clang/unittests/AST/ASTTraverserTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestComments.cpp
M cmake/Modules/GetClangResourceDir.cmake
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/fuzzer/uncaught-exception.test
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/AbstractConverter.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/SymbolMap.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
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/Parser/parse-tree.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/CMakeLists.txt
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertVariable.cpp
A flang/lib/Lower/OpenMP/Atomic.cpp
A flang/lib/Lower/OpenMP/Atomic.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/SymbolMap.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.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/Parser/unparse.cpp
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/canonicalize-omp.cpp
M flang/lib/Semantics/check-io.cpp
A flang/lib/Semantics/check-omp-atomic.cpp
A flang/lib/Semantics/check-omp-loop.cpp
A flang/lib/Semantics/check-omp-metadirective.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/lib/Semantics/openmp-utils.cpp
A flang/lib/Semantics/openmp-utils.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/module/cooperative_groups.f90
A flang/test/Driver/tco-emit-final-mlir.fir
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/CUDA/cuda-cooperative.cuf
M flang/test/Lower/CUDA/cuda-runtime-check.cuf
M flang/test/Lower/OpenMP/atomic-update.f90
A flang/test/Lower/OpenMP/minmax-optional-parameters.f90
A flang/test/Lower/OpenMP/nested-loop-transformation-construct01.f90
A flang/test/Lower/OpenMP/nested-loop-transformation-construct02.f90
M flang/test/Lower/select-type-2.f90
M flang/test/Lower/select-type.f90
A flang/test/Parser/OpenMP/loop-transformation-construct01.f90
A flang/test/Parser/OpenMP/loop-transformation-construct02.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
A flang/test/Semantics/OpenMP/loop-transformation-construct01.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/tools/tco/tco.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
A libc/src/wchar/wcscspn.cpp
A libc/src/wchar/wcscspn.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/wcscspn_test.cpp
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/docs/ReleaseNotes/21.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__flat_map/key_value_iterator.h
M libcxx/include/__flat_map/utils.h
A libcxx/include/__iterator/product_iterator.h
M libcxx/include/__ranges/zip_view.h
M libcxx/include/__type_traits/invoke.h
M libcxx/include/__type_traits/is_core_convertible.h
M libcxx/include/module.modulemap.in
M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
M libcxx/test/benchmarks/containers/associative/flat_map.bench.cpp
M libcxx/test/benchmarks/containers/associative/flat_multimap.bench.cpp
A libcxx/test/libcxx/iterators/product_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/thread/futures/futures.async/wait_on_destruct.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.T2.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.other_expected.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/equality/equality.unexpected.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/equality/equality.other_expected.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/equality/equality.unexpected.pass.cpp
M libcxx/test/std/utilities/expected/types.h
M libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/test/MachO/icf-safe-thunks-dwarf.ll
M lld/test/MachO/icf-safe-thunks.ll
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/include/lldb/Host/windows/MainLoopWindows.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Utility/IOObject.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/Host/common/File.cpp
M lldb/source/Host/common/JSONTransport.cpp
M lldb/source/Host/common/Socket.cpp
M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
M lldb/source/Host/windows/MainLoopWindows.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/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.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/CMakeLists.txt
A lldb/source/Plugins/Process/mach-core/RegisterContextUnifiedCore.cpp
A lldb/source/Plugins/Process/mach-core/RegisterContextUnifiedCore.h
M lldb/source/Plugins/Process/mach-core/ThreadMachCore.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Target/StackFrame.cpp
M lldb/source/Utility/IOObject.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/test/API/commands/frame/var-dil/basics/MemberOf/TestFrameVarDILMemberOf.py
M lldb/test/API/commands/frame/var-dil/basics/MemberOfAnonymousMember/TestFrameVarDILMemberOfAnonymousMember.py
M lldb/test/API/functionalities/statusline/TestStatusline.py
A lldb/test/API/macosx/lc-note/additional-registers/Makefile
A lldb/test/API/macosx/lc-note/additional-registers/TestMetadataRegisters.py
A lldb/test/API/macosx/lc-note/additional-registers/add-lcnote.cpp
A lldb/test/API/macosx/lc-note/additional-registers/main.c
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/DAP/TestBase.cpp
M lldb/unittests/DAP/TestBase.h
M lldb/unittests/Host/FileTest.cpp
M lldb/unittests/Host/JSONTransportTest.cpp
M lldb/unittests/Host/MainLoopTest.cpp
M lldb/unittests/Instruction/LoongArch/TestLoongArchEmulator.cpp
M lldb/unittests/SymbolFile/DWARF/CMakeLists.txt
A lldb/unittests/SymbolFile/DWARF/DWARF64UnitTest.cpp
M lldb/unittests/TestingSupport/Host/PipeTestUtilities.h
M llvm/Maintainers.md
M llvm/docs/CMake.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/MLGO.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/ADT/STLForwardCompat.h
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/include/llvm/Analysis/IVDescriptors.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/Analysis/ScalarEvolutionPatternMatch.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
M llvm/include/llvm/DebugInfo/DWARF/LowLevel/DWARFCFIProgram.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
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/DXContainerRootSignature.h
M llvm/include/llvm/MC/MCCodeView.h
M llvm/include/llvm/MC/MCDXContainerStreamer.h
M llvm/include/llvm/MC/MCExpr.h
R llvm/include/llvm/MC/MCFragment.h
M llvm/include/llvm/MC/MCGOFFStreamer.h
M llvm/include/llvm/MC/MCInst.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h
M llvm/include/llvm/MC/MCSPIRVStreamer.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/MC/MCWasmStreamer.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/include/llvm/Pass.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/Support/TrailingObjects.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Transforms/IPO/Attributor.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/IVDescriptors.cpp
M llvm/lib/Analysis/InlineAdvisor.cpp
M llvm/lib/Analysis/LazyValueInfo.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/DIE.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/FaultMaps.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinter.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp
M llvm/lib/DebugInfo/PDB/UDTLayout.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
M llvm/lib/ExecutionEngine/JITLink/ppc64.cpp
M llvm/lib/ExecutionEngine/JITLink/x86_64.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Metadata.cpp
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/LTO/LTO.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCDXContainerStreamer.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCInst.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCObjectWriter.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/MC/MCPseudoProbe.cpp
M llvm/lib/MC/MCSPIRVStreamer.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCSymbol.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/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/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.cpp
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
M llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp
M llvm/lib/Target/CSKY/CSKYMCInstLower.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCAsmInfo.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCAsmInfo.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCCodeEmitter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCCodeEmitter.h
R llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
R llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h
M llvm/lib/Target/DirectX/DXILCBufferAccess.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/HexagonBlockRanges.h
M llvm/lib/Target/Hexagon/HexagonDepArch.h
M llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.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/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.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/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86Operand.h
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/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.h
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCExpr.h
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/lib/Target/X86/X86PreTileConfig.cpp
M llvm/lib/Target/X86/X86TargetObjectFile.cpp
M llvm/lib/Target/XCore/MCTargetDesc/XCoreInstPrinter.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Coroutines/CoroElide.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/BasicAA/cs-cs-arm.ll
M llvm/test/Analysis/BasicAA/intrinsics-arm.ll
A llvm/test/Analysis/CostModel/RISCV/exp.ll
M llvm/test/Analysis/CostModel/RISCV/fround.ll
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
A llvm/test/Analysis/LoopAccessAnalysis/dependences-i128-inductions.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/Assembler/aarch64-intrinsics-attributes.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-outline_atomics.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-rcpc.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-v8a.ll
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memmove.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memset.mir
M llvm/test/CodeGen/AArch64/PHIElimination-debugloc.mir
A llvm/test/CodeGen/AArch64/PHIElimination-reuse-copy.mir
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
A llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmov-gpr.ll
R llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmov-gpr32.ll
M llvm/test/CodeGen/AArch64/atomicrmw-O0.ll
M llvm/test/CodeGen/AArch64/bfis-in-loop.ll
A llvm/test/CodeGen/AArch64/block-layout-regression.mir
M llvm/test/CodeGen/AArch64/complex-deinterleaving-crash.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions.ll
M llvm/test/CodeGen/AArch64/lr-reserved-for-ra-live-in.ll
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/memsize-remarks.ll
M llvm/test/CodeGen/AArch64/phi.ll
M llvm/test/CodeGen/AArch64/popcount.ll
M llvm/test/CodeGen/AArch64/pr48188.ll
M llvm/test/CodeGen/AArch64/ragreedy-csr.ll
M llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
M llvm/test/CodeGen/AArch64/reduce-or-opt.ll
M llvm/test/CodeGen/AArch64/sink-and-fold.ll
M llvm/test/CodeGen/AArch64/stp-opt-with-renaming.mir
M llvm/test/CodeGen/AArch64/sve-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-lsrchain.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-sink.ll
M llvm/test/CodeGen/AArch64/swifterror.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/cmp_shrink.mir
M llvm/test/CodeGen/AMDGPU/combine-and-sext-bool.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/divergent-branch-uniform-condition.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/fma-combine.ll
M llvm/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
M llvm/test/CodeGen/AMDGPU/icmp.i16.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.f16.fp8.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.atomic.async.barrier.arrive.b64.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.atomic.barrier.arrive.rtn.b64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.gfx90a.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.tr.gfx1250.w32.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.monitor.sleep.ll
M llvm/test/CodeGen/AMDGPU/mad-combine.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw-system.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/noclobber-barrier.ll
M llvm/test/CodeGen/AMDGPU/packed-op-sel.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
A llvm/test/CodeGen/AMDGPU/rsq.f32-safe.ll
M llvm/test/CodeGen/AMDGPU/rsq.f32.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/valu-i1.ll
M llvm/test/CodeGen/AMDGPU/vcmp-saveexec-to-vcmpx.ll
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
A llvm/test/CodeGen/AMDGPU/waitcnt-trailing.mir
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/widen-vselect-and-mask.ll
M llvm/test/CodeGen/ARM/and-cmp0-sink.ll
M llvm/test/CodeGen/ARM/cttz.ll
M llvm/test/CodeGen/ARM/fpclamptosat.ll
M llvm/test/CodeGen/ARM/select-imm.ll
M llvm/test/CodeGen/ARM/struct-byval-loop.ll
M llvm/test/CodeGen/ARM/swifterror.ll
M llvm/test/CodeGen/ARM/usat-with-shift.ll
M llvm/test/CodeGen/ARM/usat.ll
M llvm/test/CodeGen/ARM/vrint.ll
M llvm/test/CodeGen/AVR/bug-81911.ll
A llvm/test/CodeGen/DirectX/CBufferAccess/memcpy.ll
A llvm/test/CodeGen/Hexagon/hexagon-strcpy.ll
M llvm/test/CodeGen/Hexagon/swp-conv3x3-nested.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi7.ll
M llvm/test/CodeGen/Hexagon/swp-matmul-bitext.ll
M llvm/test/CodeGen/Hexagon/swp-stages4.ll
M llvm/test/CodeGen/Hexagon/tinycore.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/LoongArch/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/MLRegAlloc/Inputs/reference-log-noml.txt
M llvm/test/CodeGen/MLRegAlloc/Inputs/reference-prio-log-noml.txt
M llvm/test/CodeGen/MLRegAlloc/dev-mode-prio-logging.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm60.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm70.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm90.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.ll
M llvm/test/CodeGen/NVPTX/convert-int-sm20.ll
M llvm/test/CodeGen/NVPTX/extractelement.ll
M llvm/test/CodeGen/NVPTX/frem.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/misched_func_call.ll
M llvm/test/CodeGen/NVPTX/pow2_mask_cmp.ll
M llvm/test/CodeGen/NVPTX/sqrt-approx.ll
M llvm/test/CodeGen/NVPTX/st-param-imm.ll
M llvm/test/CodeGen/NVPTX/unaligned-param-load-store.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/CodeGen/PowerPC/2013-07-01-PHIElimBug.mir
M llvm/test/CodeGen/PowerPC/disable-ctr-ppcf128.ll
M llvm/test/CodeGen/PowerPC/fma-combine.ll
M llvm/test/CodeGen/PowerPC/phi-eliminate.mir
M llvm/test/CodeGen/PowerPC/ppcf128-freeze.mir
M llvm/test/CodeGen/PowerPC/pr116071.ll
M llvm/test/CodeGen/PowerPC/sms-phi-2.ll
M llvm/test/CodeGen/PowerPC/sms-phi-3.ll
M llvm/test/CodeGen/PowerPC/stack-restore-with-setjmp.ll
M llvm/test/CodeGen/PowerPC/subreg-postra-2.ll
M llvm/test/CodeGen/PowerPC/vsx.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/machine-pipeliner.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/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/select-fp.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/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/CodeGen/RISCV/xcvbi.ll
M llvm/test/CodeGen/SystemZ/swifterror.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-disabled-in-loloops.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/varying-outer-2d-reduction.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/while-loops.ll
M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
M llvm/test/CodeGen/Thumb2/mve-float32regloops.ll
M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-reduct.ll
M llvm/test/CodeGen/Thumb2/mve-memtp-loop.ll
M llvm/test/CodeGen/Thumb2/mve-phireg.ll
M llvm/test/CodeGen/Thumb2/mve-pipelineloops.ll
M llvm/test/CodeGen/Thumb2/mve-postinc-dct.ll
M llvm/test/CodeGen/Thumb2/mve-postinc-distribute.ll
M llvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
M llvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
M llvm/test/CodeGen/Thumb2/mve-vselect-constants.ll
M llvm/test/CodeGen/Thumb2/pr52817.ll
M llvm/test/CodeGen/VE/Scalar/br_jt.ll
M llvm/test/CodeGen/WebAssembly/simd-bitmask.ll
A llvm/test/CodeGen/WebAssembly/simd-illegal-bitmask.ll
A llvm/test/CodeGen/WebAssembly/simd-setcc-reductions.ll
M llvm/test/CodeGen/WebAssembly/simd-vecreduce-bool.ll
M llvm/test/CodeGen/X86/2012-01-10-UndefExceptionEdge.ll
M llvm/test/CodeGen/X86/AMX/amx-ldtilecfg-insert.ll
M llvm/test/CodeGen/X86/AMX/amx-spill-merge.ll
M llvm/test/CodeGen/X86/atomic32.ll
M llvm/test/CodeGen/X86/atomic64.ll
M llvm/test/CodeGen/X86/atomic6432.ll
M llvm/test/CodeGen/X86/callbr-asm-branch-folding.ll
M llvm/test/CodeGen/X86/callbr-asm-kill.mir
M llvm/test/CodeGen/X86/change-unsafe-fp-math.ll
M llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness-reduced.ll
M llvm/test/CodeGen/X86/combine-pmuldq.ll
M llvm/test/CodeGen/X86/dag-combiner-fma-folding.ll
M llvm/test/CodeGen/X86/fdiv.ll
M llvm/test/CodeGen/X86/fp128-select.ll
M llvm/test/CodeGen/X86/freeze-binary.ll
M llvm/test/CodeGen/X86/freeze-unary.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/isel-fabs-x87.ll
M llvm/test/CodeGen/X86/legalize-sub-zero.ll
M llvm/test/CodeGen/X86/madd.ll
M llvm/test/CodeGen/X86/masked_load.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
M llvm/test/CodeGen/X86/pcsections-atomics.ll
M llvm/test/CodeGen/X86/pr15705.ll
M llvm/test/CodeGen/X86/pr32256.ll
M llvm/test/CodeGen/X86/pr38795.ll
M llvm/test/CodeGen/X86/pr43157.ll
M llvm/test/CodeGen/X86/pr49451.ll
M llvm/test/CodeGen/X86/pr63108.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/sse-scalar-fp-arith.ll
M llvm/test/CodeGen/X86/statepoint-cmp-sunk-past-statepoint.ll
M llvm/test/CodeGen/X86/swifterror.ll
M llvm/test/CodeGen/X86/vector-compress.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/DebugInfo/MIR/InstrRef/phi-regallocd-to-stack.mir
M llvm/test/DebugInfo/X86/debug-line-in-one-fragment.ll
M llvm/test/DebugInfo/debug_frame_symbol.ll
M llvm/test/Instrumentation/AddressSanitizer/calls-only-smallfn.ll
M llvm/test/Instrumentation/AddressSanitizer/calls-only.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vl-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/x86-vpermi2.ll
A llvm/test/MC/AMDGPU/gfx1250_asm_ds.s
M llvm/test/MC/AMDGPU/gfx1250_asm_sopp.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_ds.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_sopp.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_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/ELF/mc-dump.s
A llvm/test/MC/RISCV/Relocations/mc-dump.s
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
M llvm/test/MC/X86/register-assignment.s
R llvm/test/MC/X86/unused_reg_var_assign.s
A llvm/test/Other/fatlto.ll
M llvm/test/Other/pipeline-alias-errors.ll
M llvm/test/TableGen/FixedLenDecoderEmitter/conflict.td
A llvm/test/Transforms/Attributor/AMDGPU/tag-invariant-loads.ll
M llvm/test/Transforms/Attributor/dereferenceable-1.ll
M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
A llvm/test/Transforms/CodeGenPrepare/X86/sink-addr-recreate.ll
M llvm/test/Transforms/EarlyCSE/writeonly.ll
M llvm/test/Transforms/FunctionAttrs/initializes.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
A llvm/test/Transforms/InstCombine/binop-recurrence.ll
M llvm/test/Transforms/InstCombine/compare-3way.ll
M llvm/test/Transforms/InstCombine/icmp-gep.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/LoopStrengthReduce/AArch64/postidx-load.ll
M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution.ll
M llvm/test/Transforms/LoopVectorize/AArch64/check-prof-info.ll
A llvm/test/Transforms/LoopVectorize/AArch64/licm-calls.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/only-compute-cost-for-vplan-vfs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-gather-scatter.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/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll
M llvm/test/Transforms/RelLookupTableConverter/unnamed_addr.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
M llvm/test/Transforms/SimplifyCFG/RISCV/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/RISCV/switch_to_lookup_table-rv64.ll
M llvm/test/Transforms/SimplifyCFG/X86/disable-lookup-table.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-covered-bug.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-table-bug.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-bitcast.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-gep.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-globals.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-large-types.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/rangereduce.ll
M llvm/test/Transforms/SimplifyCFG/switch-dead-default-lookup-table.ll
M llvm/test/Transforms/SimplifyCFG/switch_mask.ll
M llvm/test/Transforms/Util/trivial-auto-var-init-crash-20210521.ll
M llvm/test/Transforms/VectorCombine/AArch64/load-extract-insert-store-scalarization.ll
M llvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
M llvm/test/Transforms/VectorCombine/AArch64/vecreduce-shuffle.ll
M llvm/test/Transforms/VectorCombine/RISCV/vpintrin-scalarization.ll
M llvm/test/Transforms/VectorCombine/X86/extract-fneg-insert.ll
M llvm/test/Transforms/VectorCombine/X86/load-extractelement-scalarization.ll
M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/load.ll
M llvm/test/Transforms/VectorCombine/X86/pr114901.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-selects.ll
M llvm/test/Verifier/branch-weight.ll
A llvm/test/Verifier/value-profile.ll
M llvm/test/tools/llvm-dwarfdump/AArch64/template_ref_ptr.ll
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test
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/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/ADT/DynamicAPIntTest.cpp
M llvm/unittests/ADT/STLForwardCompatTest.cpp
M llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.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/RISCVAttributeParserTest.cpp
M llvm/unittests/Support/TrailingObjectsTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/gn/secondary/bolt/lib/Core/BUILD.gn
M llvm/utils/gn/secondary/bolt/lib/Rewrite/BUILD.gn
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 llvm/utils/gn/secondary/llvm/include/llvm/IR/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/CodeGen/AsmPrinter/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DWARFLinker/Classic/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DWARFLinker/Parallel/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/BUILD.gn
A llvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/LowLevel/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/LogicalView/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-dwarfdump/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-dwarfutil/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-objdump/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/DebugInfo/DWARF/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/Affine/Utils.h
M mlir/include/mlir/Dialect/Arith/IR/Arith.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/MemRef/Transforms/Passes.td
M mlir/include/mlir/Dialect/MemRef/Transforms/Transforms.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/Tosa/Transforms/Passes.td
M mlir/include/mlir/Dialect/Vector/IR/Vector.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Query/Matcher/Marshallers.h
M mlir/include/mlir/Query/Matcher/MatchFinder.h
M mlir/include/mlir/Query/Matcher/MatchersInternal.h
M mlir/include/mlir/Query/Matcher/SliceMatchers.h
M mlir/include/mlir/Query/Matcher/VariantValue.h
M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
M mlir/lib/Analysis/FlatLinearValueConstraints.cpp
M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
M mlir/lib/Analysis/Presburger/Simplex.cpp
M mlir/lib/Analysis/Presburger/Utils.cpp
M mlir/lib/Analysis/SliceAnalysis.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeVectorStorage.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
A mlir/lib/Dialect/MemRef/Transforms/ReifyResultShapes.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Tosa/Transforms/TosaConvertIntegerTypeToSignless.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.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/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Query/Matcher/CMakeLists.txt
A mlir/lib/Query/Matcher/MatchersInternal.cpp
M mlir/lib/Query/Matcher/RegistryManager.cpp
M mlir/lib/Query/Matcher/VariantValue.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Transforms/LoopInvariantCodeMotion.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/lib/Transforms/StripDebugInfo.cpp
M mlir/lib/Transforms/Utils/CFGToSCF.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/lib/Transforms/Utils/Inliner.cpp
M mlir/lib/Transforms/Utils/InliningUtils.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/lib/Transforms/ViewOpGraph.cpp
A mlir/test/Conversion/GPUToSPIRV/rotate.mlir
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_affine_apply.mlir
M mlir/test/Dialect/Affine/affine-data-copy.mlir
M mlir/test/Dialect/ArmSVE/legalize-transfer-read.mlir
M mlir/test/Dialect/GPU/invalid.mlir
M mlir/test/Dialect/GPU/ops.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Tensor/bufferize.mlir
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/ops.mlir
A mlir/test/Dialect/Tensor/reify-shapes.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
A mlir/test/Dialect/Tosa/tosa-convert-integer-type-to-signless.mlir
A mlir/test/Dialect/Tosa/tosa-validation-valid.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/Dialect/XeGPU/xegpu-wg-to-sg-elemwise.mlir
M mlir/test/IR/region.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
M mlir/test/lib/Dialect/Test/TestFormatUtils.cpp
M mlir/test/lib/Dialect/Test/TestFormatUtils.h
M mlir/test/lib/Dialect/Test/TestOps.td
A mlir/test/mlir-query/backward-slice-union.mlir
R mlir/test/mlir-query/complex-test.mlir
A mlir/test/mlir-query/forward-slice-by-predicate.mlir
A mlir/test/mlir-query/logical-operator-test.mlir
A mlir/test/mlir-query/slice-function-extraction.mlir
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/test/mlir-tblgen/op-format-spec.td
M mlir/test/mlir-tblgen/op-format.td
M mlir/test/mlir-translate/emitc_classops.mlir
M mlir/tools/mlir-query/mlir-query.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M mlir/unittests/Dialect/SPIRV/DeserializationTest.cpp
M offload/cmake/caches/AMDGPULibcBot.cmake
M offload/liboffload/API/Common.td
M offload/liboffload/src/Helpers.hpp
M offload/liboffload/src/OffloadImpl.cpp
M offload/libomptarget/OpenMP/Mapping.cpp
A offload/test/mapping/duplicate_mappings_1.cpp
A offload/test/mapping/duplicate_mappings_2.cpp
A offload/test/offloading/disable_default_device.c
M offload/tools/offload-tblgen/APIGen.cpp
M offload/tools/offload-tblgen/RecordTypes.hpp
M offload/unittests/CMakeLists.txt
A offload/unittests/Conformance/CMakeLists.txt
A offload/unittests/Conformance/device_code/CMakeLists.txt
A offload/unittests/Conformance/device_code/sin.c
A offload/unittests/Conformance/sin.cpp
M offload/unittests/OffloadAPI/init/olInit.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
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/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
mask index shadow
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/1fee5d227261...8bce92ed93cc
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