[all-commits] [llvm/llvm-project] 9052a8: [mlir][AMDGPU] Infer canonical layouts for fat_raw...
Prabhu Rajasekaran via All-commits
all-commits at lists.llvm.org
Tue Jul 22 10:57:19 PDT 2025
Branch: refs/heads/users/Prabhuk/sprmain.asmprintercallgraphsection-emit-call-graph-section-4
Home: https://github.com/llvm/llvm-project
Commit: 9052a85da803b246fa6a6f8b3b5bcbfc2e9de7a8
https://github.com/llvm/llvm-project/commit/9052a85da803b246fa6a6f8b3b5bcbfc2e9de7a8
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][AMDGPU] Infer canonical layouts for fat_raw_buffer_cast resetOffset (#149867)
When inferring the return type of amdgpu.fat_raw_buffer_cast with the
offset reset, we would sometimes use a strided layout, like
strided<[1]>, in cases where, after stripping the offset, the memref had
the identity layout. This would cause issues with EmulateNarrowTypes,
which does perform this layout canonicalization.
Now, the return type inference will put in an identity layout after
offset stripping for
1. Statically-shaped memrefs of any rank where the strides match the
suffix product of the shape, and
2. Memrefs of rank <= 1 whose strides are [1] (or []) that just had
their offset removed by resetOffset.
Commit: e47d5eb4541d5f377d9a57ef2157dbb3a41a85e6
https://github.com/llvm/llvm-project/commit/e47d5eb4541d5f377d9a57ef2157dbb3a41a85e6
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
A llvm/test/CodeGen/AMDGPU/wmma-coececution-valu-hazards.mir
A llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
Log Message:
-----------
[AMDGPU] Hazard handling for gfx1250 wmma instructions (#149865)
If both instructions are xdl WMMA, hazard exists when the first WMMA
writes a register (D0) and the second WMMA reads it (A1/B1/Index1).
If the first instruction is a xdl WMMA, and the second one is a VALU,
three kinds of hazards exist:
WMMA writes (D0), VALU reads (Use1);
WMMA writes (D0), VALU writes (D1);
WMMA reads (A0/B0.Index0), VALU writes (D1).
The actual number of hazard slots depends on the categories of the first
xdl WMMA as well as whether the second instruction is a xdl WMMA or
VALU. If there is not enough unrelated VALUs in between the two
instructions, appropriate number (to cover the missing) of V_NOPs will
be inserted to satisfy the hazard handling requirements.
Commit: 2d31fc85a847759a5ea1fb39718a3851d57913c3
https://github.com/llvm/llvm-project/commit/2d31fc85a847759a5ea1fb39718a3851d57913c3
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Lex/DependencyDirectivesScanner.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
A clang/test/Driver/modules-driver-cxx20-module-usage-scanner.cpp
Log Message:
-----------
Reland [clang][modules-driver] Add scanner to detect C++20 module presence (#147630)
This patch is part of a series to natively support C++20 module usage
from the Clang driver (without requiring an external build system). This
introduces a new scanner that detects C++20 module usage in source files
without using the preprocessor or lexer.
For now, it is enabled only with the `-fmodules-driver` flag and serves
solely diagnostic purposes. In the future, the scanner will be enabled
for any (modules-driver compatible) compilation with two or more inputs,
and will help the driver determine whether to implicitly enable the
modules driver.
Since the scanner adds very little overhead, we are also exploring
enabling it for compilations with only a single input. This approach
could allow us to detect `import std` usage in a single-file
compilation, which would then activate the modules driver. For
performance measurements on this, see
https://github.com/naveen-seth/llvm-dev-cxx-modules-check-benchmark.
RFC:
https://discourse.llvm.org/t/rfc-modules-support-simple-c-20-modules-use-from-the-clang-driver-without-a-build-system
This patch relands commit ded1426. The CI failure is resolved by
removing the compatibility warning for using the `-fmodules-driver` flag
with pre-C++20 standards, which also better aligns its behavior with
other features/flags supported only in newer standards.
Commit: 2a78c6d45d4965df35e8cb766f557e7ae52477a8
https://github.com/llvm/llvm-project/commit/2a78c6d45d4965df35e8cb766f557e7ae52477a8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M lldb/unittests/DAP/TestBase.cpp
Log Message:
-----------
[lldb] Fix warning: suggest explicit braces to avoid ambiguous โelseโ
According to the LLVM Style Guide we don't need braces because it's a
single-line, but it looks like the macro expands to code that includes a
potentially ambiguous "else". Use braces to silence the warning.
Commit: 45a6c02c2123f1d4764a8ad981193b15851df744
https://github.com/llvm/llvm-project/commit/45a6c02c2123f1d4764a8ad981193b15851df744
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
Log Message:
-----------
[flang] Control alignment of constant folded reals (#149381)
When REAL types are constant folded, the underneath implementation uses
arrays of integers. Ensure that these arrays are properly aligned.
This matters when building flang with clang. In some cases, the
resulting code for flang compiler ended up using SSE2 aligned load
instructions for REAL(16) constant folding on x86_64, and these
instructions require that the values are loaded from the aligned
addresses.
Commit: bf86abee3e86e7226887ab1a5541296beed46d82
https://github.com/llvm/llvm-project/commit/bf86abee3e86e7226887ab1a5541296beed46d82
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
Log Message:
-----------
[RISCV][IA] Support masked.store of deinterleaveN intrinsic (#149893)
This is the masked.store side to the masked.load support added in
881b3fd.
With this change, we support masked.load and masked.store via the
intrinsic lowering path used primarily with scalable vectors. An
upcoming change will extend the fixed vector (i.a. shuffle vector) paths
in the same manner.
Commit: cb6f132b1c433c7f6b7727793a1588ae6401f284
https://github.com/llvm/llvm-project/commit/cb6f132b1c433c7f6b7727793a1588ae6401f284
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Lex/DependencyDirectivesScanner.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
R clang/test/Driver/modules-driver-cxx20-module-usage-scanner.cpp
Log Message:
-----------
Revert "Reland [clang][modules-driver] Add scanner to detect C++20 module presence" (#149900)
Reverts llvm/llvm-project#147630.
This causes a linker error caused by linking the driver against the
lexer.
Commit: 54ae81f6ffb4f7685e5dcb56d21eeabda24d21b7
https://github.com/llvm/llvm-project/commit/54ae81f6ffb4f7685e5dcb56d21eeabda24d21b7
Author: lntue <lntue at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
Log Message:
-----------
[libc][bazel] Remove -fext-numeric-literals as it is only needed for gcc and not available in clang. (#149902)
Commit: dcffa3d05ca1873c098712d6ad9cb5d095ac7c85
https://github.com/llvm/llvm-project/commit/dcffa3d05ca1873c098712d6ad9cb5d095ac7c85
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
Fix indendation in StandardCPlusPlusModules.rst (#149901)
The CI is complaining about unexpected indentation. It seems multiple-line list entries must start at the beginning of each line.
Commit: 520398e752b1f69f9c2575b23db34ab65de2cd02
https://github.com/llvm/llvm-project/commit/520398e752b1f69f9c2575b23db34ab65de2cd02
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/acoshf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/acoshf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acoshf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor acoshf16 implementation to header-only in src/__support/math folder. (#148568)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: b66084acd9f6052ed9061ef4ec39e7c8a176f01d
https://github.com/llvm/llvm-project/commit/b66084acd9f6052ed9061ef4ec39e7c8a176f01d
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
A llvm/test/MC/AMDGPU/gfx1250_asm_vflat_err.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop2_err.s
Log Message:
-----------
[AMDGPU] Verify asm VGPR alignment on gfx1250 (#149880)
Co-authored-by: Shilei Tian <Shilei.Tian at amd.com>
Commit: 5062fe5692a503b600bccb753323ba961811ade6
https://github.com/llvm/llvm-project/commit/5062fe5692a503b600bccb753323ba961811ade6
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after 9052a85da803b246fa6a6f8b3b5bcbfc2e9de7a8
Commit: de011e372dff540056b4abdf02de94061f5ddb86
https://github.com/llvm/llvm-project/commit/de011e372dff540056b4abdf02de94061f5ddb86
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_config.h.cmake
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_settings.cpp
Log Message:
-----------
[OpenMP] [NFC] Remove KMP_NESTED_HOT_TEAMS macro (#143584)
The feature was introduced back in 2014 and has been on ever since.
Leave the feature in place. Removing only the macro.
Commit: 4981bc24cff3344d477af04591b699da466e10b8
https://github.com/llvm/llvm-project/commit/4981bc24cff3344d477af04591b699da466e10b8
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M openmp/runtime/src/include/omp_lib.F90.var
M openmp/runtime/src/include/omp_lib.h.var
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_barrier.cpp
M openmp/runtime/src/kmp_barrier.h
M openmp/runtime/src/kmp_ftn_entry.h
M openmp/runtime/src/kmp_i18n.cpp
M openmp/runtime/src/kmp_lock.cpp
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/src/kmp_str.cpp
A openmp/runtime/test/env/check_certain_values.c
A openmp/runtime/test/tasking/no_task_barrier.c
Log Message:
-----------
[OpenMP] Fixup bugs found during fuzz testing (#143455)
A lot of these only trip when using sanitizers with the library.
* Insert forgotten free()s
* Change (-1) << amount to 0xffffffffu as left shifting a negative is UB
* Fixup integer parser to return INT_MAX when parsing huge string of
digits. e.g., 452523423423423423 returns INT_MAX
* Fixup range parsing for affinity mask so integer overflow does not
occur
* Don't assert when branch bits are 0, instead warn user that is invalid
and use the default value.
* Fixup kmp_set_defaults() so the C version only uses null terminated
strings and the Fortran version uses the string + size version.
* Make sure the KMP_ALIGN_ALLOC is power of two, otherwise use
CACHE_LINE.
* Disallow ability to set KMP_TASKING=1 (task barrier) this doesn't work
and hasn't worked for a long time.
* Limit KMP_HOT_TEAMS_MAX_LEVEL to 1024, an array is allocated based on
this value.
* Remove integer values for OMP_PROC_BIND. The specification only allows
strings and CSV of strings.
* Fix setting KMP_AFFINITY=disabled + OMP_DISPLAY_AFFINITY=TRUE
Commit: f0bbe73cf101b82a9b02b8466f562e3173d25523
https://github.com/llvm/llvm-project/commit/f0bbe73cf101b82a9b02b8466f562e3173d25523
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/Contributing.rst
Log Message:
-----------
[clang-tidy] Proofread Contributing.rst (#149831)
Commit: 2860431e1f1bb4ecc4ebaf1006f766b37d975580
https://github.com/llvm/llvm-project/commit/2860431e1f1bb4ecc4ebaf1006f766b37d975580
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/lib/Analysis/LifetimeSafety.cpp
Log Message:
-----------
[LifetimeSafety] Add per-program-point lattice tracking (#149199)
Add per-program-point state tracking to the dataflow analysis framework.
- Added a `ProgramPoint` type representing a pair of a CFGBlock and a Fact within that block
- Added a `PerPointStates` map to store lattice states at each program point
- Modified the `transferBlock` method to store intermediate states after each fact is processed
- Added a `getLoans` method to the `LoanPropagationAnalysis` class that uses program points
This change enables more precise analysis by tracking program state at each individual program point rather than just at block boundaries. This is necessary for answering queries about the state of loans, origins, and other properties at specific points in the program, which is required for error reporting in the lifetime safety analysis.
Commit: a0b854d576c8d302394bcf12c76b22c9300e5411
https://github.com/llvm/llvm-project/commit/a0b854d576c8d302394bcf12c76b22c9300e5411
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/MC/AMDGPU/gfx1250_asm_smem.s
A llvm/test/MC/AMDGPU/gfx1250_asm_smem_err.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vbuffer_mubuf_err.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_smem.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
Log Message:
-----------
[AMDGPU] MC support for gfx1250 scale_offset modifier (#149881)
Commit: 006858cd4d944ff44b3ef4619194a72ff8823edc
https://github.com/llvm/llvm-project/commit/006858cd4d944ff44b3ef4619194a72ff8823edc
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/flat-scratch-fold-fi-gfx1250.mir
Log Message:
-----------
[AMDGPU] Prevent folding of FI with scale_offset on gfx1250 (#149894)
SS forms of SCRATCH_LOAD_DWORD do not support SCALE_OFFSET,
so if this bit is used SCRATCH_LOAD_DWORD_SADDR cannot be formed.
This generally shall not happen because FI is not supposed to
be scaled, but add this as a precaution.
Commit: c59e4b58058f1861146f736ec2a3991283b05377
https://github.com/llvm/llvm-project/commit/c59e4b58058f1861146f736ec2a3991283b05377
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M libc/include/math.yaml
Log Message:
-----------
[libc][math] fix header generation (#149918)
Commit: 5e8e03d859f4367b68ad08311ae0b3f8bf8eea4f
https://github.com/llvm/llvm-project/commit/5e8e03d859f4367b68ad08311ae0b3f8bf8eea4f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Simplify RVPUnary tablegen class. NFC
imm field was unused. rs1 is already handled in RVInstIBase.
Commit: 8f26a301bc7caf3d11d1f03818dae77a24e266e9
https://github.com/llvm/llvm-project/commit/8f26a301bc7caf3d11d1f03818dae77a24e266e9
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCXXABI.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/CIRGenItaniumCXXABI.cpp
M clang/test/CIR/CodeGen/destructors.cpp
Log Message:
-----------
[CIR] Add complete destructor handling (#149552)
The initial implementation for emitting destructors emitted the complete
destructor body for both D1 and D2 destructors. This change updates the
code to have the D1 destructor call the D2 destructor.
Commit: 97a66a897caeb1445160d1862fd5b35bb5416ffb
https://github.com/llvm/llvm-project/commit/97a66a897caeb1445160d1862fd5b35bb5416ffb
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
A llvm/test/CodeGen/AMDGPU/load-store-opt-scale-offset.mir
Log Message:
-----------
[AMDGPU] Prohibit load/store merge if scale_offset is set on gfx1250 (#149895)
Scaling is done on the operation size, by merging instructions we
would need to generate code to scale the offset and reset the
auto-scale bit. This is unclear if that would be beneficial, just
disable such merge for now.
Commit: 354944d675c04c87bc0e9ebcca900148f5a344b8
https://github.com/llvm/llvm-project/commit/354944d675c04c87bc0e9ebcca900148f5a344b8
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/MC/MCDwarf.cpp
A llvm/test/Assembler/difile-empty-source.ll
M llvm/test/DebugInfo/Generic/mixed-source.ll
Log Message:
-----------
[DebugInfo] Fully implement DWARF issue 180201.1 (#149226)
Finish making LLVM's implementation of `DW_LNCT_LLVM_source` conform to
the final accepted version of `DW_LNCT_source` from
https://dwarfstd.org/issues/180201.1.html
This is effectively a continuation of a few commits which have moved in
this direction already, including:
* c9cb4fc761cd7 [DebugInfo] Store optional DIFile::Source as pointer
* 87e22bdd2bd6d Allow for mixing source/no-source DIFiles in one CU
This patch:
* Teaches LLParser that there is a distinction between an empty and an
absent "source:" field on DIFile.
* Makes printing the "source:" field in AsmWriter conditional on it
being present, instead of being conditional on it being non-empty.
* Teaches MC to map an empty-but-present source field to "\n" (which is
ambiguous, making the source strings "" and "\n" indistinguishable, but
that's what the DWARF issue specifies).
Add a test for round-tripping an empty source field through
assembler/bitcode.
Extend the test for the actual DWARF generation so it covers all of the
cases (absent, present-but-empty,
present-and-ambiguously-single-newline, present).
Commit: a7d93653a6712d8a374a2776853057b03181c12a
https://github.com/llvm/llvm-project/commit/a7d93653a6712d8a374a2776853057b03181c12a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/amdgpu-hip-system-arch.c
M clang/test/Driver/cuda-phases.cu
M clang/test/Driver/hip-inputs.hip
M clang/test/Driver/hip-invalid-target-id.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/invalid-offload-options.cpp
M clang/test/Driver/nvptx-cuda-system-arch.c
A clang/test/Driver/offload-target.c
M clang/test/Driver/openmp-offload.c
M clang/test/Driver/openmp-system-arch.c
Log Message:
-----------
[Clang] Rework creating offloading toolchains (#125556)
Summary:
This patch reworks how we create offloading toolchains. Previously we
would handle this separately for all the different kinds. This patch
instead changes this to use the target triple and the offloading kind to
determine the proper toolchain. In the old case where the user only
passes `--offload-arch` we instead infer the triple from the passed
arguments. This is a pretty major overhaul but currently passes all the
clang tests with only minor changes to error messages.
Commit: 46f6df0848ea04449c6179ecdedc404ee5b5cf11
https://github.com/llvm/llvm-project/commit/46f6df0848ea04449c6179ecdedc404ee5b5cf11
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AffineDemotion.cpp
M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/CharacterConversion.cpp
M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
M flang/lib/Optimizer/Transforms/MemoryUtils.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
Log Message:
-----------
[mlir][NFC] update `flang/Optimizer/Transforms` create APIs (11/n) (#149915)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 6fa759b465a681c9c2bea046a65e2f8c5a9f4104
https://github.com/llvm/llvm-project/commit/6fa759b465a681c9c2bea046a65e2f8c5a9f4104
Author: Stanley Winata <68087699+raikonenfnu at users.noreply.github.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/test/python/dialects/amdgpu.py
Log Message:
-----------
[MLIR][AMDGPU] Use Attr for resetOffset + boundsCheck in RawBufferCastOp (#149939)
In order to access and modify resetOffset and boundsCheck of
RawBufferCastOp in pythonic binding, we will have to use Attrs instead
of Property. This is because we do not have python binding support for
property yet. We should move back to property once we add pythonic
binding support for it.
---------
Signed-off-by: Stanley Winata <stanley.winata at amd.com>
Commit: a3a007ad5fa20abc90ead4e1030b481bf109b4cf
https://github.com/llvm/llvm-project/commit/a3a007ad5fa20abc90ead4e1030b481bf109b4cf
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertProcedureDesignator.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/CustomIntrinsicCall.cpp
M flang/lib/Lower/HlfirIntrinsics.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/Runtime.cpp
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/ReductionProcessor.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Lower/VectorSubscripts.cpp
Log Message:
-----------
[mlir][NFC] update `flang/Lower` create APIs (8/n) (#149912)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 5547c6cd03ddddd405a09e51624e1f19955a85b1
https://github.com/llvm/llvm-project/commit/5547c6cd03ddddd405a09e51624e1f19955a85b1
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/ArrayConstructor.cpp
M flang/lib/Optimizer/Builder/Runtime/Assign.cpp
M flang/lib/Optimizer/Builder/Runtime/CUDA/Descriptor.cpp
M flang/lib/Optimizer/Builder/Runtime/Character.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
M flang/lib/Optimizer/Builder/Runtime/Derived.cpp
M flang/lib/Optimizer/Builder/Runtime/EnvironmentDefaults.cpp
M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/lib/Optimizer/Builder/Runtime/Execute.cpp
M flang/lib/Optimizer/Builder/Runtime/Inquiry.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Builder/Runtime/Main.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/Builder/Runtime/Pointer.cpp
M flang/lib/Optimizer/Builder/Runtime/Ragged.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Stop.cpp
M flang/lib/Optimizer/Builder/Runtime/Support.cpp
M flang/lib/Optimizer/Builder/Runtime/TemporaryStack.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
Log Message:
-----------
[mlir][NFC] update `flang/Optimizer/Builder/Runtime` create APIs (10/n) (#149916)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 9844ba6d9740206129b52633c555f767eaa45581
https://github.com/llvm/llvm-project/commit/9844ba6d9740206129b52633c555f767eaa45581
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Builder/CUFCommon.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/Complex.cpp
M flang/lib/Optimizer/Builder/DoLoopHelper.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
Log Message:
-----------
[mlir][NFC] update `flang/Optimizer/Builder` create APIs (9/n) (#149917)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: dce6679cf5cbbdaffb9c2b51dc762c5c6689ea78
https://github.com/llvm/llvm-project/commit/dce6679cf5cbbdaffb9c2b51dc762c5c6689ea78
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Complex/IR/ComplexDialect.cpp
M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/ControlFlow/Transforms/BufferDeallocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
M mlir/lib/Dialect/EmitC/Transforms/TypeConversions.cpp
M mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
M mlir/lib/Dialect/Func/Extensions/InlinerExtension.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/Func/TransformOps/FuncTransformOps.cpp
M mlir/lib/Dialect/Func/Transforms/FuncConversions.cpp
M mlir/lib/Dialect/Func/Utils/Utils.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
M mlir/lib/Dialect/GPU/Transforms/AllReduceLowering.cpp
M mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
M mlir/lib/Dialect/GPU/Transforms/GlobalIdRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp
M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
M mlir/lib/Dialect/GPU/Transforms/PromoteShuffleToAMDGPU.cpp
M mlir/lib/Dialect/GPU/Transforms/ShuffleRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/SubgroupIdRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
M mlir/lib/Dialect/GPU/Utils/DistributionUtils.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (16/n) (#149922)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: c3823af156b517d926a56e3d0d585e2a15720e96
https://github.com/llvm/llvm-project/commit/c3823af156b517d926a56e3d0d585e2a15720e96
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SPIRV/Linking/ModuleCombiner/ModuleCombiner.cpp
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/RewriteInsertsPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.cpp
M mlir/lib/Dialect/SPIRV/Transforms/UnifyAliasedResourcePass.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (22/n) (#149929)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 08ac7815960bb9fc56701f307729144a3d0c94f2
https://github.com/llvm/llvm-project/commit/08ac7815960bb9fc56701f307729144a3d0c94f2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[Clang][NFC] Fix linting warnings after #125556
Commit: 7b787965431e666858fdf66db25ee5a129833927
https://github.com/llvm/llvm-project/commit/7b787965431e666858fdf66db25ee5a129833927
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeDepthwise.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaTypeConverters.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/lib/Dialect/UB/IR/UBOps.cpp
M mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
M mlir/lib/Dialect/X86Vector/Transforms/AVXTranspose.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (25/n) (#149932)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 0c14f0e891ad88b9bb4666ef337466961b27314f
https://github.com/llvm/llvm-project/commit/0c14f0e891ad88b9bb4666ef337466961b27314f
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/test/CodeGen/DirectX/UAddc.ll
A llvm/test/Transforms/Scalarizer/extractvalue-struct-of-vectors.ll
Log Message:
-----------
[Scalarizer] Use correct key for ExtractValueInst gather (#149855)
Fixes #149345
Effectively no-op pairs of insertelement-extractelement instructions
were being created due to the ExtractValueInst visitor in the Scalarizer
storing its scalarized result into the Scattered map using an incorrect
key (specifically the type used in the key).
This PR fixes this issue.
Commit: 24bf4aea0ca31c4733d8771751f7fb766c455aa9
https://github.com/llvm/llvm-project/commit/24bf4aea0ca31c4733d8771751f7fb766c455aa9
Author: Brandon Wu <songwu0813 at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/interrupt-attr.ll
M llvm/test/CodeGen/RISCV/rvv/callee-saved-regs.ll
M llvm/test/CodeGen/RISCV/rvv/interrupt-attr-nocall.ll
Log Message:
-----------
[RISCV][llvm] Handle vector callee saved register correctly (#149467)
In TargetFrameLowering::determineCalleeSaves, any vector register is
marked
as saved if any of its subregister is clobbered, this is not correct in
vector registers. We only want the vector register to be marked as saved
only if all of its subregisters are clobbered.
This patch handles vector callee saved registers in target hook.
Commit: 6df012ab48ececd27359bdc9448ee101b39eea7a
https://github.com/llvm/llvm-project/commit/6df012ab48ececd27359bdc9448ee101b39eea7a
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
A llvm/test/CodeGen/Hexagon/swp-load-to-store-forward.mir
Log Message:
-----------
[MachinePipeliner] Fix incorrect dependency direction (#149436)
This patch fixes a bug introduced in #145878. A dependency was added in
the wrong direction, causing an assertion failure due to broken
topological order.
Commit: 6f240d5a7d22e4c9b4adc6a1508ff83efd461050
https://github.com/llvm/llvm-project/commit/6f240d5a7d22e4c9b4adc6a1508ff83efd461050
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
Log Message:
-----------
[LV][EVL] Remove interleave count from the test case for EVL tail-folding. nfc (#149834)
Remove the interleave count since we have not supported it when EVL
tail-folding.
Commit: 675236913974293e838c38b7ef801285c6c2f1fd
https://github.com/llvm/llvm-project/commit/675236913974293e838c38b7ef801285c6c2f1fd
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LV] Unify interleaved load handling for fixed and scalable VFs. nfc (#146914)
This patch modifies VPInterleaveRecipe::execute to handle both fixed and
scalable VFs using a single loop.
Commit: fcdcc4ea7ac960c79246b3bd428f14ea350e63e2
https://github.com/llvm/llvm-project/commit/fcdcc4ea7ac960c79246b3bd428f14ea350e63e2
Author: Fabio D'Urso <fdurso at google.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
Log Message:
-----------
[scudo] Make Ptr volatile so that the malloc and free calls are not optimized out (#149944)
This fixes the test failure seen in the discussion about
https://github.com/llvm/llvm-project/pull/148066.
Commit: 4d48996ff05305d4a5774f3e232c2ee4a06c3d2a
https://github.com/llvm/llvm-project/commit/4d48996ff05305d4a5774f3e232c2ee4a06c3d2a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/lib/Format/IntegerLiteralSeparatorFixer.h
M clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
M clang/unittests/Format/BracesInserterTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestComments.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/FormatTestSelective.cpp
M clang/unittests/Format/IntegerLiteralSeparatorTest.cpp
M clang/unittests/Format/SortIncludesTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format][NFC] Clean up around StringRef initializations (#149765)
Consistently use `constexpr StringRef Code("string literal");`.
Commit: 9ed8816dc63776259d2190bdc8a7a29698c62749
https://github.com/llvm/llvm-project/commit/9ed8816dc63776259d2190bdc8a7a29698c62749
Author: mintsuki <36459316+mintsuki at users.noreply.github.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
M llvm/test/CodeGen/LoongArch/target-abi-from-triple-edge-cases.ll
Log Message:
-----------
LoongArch: Improve detection of valid TripleABI (#147952)
If the environment is considered to be the triple component as a whole,
so, including the object format, if any, and if that is the intended
behaviour, then the loongarch64 function `computeTargetABI()` should be
changed to not rely on `hasEnvironment()`, but, rather, to check if
there is a non-unknown environment set.
Without this change, using a (ideally valid) target of
loongarch64-unknown-none-elf, with a manually specified ABI of lp64s,
will result in a completely superfluous warning:
```
warning: triple-implied ABI conflicts with provided target-abi 'lp64s', using target-abi
```
Commit: 739e76454f7bcee0cffb2f86221080f92b64a5f1
https://github.com/llvm/llvm-project/commit/739e76454f7bcee0cffb2f86221080f92b64a5f1
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
Log Message:
-----------
[Tooling][Inclusions][NFC] Reformat C++ code
Commit: 8b9e7602714a2651e5540a4322907738997f1775
https://github.com/llvm/llvm-project/commit/8b9e7602714a2651e5540a4322907738997f1775
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Don't use RVInstIBase for P-ext plui/pli. NFC (#149940)
These instructions don't have an rs1 field unlike other instructions
that use RVInstIBase.
Rename the classes to not use Unary since we have historically used that
for a single register operand.
Commit: cae7650558080b858788af1b8cd940d47673893b
https://github.com/llvm/llvm-project/commit/cae7650558080b858788af1b8cd940d47673893b
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
M llvm/test/CodeGen/LoongArch/llvm.exp10.ll
M llvm/test/CodeGen/LoongArch/llvm.sincos.ll
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lsx/fpowi.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
Log Message:
-----------
[LoongArch] Optimize inserting fp element to vector (#149302)
Co-authored-by: tangaac <tangyan01 at loongson.cn>
Commit: b956f049b186fafafebc88b861982644ec3f5291
https://github.com/llvm/llvm-project/commit/b956f049b186fafafebc88b861982644ec3f5291
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
A mlir/test/Dialect/Linalg/vectorization/contraction-interface.mlir
Log Message:
-----------
[mlir][linalg] Vectorize directly to a named contraction (#147296)
Extends linalg vectorizer with a path to lower contraction ops directly
into `vector.contract`.
The direct rewriting preserves high-level op semantics and provides more
progressive lowering compared to reconstructing contraction back from
multi dimensional reduction.
The added lowering focuses on named linalg ops and leverages their well
defined semantics to avoid complex precondition verification.
The new path is optional and disabled by default to avoid changing the
default vectorizer behavior.
Commit: 03a170837e78e56e1876c681a4bf95957adc73fd
https://github.com/llvm/llvm-project/commit/03a170837e78e56e1876c681a4bf95957adc73fd
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_constructs_from_temporary.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_converts_from_temporary.pass.cpp
Log Message:
-----------
[libc++] Enable some tests on `android` (#149899)
Android compiler was updated to r563880:
https://github.com/llvm/llvm-project/pull/148998
Commit: 3408f7b42f7af7c38d8054067c7dcad82df99b2f
https://github.com/llvm/llvm-project/commit/3408f7b42f7af7c38d8054067c7dcad82df99b2f
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M bolt/utils/nfc-check-setup.py
Log Message:
-----------
[BOLT] Guard llvm-bolt-wrapper logic of NFC-Mode behind a flag (#146209)
Buildbot (`BOLTBuilder`) no longer relies on a wrapper script to run
tests. This
patch guards the wrapper logic under a flag that is disabled by default.
This
it allows to:
- Eliminate the need for special handling in some tests.
- Fix the issue of a wrapper loop (described below)
- Simplify the NFC-Mode setup.
**Background:**
Previously, tests ran unconditionally, which also compiled any missing
utilities
and the unit tests.
The `nfc-check-setup.py` created:
- `llvm-bolt.new`, renamed from the current compilation
- `llvm-bolt.old`, built from the previous SHA
- `llvm-bolt`: a python wrapper pointing to `llvm-bolt.new`
Current behaviour and wrapper issue:
As before, the old/new binaries identify whether a patch affects BOLT.
If so,
`ninja check-bolt` builds missing dependencies and run tests,
overwriting the
`llvm-bolt` wrapper with a binary.
However, if Ninja reports:
```
ninja: no work to do.
```
the wrapper remains in place. If the next commit also does no work,
`nfc-check-setup.py` renames the existing wrapper to `llvm-bolt.new`,
causing an
infinite loop.
Allowing to disable the wrapper logic prevents this scenario and
simplifies the flow.
**Test plan:**
Creates llvm-bolt.new and llvm-bolt.old and stays on previous revision:
```
./nfc-check-setup.py build
```
Creates llvm-bolt.new and llvm-bolt.old and returns on current revision:
```
./nfc-check-setup.py build --switch-back
```
Creates llvm-bolt.new and llvm-bolt.old, returns on current revision,
and
creates a wrapper:
```
./nfc-check-setup.py build --switch-back --create-wrapper
```
Creates llvm-bolt.new and llvm-bolt.old, and passes an invalid argument
to the
wrapper:
```
./nfc-check-setup.py build --switch-back --create-wrapper --random-arg
```
Commit: 8e4e1c104d88e193d5977e0136509f8c76dde43e
https://github.com/llvm/llvm-project/commit/8e4e1c104d88e193d5977e0136509f8c76dde43e
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
Log Message:
-----------
MIPS: Stable sort relocations
There might be more than one relocations at an offset with composed
relocations or .reloc directive. llvm::sort output is unstable, and if
EXPENSIVE_CHECKS, also undeterministic, causing
MC/Mips/reloc-directive.s to fail.
Commit: 597f3c1bd5f9f940d6a62adfe053f28559ea0a72
https://github.com/llvm/llvm-project/commit/597f3c1bd5f9f940d6a62adfe053f28559ea0a72
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M bolt/utils/nfc-check-setup.py
Log Message:
-----------
[BOLT] Improve exception handling in NFC-Mode (#146513)
This patch introduces the following improvements:
- Catch an exception when the CMakeCache.txt is not present
- Bail out gracefully when llvm-bolt did not build successfully the
current or previous revision.
- Always do a `--switch-back` even if building the old revision failed
Commit: d8adb57b440b8b502e3f308675699b7c26b8da86
https://github.com/llvm/llvm-project/commit/d8adb57b440b8b502e3f308675699b7c26b8da86
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M bolt/utils/nfc-check-setup.py
Log Message:
-----------
[BOLT][NFC] Update nfc-check-setup.py guidance (#146659)
Commit: 069f0fea00d3caf41fb9c3eaf81ee918c5c63a51
https://github.com/llvm/llvm-project/commit/069f0fea00d3caf41fb9c3eaf81ee918c5c63a51
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avg.ll
Log Message:
-----------
[X86] canCreateUndefOrPoisonForTargetNode - SSE PINSR/PEXTR vector element insert/extract are never out of bounds (#149822)
The immediate index is guaranteed to be treated as modulo
Commit: d87bf79a236f25bccebca9ceaff7fb51399df052
https://github.com/llvm/llvm-project/commit/d87bf79a236f25bccebca9ceaff7fb51399df052
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr149841.ll
Log Message:
-----------
[X86] isGuaranteedNotToBeUndefOrPoisonForTargetNode - X86ISD::GlobalBaseReg and X86ISD::Wrapper/WrapperRIP nodes are never poison (#149854)
Fixes #149841
Commit: d2a7f4e528c9a8a2ac480c13259bd6050f59d4a7
https://github.com/llvm/llvm-project/commit/d2a7f4e528c9a8a2ac480c13259bd6050f59d4a7
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
R llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse-output.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
A llvm/test/Transforms/LoopVectorize/RISCV/vplan-riscv-vector-reverse.ll
Log Message:
-----------
[NFC][LV] Refine the lit test case riscv-vector-reverse.ll (#149020)
This patch includes the following changes:
1. Merge riscv-vector-reverse-output.ll into riscv-vector-reverse.ll,
and only check the generated LLVM IR.
2. Add vplan-riscv-vector-reverse.ll to preserve the original debug
output checks from riscv-vector-reverse.ll.
Commit: 95201b2b6445e49cf9b470fe93d62e9b3f6efed5
https://github.com/llvm/llvm-project/commit/95201b2b6445e49cf9b470fe93d62e9b3f6efed5
Author: David Green <david.green at arm.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
A llvm/test/CodeGen/AArch64/bsp_implicit_ops.mir
Log Message:
-----------
[AArch64] Ensure we transferImpOps on BSP pseudo expansions. (#149456)
This ensures that we transfer implicit operands to the new expanded
pseudos if necessary, similarly to other pseudo expansions.
Commit: eafe31b293a5166522fff4f3e2d88c2b5c881381
https://github.com/llvm/llvm-project/commit/eafe31b293a5166522fff4f3e2d88c2b5c881381
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
M llvm/test/CodeGen/RISCV/rvv/rvv-vmerge-to-vmv.ll
Log Message:
-----------
[RISCV] Don't lose elements from False in vmerge -> vmv peephole (#149720)
In the vmerge peephole, we currently allow different AVLs for the vmerge
and its true operand.
If vmerge's VL > true's VL, vmerge can "preserve" elements from false
that would otherwise be clobbered with a tail agnostic policy on true.
mask 1 1 1 1 0 0 0 0
true x x x x|. . . . AVL=4
vmerge x x x x f f|. . AVL=6
If we convert this to vmv.v.v we will lose those false elements:
mask 1 1 1 1 0 0 0 0
true x x x x|. . . . AVL=4
vmv.v.v x x x x . .|. . AVL=6
Fix this by checking that vmerge's AVL is <= true's AVL.
Should fix #149335
Commit: e644f5fd9e9b0dfdbf02357260908160d23c5b28
https://github.com/llvm/llvm-project/commit/e644f5fd9e9b0dfdbf02357260908160d23c5b28
Author: Timothy Herchen <timothy.herchen at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/lib/Sema/SemaX86.cpp
A clang/test/CodeGen/X86/prefetchi-error.c
Log Message:
-----------
[clang] [Sema] Check argument range for prefetchi* intrinsics (#149745)
Fixes https://github.com/llvm/llvm-project/issues/144857 . I can create
a test if desired, but I think the fix is trivial enough.
<img width="805" height="105" alt="image"
src="https://github.com/user-attachments/assets/aaee8e5f-6e65-4f04-b8b9-e4ae1434d958"
/>
Commit: f20130a8d494b94d0842cd165e9b7a83ef3aee4a
https://github.com/llvm/llvm-project/commit/f20130a8d494b94d0842cd165e9b7a83ef3aee4a
Author: gulfemsavrun <gulfem at google.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
Log Message:
-----------
[Fuchsia] Don't use LLVM build for PGO data (#149788)
Commit: 314ce691df0d699234c871a1772470b5e4aed892
https://github.com/llvm/llvm-project/commit/314ce691df0d699234c871a1772470b5e4aed892
Author: Pete Chou <petechou at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/AArch64/aarch64-mops.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-memcpy.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-memcpyinline.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-memmove.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-memset.mir
Log Message:
-----------
[GlobalISel] Allow Legalizer to lower volatile memcpy family. (#145997)
This change updates legalizer to allow lowering volatile memcpy family
as a target might rely on lowering to legalize them.
Commit: 307256ecbd858bc2df5fa9342c67a8205691ade9
https://github.com/llvm/llvm-project/commit/307256ecbd858bc2df5fa9342c67a8205691ade9
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/test/Transforms/GVNSink/lifetime.ll
Log Message:
-----------
[GVNSink] Do not sink lifetimes of different allocas (#149818)
This was always undesirable, and after #149310 it is illegal and will
result in a verifier error.
Fix this by moving SimplifyCFG's check for this into
canReplaceOperandWithVariable(), so it's shared with GVNSink.
Commit: a7a1df8f72ac6e3a68ec53584107be6542d6666b
https://github.com/llvm/llvm-project/commit/a7a1df8f72ac6e3a68ec53584107be6542d6666b
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
Log Message:
-----------
[CodeGen] Remove handling for lifetime.start/end on non-alloca (#149838)
After https://github.com/llvm/llvm-project/pull/149310 we are guaranteed
that the argument is an alloca, so we don't need to look at underlying
objects (which was not a correct thing to do anyway).
This also drops the offset argument for lifetime nodes in SDAG. The
offset is fixed to zero now. (Peculiarly, while SDAG pretended to have
an offset, it just gets silently dropped during selection.)
Commit: 34f59d79209268eca9c63ccc7646128f2dc52fe3
https://github.com/llvm/llvm-project/commit/34f59d79209268eca9c63ccc7646128f2dc52fe3
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/lib/Basic/Targets/ARM.cpp
M clang/test/Preprocessor/arm-acle-6.4.c
Log Message:
-----------
[Clang][ARM] Fix __ARM_FEATURE_LDREX on Armv8-M (#149538)
The Armv8-M architecture doesn't have the LDREXD and STREXD
instructions, for exclusive load/store of a 64-bit quantity split across
two registers. But the `__ARM_FEATURE_LDREX` macro was set to a value
that claims it does, because the case for Armv8 was missing a check for
M profile.
The Armv7 case got it right, so I've just made the two cases the same.
Commit: 8c14d3f44f51be053e91612f4ad2d77bf04b6b3a
https://github.com/llvm/llvm-project/commit/8c14d3f44f51be053e91612f4ad2d77bf04b6b3a
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.h
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
Log Message:
-----------
[MISched] Use SchedRegion in overrideSchedPolicy and overridePostRASchedPolicy (#149297)
This patch updates `overrideSchedPolicy` and `overridePostRASchedPolicy`
to take a
`SchedRegion` parameter instead of just `NumRegionInstrs`. This provides
access to both the
instruction range and the parent `MachineBasicBlock`, which enables
looking up function-level
attributes.
With this change, targets can select post-RA scheduling direction per
function using a function
attribute. For example:
```cpp
void overridePostRASchedPolicy(MachineSchedPolicy &Policy,
const SchedRegion &Region) const {
const Function &F = Region.RegionBegin->getMF()->getFunction();
Attribute Attr = F.getFnAttribute("amdgpu-post-ra-direction");
...
}
Commit: 07527596f3dc5f7180cfee79f217cf784b43f059
https://github.com/llvm/llvm-project/commit/07527596f3dc5f7180cfee79f217cf784b43f059
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/X86/store-merge.ll
Log Message:
-----------
[AggressiveInstCombine] Support store merge with non-consecutive parts (#149807)
This is a minor extension of #147540, resolving one of the FIXMEs. If
the collected parts contain some non-consecutive elements, we can still
handle smaller ranges that *are* consecutive.
This is not common in practice and mostly shows up when the same value
is stored at two different offsets.
Commit: ddf34b4c97f9b047827379329118d485072f1cdf
https://github.com/llvm/llvm-project/commit/ddf34b4c97f9b047827379329118d485072f1cdf
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fix-xvshuf.ll
M llvm/test/CodeGen/LoongArch/llvm.exp10.ll
M llvm/test/CodeGen/LoongArch/llvm.sincos.ll
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lsx/fpowi.ll
Log Message:
-----------
[LoongArch] Optimize general fp build_vector lowering (#149486)
Commit: cb8b0cd2cfbe817253f2679df53dd7926a7e1894
https://github.com/llvm/llvm-project/commit/cb8b0cd2cfbe817253f2679df53dd7926a7e1894
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cost.ll
Log Message:
-----------
[LV] Precommit test changes for #148686. NFC
Namely explicitly adding -force-tail-folding-style=data to existing RUN
lines so that we don't lose them when we switch to data-with-evl by
default.
Commit: 03b90486daf9473de266161f3910e13a92ed15b8
https://github.com/llvm/llvm-project/commit/03b90486daf9473de266161f3910e13a92ed15b8
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
A llvm/test/CodeGen/WebAssembly/memory-interleave.ll
Log Message:
-----------
[WebAssembly] Memory interleave test (#149045)
Precommit codegen test for vectorization cost modelling.
Commit: 81651e9fd0a744423fc0435f199ef79fb3a91f02
https://github.com/llvm/llvm-project/commit/81651e9fd0a744423fc0435f199ef79fb3a91f02
Author: Garvit Gupta <garvgupt at qti.qualcomm.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/test/Driver/baremetal.cpp
Log Message:
-----------
Remove extraneous addition of `-X` flag in baremetal toolchain (#148855)
Commit 597ee88 moved the -X flag to a new position in the baremetal
toolchain's linker job, but unintentionally left the original instance in place.
This patch removes the redundant flag, ensuring -X is passed only once.
Commit: 73b85f87e4771d04e02912a8c2f39ab67910a04d
https://github.com/llvm/llvm-project/commit/73b85f87e4771d04e02912a8c2f39ab67910a04d
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.td
M mlir/include/mlir/Dialect/ArmSVE/Transforms/Transforms.h
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToNeonI8MMPattern.cpp
M mlir/lib/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/CMakeLists.txt
A mlir/lib/Dialect/ArmSVE/Transforms/LowerContractToSVEPatterns.cpp
R mlir/lib/Dialect/ArmSVE/Transforms/LowerContractionToSVEI8MMPattern.cpp
A mlir/test/Dialect/Vector/CPU/ArmSVE/vector-bfmmla.mlir
A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/vector-contract-bfmmla.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/vector-contract-i8mm.mlir
Log Message:
-----------
[MLIR][AArch64] Lower `vector.contract` to SVE FEAT_BF16 operations (#147052)
This patch adds lowering of Bfloat16 widening matrix multiply and
accumulate `vector.contract`, by parametrising and refactoring the
pattern for 8-bit integers.
Commit: 3e7433d75a0c03a84e6b1c8e5e5eda347d72a8ff
https://github.com/llvm/llvm-project/commit/3e7433d75a0c03a84e6b1c8e5e5eda347d72a8ff
Author: fabrizio-indirli <fabrizio.indirli at arm.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir
Log Message:
-----------
[mlir][linalg] Fix to Elementwise Fusion when preserving results (#149843)
In the linalg ElementwiseOpFusion transform, a pre-requisite for the
fusion between a producer and consumer op is that the producer's output
indexing map associated to the result to be fused must be invertible
(e.g. a simple permutation).
Before this patch, only the first output indexing map was being checked;
this bug produced issues when the operand to fuse was not the 1st result
of the producer op. For example, this situation arises when the producer
op has multiple results because it's the result of previous fusions
where the original result had been preserved: in these cases, the pass
ought to check the indexing map of the result being fused, which is not
necessarily the 1st one.
Signed-off-by: Fabrizio Indirli <Fabrizio.Indirli at arm.com>
Commit: 4b0625f05114af908283b4bc78321babfc03e252
https://github.com/llvm/llvm-project/commit/4b0625f05114af908283b4bc78321babfc03e252
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[DAG] isNonZeroModBitWidthOrUndef - fix bugprone-argument-comment analyzer warning. NFC.
matchUnaryPredicate argument is AllowUndefs not AllowUndef
Commit: b487f9a7bd15e453a3ff7fcbfbc54e54eecf26d3
https://github.com/llvm/llvm-project/commit/b487f9a7bd15e453a3ff7fcbfbc54e54eecf26d3
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/nested-loop-transformation-construct01.f90
M flang/test/Lower/OpenMP/nested-loop-transformation-construct02.f90
A flang/test/Lower/OpenMP/unroll-heuristic01.f90
A flang/test/Lower/OpenMP/unroll-heuristic02.f90
A flang/test/Parser/OpenMP/unroll-heuristic.f90
A flang/test/Parser/OpenMP/unroll-partial.f90
R flang/test/Parser/OpenMP/unroll.f90
Log Message:
-----------
[Flang] Implement !$omp unroll using omp.unroll_heuristic (#144785)
Add support for `!$omp unroll` in Flang and basic MLIR
`omp.canonical_loop` modeling.
First step to add `omp.canonical_loop` modeling to the MLIR OpenMP
dialect with the goal of being more general than the current
`omp.loop_nest` approach:
* Support for non-perfectly nested loops
* Support for non-rectangular loops
* Support for arbitrary compositions of loop transformations
This patch is functional end-to-end and adds support for `!$omp unroll`
to Flang. `!$omp unroll` is lowered to `omp.new_cli`,
`omp.canonical_loop`, and `omp.unroll_heuristic` in MLIR, which are
lowered to LLVM-IR using the OpenMPIRBuilder
(https://reviews.llvm.org/D107764).
Commit: 579a80784d43f4c21ac4ee2df221ba4f3b98fd70
https://github.com/llvm/llvm-project/commit/579a80784d43f4c21ac4ee2df221ba4f3b98fd70
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/print-multi-selection-flags.c
Log Message:
-----------
[Clang][Driver][ARM] Forward `-Os` and `-Oz` as multilib flags (#149819)
Pass along `-Os` and `-Oz` as multilib flags under ARM and AArch64 so
that they can be used as criteria for multilib selection.
Commit: 9fc7c6cbd2e2f5c67b2572aa6ca636f8dfad1cb3
https://github.com/llvm/llvm-project/commit/9fc7c6cbd2e2f5c67b2572aa6ca636f8dfad1cb3
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll
Log Message:
-----------
[AArch64] Allow splitting bitmasks for ANDS. (#149095)
This is already done for AND; we can reuse the existing infrastructure
for ANDS so long as the second instruction of the pair is ANDS.
Commit: c14c0a195c11cad1106c0d7457ef2bc83095f5da
https://github.com/llvm/llvm-project/commit/c14c0a195c11cad1106c0d7457ef2bc83095f5da
Author: Remy Farley <one-d-wide at protonmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/docs/TestingGuide.rst
Log Message:
-----------
[lit][docs] Mention LIT_OPTS instead of LIT_ARGS (#147494)
Noticed that the current
[docs](https://llvm.org/docs/TestingGuide.html#unit-and-regression-tests)
recommend using LIT_ARGS (config option in cmake script), rather than
LIT_OPTS (environment variable interpreted by lit directly). While
LIT_ARGS doesn't do anything at all when set with make, at least not in
a way outlined in the docs.
Commit: 688ea048affe8e79221ea1a8c376bcf20ef8f3bb
https://github.com/llvm/llvm-project/commit/688ea048affe8e79221ea1a8c376bcf20ef8f3bb
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety.h
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/Sema/warn-lifetime-safety-dataflow.cpp
M clang/unittests/Analysis/CMakeLists.txt
A clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety] Revamp test suite using unittests (#149158)
Refactor the Lifetime Safety Analysis infrastructure to support unit testing.
- Created a public API class `LifetimeSafetyAnalysis` that encapsulates the analysis functionality
- Added support for test points via a special `TestPointFact` that can be used to mark specific program points
- Added unit tests that verify loan propagation in various code patterns
Commit: 87d73ff7fdc8fa7acdc2137654f4c4d8b051c423
https://github.com/llvm/llvm-project/commit/87d73ff7fdc8fa7acdc2137654f4c4d8b051c423
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M flang/test/Lower/OpenMP/unroll-heuristic02.f90
Log Message:
-----------
[Flang] Regenerate unroll test
Commit: c51b48be4785f104f3aff2ba4a839a5f54778c5b
https://github.com/llvm/llvm-project/commit/c51b48be4785f104f3aff2ba4a839a5f54778c5b
Author: Chris Jackson <chris.jackson at amd.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
A llvm/test/CodeGen/AMDGPU/integer-select-src-modifiers.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/ssubsat.ll
Log Message:
-----------
[AMDGPU] Recognise bitmask operations as srcmods on integer types (#149110)
Add to the VOP patterns to recognise when or/xor/and are masking only
the most significant bit of i32/v2i32/i64 and replace with the appropriate source modifier.
Commit: b3e016e05f1d21428298760db82b26fd0266f8bb
https://github.com/llvm/llvm-project/commit/b3e016e05f1d21428298760db82b26fd0266f8bb
Author: Chris Jackson <chris.jackson at amd.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
R llvm/test/CodeGen/AMDGPU/integer-select-src-modifiers.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/ssubsat.ll
Log Message:
-----------
Revert "[AMDGPU] Recognise bitmask operations as srcmods" (#150000)
Reverts llvm/llvm-project#149110 due to various buildbot failures.
Commit: 020856eec528975cf472b35bf2a7cf38809bf34e
https://github.com/llvm/llvm-project/commit/020856eec528975cf472b35bf2a7cf38809bf34e
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
Log Message:
-----------
[mlir][vector][spirv] Fix a crash in `VectorLoadOpConverter` (#149964)
This PR adds null check for `spirvVectorType` in VectorLoadOpConverter
to prevent a crash. Fixes #149956.
Commit: 7d9f913bb4164b8aaecfc17accebd44044592115
https://github.com/llvm/llvm-project/commit/7d9f913bb4164b8aaecfc17accebd44044592115
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticIDs.h
Log Message:
-----------
Update comment on getCustomDiagID; NFC
These APIs should almost never be used in Clang, so documenting that
more clearly. The problem is that the diagnostics are never associated
with a diagnostic group, so users have no way to control warning
behavior associated with the diagnostic. That makes for a poor user
experience. Instead, use a real diagnostic whenever possible or the API
taking a CustomDiagDesc as a last resort.
Commit: f78c4ce55bc4c47625d0e780f38522938920e329
https://github.com/llvm/llvm-project/commit/f78c4ce55bc4c47625d0e780f38522938920e329
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
A lldb/source/Plugins/Language/CPlusPlus/MsvcStlAtomic.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/TestDataFormatterStdAtomic.py
Log Message:
-----------
[LLDB] Add formatters for MSVC STL std::atomic (#149801)
Adds synthetic children and a summary provider for `std::atomic` on
MSVC's STL. This currently only supports DWARF because it relies on the
template argument. Once there are PDB tests, this will probably use the
return type of some method like `value()` because template types aren't
available there.
Towards #24834.
Commit: a807e8ea9f6ecf151e2ccc84af05431e54be8dda
https://github.com/llvm/llvm-project/commit/a807e8ea9f6ecf151e2ccc84af05431e54be8dda
Author: Donรกt Nagy <donat.nagy at ericsson.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h
M clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
M clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp
M clang/lib/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp
M clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/unittests/StaticAnalyzer/ConflictingEvalCallsTest.cpp
M clang/unittests/StaticAnalyzer/ExprEngineVisitTest.cpp
M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
M clang/unittests/StaticAnalyzer/NoStateChangeFuncVisitorTest.cpp
M clang/unittests/StaticAnalyzer/ObjcBug-124477.cpp
M clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
M clang/unittests/StaticAnalyzer/SValSimplifyerTest.cpp
M clang/unittests/StaticAnalyzer/SValTest.cpp
M clang/unittests/StaticAnalyzer/TestReturnValueUnderConstruction.cpp
Log Message:
-----------
[analyzer] Prettify checker registration and unittest code (#147797)
This commit tweaks the interface of `CheckerRegistry::addChecker` to
make it more practical for plugins and tests:
- The parameter `IsHidden` now defaults to `false` even in the
non-templated overload (because setting it to true is unusual,
especially in plugins).
- The parameter `DocsUri` defaults to the dummy placeholder string
`"NoDocsUri"` because (as of now) nothing queries its value from the
checker registry (it's only used by the logic that generates the
clang-tidy documentation, but that loads it directly from `Checkers.td`
without involving the `CheckerRegistry`), so there is no reason to
demand specifying this value.
In addition to propagating these changes, this commit clarifies,
corrects and extends lots of comments and performs various minor code
quality improvements in the code of unit tests and example plugins.
I originally wrote the bulk of this commit when I was planning to add an
extra parameter to `addChecker` in order to implement some technical
details of the CheckerFamily framework. At the end I decided against
adding that extra parameter, so this cleanup was left out of the PR
https://github.com/llvm/llvm-project/pull/139256 and I'm merging it now
as a separate commit (after minor tweaks).
This commit is mostly NFC: the only functional change is that the
analyzer will be compatible with plugins that rely on the default
argument values and don't specify `IsHidden` or `DocsUri`. (But existing
plugin code will remain valid as well.)
Commit: e96230607cad9d30670ce55ef1cb9dd3fe1e21d7
https://github.com/llvm/llvm-project/commit/e96230607cad9d30670ce55ef1cb9dd3fe1e21d7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/ast-dump-APValue-lvalue.cpp
Log Message:
-----------
[clang] Fix printing null MemberPointer APValues (#149995)
The decl can be null and this used to crash.
Commit: d54400559bb6181566030d5f99c6716ea2b2f0a9
https://github.com/llvm/llvm-project/commit/d54400559bb6181566030d5f99c6716ea2b2f0a9
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/main.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb-dap] Allow returning multiple breakpoints in "stopped" event (#149133)
Currently, the "stopped" event returned when a breakpoint is hit will
always return only the ID of first breakpoint returned from
`GetStopReasonDataAtIndex`. This is slightly different from the
behaviour in `lldb`, where multiple breakpoints can exist at a single
instruction address and all are returned as part of the stop reason when
that address is hit.
This patch allows all multiple hit breakpoints to be returned in the
"stopped" event, both in the hitBreakpointIds field and in the
description, using the same formatting as lldb e.g. "breakpoint 1.1
2.1". I'm not aware of any effect this will have on debugger plugins; as
far as I can tell, it makes no difference within the VS Code UI - this
just fixes a minor issue encountered while writing an `lldb-dap` backend
for Dexter.
Commit: 54b50681ca0fd1c0c6ddb059c88981a45e2f1b19
https://github.com/llvm/llvm-project/commit/54b50681ca0fd1c0c6ddb059c88981a45e2f1b19
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety.h
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/Sema/warn-lifetime-safety-dataflow.cpp
M clang/unittests/Analysis/CMakeLists.txt
R clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
Revert "[LifetimeSafety] Revamp test suite using unittests (#149158)"
This reverts commit 688ea048affe8e79221ea1a8c376bcf20ef8f3bb.
Commit: da06b45d27f70485857dae6a1298350045dc25bd
https://github.com/llvm/llvm-project/commit/da06b45d27f70485857dae6a1298350045dc25bd
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaARM.h
M clang/include/clang/Sema/SemaRISCV.h
M clang/include/clang/Sema/SemaX86.h
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/test/SemaCXX/attr-target-clones-riscv.cpp
Log Message:
-----------
[NFC][Clang][FMV] Refactor sema checking of target_version/clones attributes. (#149067)
Sema currently has checkTargetVersionAttr and
checkTargetClonesAttrString to diagnose the said attributes. However the
code tries to handle all of AArch64, RISC-V and X86 targets at once
which is hard to maintain, therefore I am splitting these functions.
Unfortunately I could not use polymorphism because all of Sema, SemaARM,
SemaRISCV and SemaX86 inherit from SemaBase. The Sema instance itself
contains instances of every other target specific Sema.
Commit: 37f0f10a857dad83dce225408fbd3c269b15bede
https://github.com/llvm/llvm-project/commit/37f0f10a857dad83dce225408fbd3c269b15bede
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/check-prof-info.ll
A llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
R llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-no-remaining-iterations.ll
Log Message:
-----------
[LV] Don't vectorize epilogue with scalable VF if no iterations remain. (#149789)
Currently we may try to vectorize the epilogue with a scalable VF, even
if there are no remaining iterations after the main vector loop with a
fixed VF.
Update selectEpilogueVectorizationFactor to always compute the number of
remaining iterations and exit early if no epilogue iterations remain.
Fixes https://github.com/llvm/llvm-project/issues/149726
PR: https://github.com/llvm/llvm-project/pull/149789
Commit: 972ac59c9af4ad47af0b3542ae936b3470727e5f
https://github.com/llvm/llvm-project/commit/972ac59c9af4ad47af0b3542ae936b3470727e5f
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseBufferRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseSpaceCollapse.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseStorageSpecifierToLLVM.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/StageSparseOperations.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (21/n) (#149928)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: f904cdd6c3049e605d24ed17680e80e7133908a0
https://github.com/llvm/llvm-project/commit/f904cdd6c3049e605d24ed17680e80e7133908a0
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorBitCast.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMask.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorScan.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorShapeCast.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorToFromElementsToShuffleTree.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateMaskedLoadStore.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorInsertExtractStridedSliceRewritePatterns.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorMaskElimination.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (24/n) (#149931)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 4ae9fdca8af095afd91705f8dd143e93b304b6fb
https://github.com/llvm/llvm-project/commit/4ae9fdca8af095afd91705f8dd143e93b304b6fb
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M mlir/lib/Conversion/IndexToLLVM/IndexToLLVM.cpp
M mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
M mlir/lib/Conversion/LLVMCommon/MemRefBuilder.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/LLVMCommon/PrintCallHelper.cpp
M mlir/lib/Conversion/LLVMCommon/StructBuilder.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
M mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Conversion/OpenACCToSCF/OpenACCToSCF.cpp
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
Log Message:
-----------
[mlir][NFC] update `Conversion` create APIs (6/n) (#149888)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: a5d9ba66258e452e4658281bbbd07a2214d4dc51
https://github.com/llvm/llvm-project/commit/a5d9ba66258e452e4658281bbbd07a2214d4dc51
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode] Error on bitcasts to bool that aren't 0 or 1 (#149996)
This is also what the current interpreter does.
Commit: 76ab6a2a76cbd547a354ff51229ab45934c6cfff
https://github.com/llvm/llvm-project/commit/76ab6a2a76cbd547a354ff51229ab45934c6cfff
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
Log Message:
-----------
[gn build] Port f78c4ce55bc4
Commit: 28ca5bedd54679a62e96c013a530b2550c0d33f4
https://github.com/llvm/llvm-project/commit/28ca5bedd54679a62e96c013a530b2550c0d33f4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/include/clang-c/Index.h
Log Message:
-----------
[clang-c] Don't deprecate CXRemapping as well as its users (#149975)
#149079 deprecated CXRemapping and all its methods, however MSVC warns
when a deprecated method is using a deprecated variable (and breaks our
Werror builds) - best way to avoid this is to only deprecate the methods
directly.
Commit: b692b239f037ebdc5a4501884a7f57a19afa33fd
https://github.com/llvm/llvm-project/commit/b692b239f037ebdc5a4501884a7f57a19afa33fd
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Rename var used to retry with RT-checks (NFC) (#147307)
FoundNonConstantDistanceDependence is a misleading name for a variable
that determines whether we retry with runtime checks. Rename it.
Commit: 2914a488c7f49c4817bbfb86f74da04fd338b4eb
https://github.com/llvm/llvm-project/commit/2914a488c7f49c4817bbfb86f74da04fd338b4eb
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Semantics/canonicalize-omp.cpp
M flang/lib/Semantics/canonicalize-omp.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/openmp-utils.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/symbol.cpp
M flang/test/Lower/OpenMP/map-modifiers.f90
M flang/test/Semantics/OpenMP/combined-constructs.f90
M flang/test/Semantics/OpenMP/device-constructs.f90
A flang/test/Semantics/OpenMP/map-modifiers-v60.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
Log Message:
-----------
[flang][OpenMP] Sema checks, lowering with new format of MAP modifiers (#149137)
OpenMP 6.0 has changed the modifiers on the MAP clause. Previous patch
has introduced parsing support for them. This patch introduces
processing of the new forms in semantic checks and in lowering. This
only applies to existing modifiers, which were updated in the 6.0 spec.
Any of the newly introduced modifiers (SELF and REF) are ignored.
Commit: 2736fbd8324bf21a130c8abd4bd0e7d3aa840ac1
https://github.com/llvm/llvm-project/commit/2736fbd8324bf21a130c8abd4bd0e7d3aa840ac1
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M mlir/lib/IR/BuiltinDialect.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/Target/LLVMIR/LLVMImportInterface.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/lib` create APIs (26/n) (#149933)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
---------
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>
Commit: 7cfd32a1d5f3bee1de58129eecac51e074d19dad
https://github.com/llvm/llvm-project/commit/7cfd32a1d5f3bee1de58129eecac51e074d19dad
Author: Zack Johnson <zacklj89 at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
[compiler-rt][MSVC] Conditionally remove emupac.cpp for msvc (#149823)
#148094 introduces logic for emulated PAC, which utilizes language
extensions not available on MSVC.
Commit: 38318dd05615a2f38abdeeae99e7423165308902
https://github.com/llvm/llvm-project/commit/38318dd05615a2f38abdeeae99e7423165308902
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
Log Message:
-----------
[RISCV][LoopVectorize] Use DataWithEVL as the preferred tail folding style (#148686)
In preparation to eventually make EVL tail folding the default, this
patch sets DataWithEVL as the preferred tail folding style for RISC-V,
but doesn't enable tail folding by default.
And although tail folding isn't enabled by default, the loop vectorizer
will actually tail fold loops with a small trip count, so this will
cause some EVL vectorized loops to be generated in the default
configuration.
The EVL tail folding work is still not complete, e.g. we still need to
handle interleave groups etc., see #123069, but a lot of these missing
features also apply to the data (masked) tail folding strategy, which is
the default anyway.
The actual overall performance picture is much better, on TSVC EVL tail
folding is faster than data on every benchmark on the spacemit-x60[^1]:
https://lnt.lukelau.me/db_default/v4/nts/755?compare_to=756
And on SPEC CPU 2017 we see a geomean improvement[^2]:
https://lnt.lukelau.me/db_default/v4/nts/751?compare_to=753
This is likely due to masked instructions generally being less
performant on the spacemit-x60, up to twice as slow:
https://camel-cdr.github.io/rvv-bench-results/bpi_f3/index.html
[^1]: These benchmarks don't exactly give the same performance numbers
as this patch, but it's a good indicator that EVL tail folding is
generally faster than masked tail folding.
[^2]: The large code size increase in 505.mcf_r is due to a function
being inlined now
Commit: 287b9447cc128d2218d148062d545a8633e37a4b
https://github.com/llvm/llvm-project/commit/287b9447cc128d2218d148062d545a8633e37a4b
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
A lldb/source/Plugins/Language/CPlusPlus/MsvcStlUnordered.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py
Log Message:
-----------
[LLDB] Add formatters for MSVC STL unordered containers (#149519)
Adds formatters for MSVC STL's unordered containers. This one is
relatively simple, because it can reuse the `std::list` synthetic
children. The unordered containers (aka
[`_Hash`](https://github.com/microsoft/STL/blob/313964b78a8fd5a52e7965e13781f735bcce13c5/stl/inc/xhash#L327))
contain a
[`_List`](https://github.com/microsoft/STL/blob/313964b78a8fd5a52e7965e13781f735bcce13c5/stl/inc/xhash#L2012)
which contains all elements (and is used for iterating through the
container).
Towards https://github.com/llvm/llvm-project/issues/24834.
Commit: 33df8882172dc3eb06db9846250de03dd3f7fff3
https://github.com/llvm/llvm-project/commit/33df8882172dc3eb06db9846250de03dd3f7fff3
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Teach RISCVTargetLowering::isFPImmLegal about fli+fneg (#149075)
There was a mismatch between isFPImmlegal and the cases that are handled
by lowerConstantFP. isFPImmLegal didn't check for the case where we
support `fli` of a negated constant (and so can lower to fli+fneg). This
has very minimal impact (42 insertion, 47 deletions across an
rv22u64_zfa llvm-test-suite build including SPEC CPU 2017) but is added
here for completeness.
See the PR thread https://github.com/llvm/llvm-project/pull/149075 for furrther discussion about the degree to which isFPImmLegal and lowerConstantFP are consistent. We ultimately agreed it makes sense to add fli+fneg, but there may be other future cases where it doesn't make sense to match.
Commit: 30d3bb598f3950b4b71830ff59624bcc7e408931
https://github.com/llvm/llvm-project/commit/30d3bb598f3950b4b71830ff59624bcc7e408931
Author: Nico Weber <thakis at chromium.org>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Tweak cmake formatting
No behavior change. For easier extraction of sources by grepping
(such as done by llvm/utils/gn/build/sync_source_lists_from_cmake.py).
Commit: a1bf0d1394e48894be05d274d3942ff77c35ce87
https://github.com/llvm/llvm-project/commit/a1bf0d1394e48894be05d274d3942ff77c35ce87
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
Log Message:
-----------
[gn build] Port 287b9447cc12
Commit: 58be6226eb897f53185851283f25bd6d25ec74fa
https://github.com/llvm/llvm-project/commit/58be6226eb897f53185851283f25bd6d25ec74fa
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety.h
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/Sema/warn-lifetime-safety-dataflow.cpp
M clang/unittests/Analysis/CMakeLists.txt
A clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
Reapply "[LifetimeSafety] Revamp test suite using unittests (#149158)"
This reverts commit 54b50681ca0fd1c0c6ddb059c88981a45e2f1b19.
Commit: 0a8ddd396546bec7eaa4c3b7ef2f495e52bca0b8
https://github.com/llvm/llvm-project/commit/0a8ddd396546bec7eaa4c3b7ef2f495e52bca0b8
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Interpret boolean values correctly (#149312)
Previously the `ClampOp::verify` would sign extend boolean values,
leading "true" to be casted to a value of -1 instead of 1. This PR
ensures i1 values are zero extended, since i1 is used as a boolean value
in TOSA.
Commit: d8857d55d3a397ba047cbe9e8b11cecf3e1cedfd
https://github.com/llvm/llvm-project/commit/d8857d55d3a397ba047cbe9e8b11cecf3e1cedfd
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/error_if_check.mlir
Log Message:
-----------
[mlir][tosa] Check for isolated regions in `tosa.while_loop` (#144865)
Similarly to `tosa.cond_if`, this patch checks that the cond/body
regions of `tosa.while_loop` are isolated from above. This is required
since the specification requires all values used in the cond/body
regions are explicitly declared within the regions.
Commit: 33bfbacdcba2ec9f81162637a7cf15c13975af0b
https://github.com/llvm/llvm-project/commit/33bfbacdcba2ec9f81162637a7cf15c13975af0b
Author: Nico Weber <thakis at chromium.org>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Analysis/BUILD.gn
Log Message:
-----------
[gn build] Port 58be6226eb89
Commit: 04107209856bb39e041aa38cf40de0afa90a6b2d
https://github.com/llvm/llvm-project/commit/04107209856bb39e041aa38cf40de0afa90a6b2d
Author: Justus Klausecker <117751770+Justus2308 at users.noreply.github.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
A llvm/test/Transforms/LoopSimplifyCFG/enter-through-indirectbr.ll
Log Message:
-----------
[LoopSimplifyCFG] Add check for missing loop preheader (#149743)
Closes #147869
Closes #149679
Adds a check for a missing loop preheader during analysis. This fixes a
nullptr dereference that happened whenever LoopSimplify was unable to
generate a preheader because the loop was entered by an indirectbr
instruction (as stated in the LoopSimplify.cpp doc comment).
Commit: f7a3be7311c11871ae19b2fa370fd6a72532c8fe
https://github.com/llvm/llvm-project/commit/f7a3be7311c11871ae19b2fa370fd6a72532c8fe
Author: flovent <flbven at protonmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/utils/Aliasing.cpp
M clang-tools-extra/clang-tidy/utils/Aliasing.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/infinite-loop.cpp
Log Message:
-----------
[clang-tidy] Improve `bugprone-infinite-loop` check by adding handing for structured bindings (#144213)
Before this patch, this check only handles `VarDecl` as varaibles
declaration in statement, but this will ignore variables in structured
bindings (`BindingDecl` in AST), which leads to false positives.
Closes #138842.
Commit: 3855c49f28d5ee4b32bf1478d0a50ca191bcf2b6
https://github.com/llvm/llvm-project/commit/3855c49f28d5ee4b32bf1478d0a50ca191bcf2b6
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
Log Message:
-----------
[flang][OpenMP] Fix build break with -Werror
llvm-project/flang/lib/Semantics/resolve-directives.cpp:753:7: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
753 | default:
| ^
1 error generated.
https://lab.llvm.org/buildbot/#/builders/53/builds/17917
Commit: dc87a14efb381d960c8fbf988221f31216d7f5fd
https://github.com/llvm/llvm-project/commit/dc87a14efb381d960c8fbf988221f31216d7f5fd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[Clang] Fix sanitizer failure on DenseMap sentinel value enum
Summary:
This triggers UBSan because the sentinel value `-1` is outside the range
of accepted enum values. Just replace this with a small set.
Commit: b0312be6aa664e4cb9abec6d080e971493093d05
https://github.com/llvm/llvm-project/commit/b0312be6aa664e4cb9abec6d080e971493093d05
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Index/IR/IndexOps.cpp
M mlir/lib/Dialect/MLProgram/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/MPI/IR/MPIOps.cpp
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/lib/Dialect/Math/Transforms/AlgebraicSimplification.cpp
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/lib/Dialect/Math/Transforms/ExtendToSupportedTypes.cpp
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/lib/Dialect/NVGPU/Transforms/CreateAsyncGroups.cpp
M mlir/lib/Dialect/NVGPU/Transforms/OptimizeSharedMemory.cpp
M mlir/lib/Dialect/Quant/Transforms/LowerQuantOps.cpp
M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (19/n) (#149926)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 6e723d2de85cd93d5a16230c20f5c79dc7b49c49
https://github.com/llvm/llvm-project/commit/6e723d2de85cd93d5a16230c20f5c79dc7b49c49
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
Log Message:
-----------
[VPlan] Remove loop region in simplifyBranchConditionForVFAndUF with EVL PHI (#150016)
Previously we fell back to just simplifying the branch cond to true
since one of the phis was a VPEVLBasedIVPHIRecipe. However this should
be fine to replace with its start value.
Commit: 023566ab389ceae8f02a2d86babe90f8ce3bd57b
https://github.com/llvm/llvm-project/commit/023566ab389ceae8f02a2d86babe90f8ce3bd57b
Author: lntue <lntue at google.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M libc/hdr/types/CMakeLists.txt
Log Message:
-----------
[libc] Add missing full build dependency for mbstate. (#150030)
Commit: a415d68e48c4672c63082192626fec9bf9ae9c2c
https://github.com/llvm/llvm-project/commit/a415d68e48c4672c63082192626fec9bf9ae9c2c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/full-match-with-poison-scalar.ll
M llvm/test/Transforms/SLPVectorizer/X86/node-outside-used-only.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-instructions-become-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll
M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
Log Message:
-----------
Revert "[SLP]Initial support for copyable elements (non-schedulable only)"
This reverts commit e202dba288edd47f1b370cc43aa8cd36a924e7c1 to try to
resolve compile time issues, reported in https://llvm-compile-time-tracker.com/compare.php?from=36089e5d983fe9ae00f497c2d500f37227f82db1&to=e202dba288edd47f1b370cc43aa8cd36a924e7c1&stat=instructions%3Au&details=on
Commit: eaa67a3cf041009ae33a45159d0465262c3af5dc
https://github.com/llvm/llvm-project/commit/eaa67a3cf041009ae33a45159d0465262c3af5dc
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M mlir/lib/Conversion/ComplexCommon/DivisionConverter.cpp
M mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
M mlir/lib/Conversion/ComplexToLibm/ComplexToLibm.cpp
M mlir/lib/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h
M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToNVVM/WmmaOpsToNvvm.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp
M mlir/lib/Conversion/GPUToSPIRV/WmmaOpsToSPIRV.cpp
Log Message:
-----------
[mlir][NFC] update `Conversion` create APIs (5/n) (#149887)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: c37942df00e0065c432099e041a04c4d4d148c3d
https://github.com/llvm/llvm-project/commit/c37942df00e0065c432099e041a04c4d4d148c3d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/NVPTX/i1-select.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/PowerPC/ppc64-P9-vabsd.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/wide-scalar-shift-legalization.ll
M llvm/test/CodeGen/SystemZ/pr60413.ll
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/avg.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-unsigned.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
Log Message:
-----------
[DAG] visitFREEZE - limit freezing of multiple operands (#149797)
This is a partial revert of #145939 (I've kept the BUILD_VECTOR(FREEZE(UNDEF), FREEZE(UNDEF), elt2, ...) canonicalization) as we're getting reports of infinite loops (#148084).
The issue appears to be due to deep chains of nodes and how visitFREEZE replaces all instances of an operand with a common frozen version - other users of the original frozen node then get added back to the worklist but might no longer be able to confirm a node isn't poison due to recursion depth limits on isGuaranteedNotToBeUndefOrPoison.
The issue still exists with the old implementation but by only allowing a single frozen operand it helps prevent cases of interdependent frozen nodes.
I'm still working on supporting multiple operands as its critical for topological DAG handling but need to get a fix in for trunk and 21.x.
Fixes #148084
Commit: 38976a03cd367b27437e0d1e81c0ccaee2777b47
https://github.com/llvm/llvm-project/commit/38976a03cd367b27437e0d1e81c0ccaee2777b47
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
M mlir/lib/Conversion/SPIRVToLLVM/ConvertLaunchFuncToLLVMCalls.cpp
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
M mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
M mlir/lib/Conversion/TensorToSPIRV/TensorToSPIRV.cpp
M mlir/lib/Conversion/TosaToArith/TosaToArith.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/TosaToMLProgram/TosaToMLProgram.cpp
M mlir/lib/Conversion/TosaToSCF/TosaToSCF.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
Log Message:
-----------
[mlir][NFC] update `Conversion` create APIs (7/n) (#149889)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: a969bc1e57dc1e2b34847bbe134c19e266fd3acf
https://github.com/llvm/llvm-project/commit/a969bc1e57dc1e2b34847bbe134c19e266fd3acf
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M cross-project-tests/lit.cfg.py
Log Message:
-----------
[dexter] Remove unused env vars from lit.cfg.py (#150031)
I believe these are relics from the days of dexter having the ability to
build your code
Commit: 25e97fc420f8ecc43fbabadfe9767b4163e6ee36
https://github.com/llvm/llvm-project/commit/25e97fc420f8ecc43fbabadfe9767b4163e6ee36
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
Log Message:
-----------
Revert "[RISCV][LoopVectorize] Use DataWithEVL as the preferred tail folding style (#148686)"
This reverts commit 38318dd05615a2f38abdeeae99e7423165308902.
The clang-riscv-gauntlet buildbot is breaking with this commit:
https://lab.llvm.org/buildbot/#/builders/210/builds/371
Commit: 44a6e0099b0f6d0cc4a70210c12108cfa4dee9a7
https://github.com/llvm/llvm-project/commit/44a6e0099b0f6d0cc4a70210c12108cfa4dee9a7
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/lib/Lex/Pragma.cpp
A clang/test/Preprocessor/pragma-pushpop-macro-diag.c
M clang/test/Preprocessor/pragma-pushpop-macro.c
Log Message:
-----------
[clang] Check empty macro name in `#pragma push_macro("")` or `#pragma pop_macro("")` (#149982)
Fixes https://github.com/llvm/llvm-project/issues/149762.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: d5099722e8ae0972a4a95927cb8ed415eda17298
https://github.com/llvm/llvm-project/commit/d5099722e8ae0972a4a95927cb8ed415eda17298
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
Log Message:
-----------
[SPIRVPrepareFunctions] Report change when removing lifetime intrinsics
Should hopefully fix EXPENSIVE_CHECKS build.
Commit: 8d549cf036b6facf455b9add2d878012dfeb3d0d
https://github.com/llvm/llvm-project/commit/8d549cf036b6facf455b9add2d878012dfeb3d0d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[SelectionDAG] Pass SDNodeFlags through getNode instead of setFlags. (#149852)
getNode updates flags correctly for CSE. Calling setFlags after getNode
may set the flags where they don't apply.
I've added a Flags argument to getSelectCC and the signature of getNode that takes
an ArrayRef of EVTs.
Commit: 1053a926ccc0d65784010ea2b4340a38138a6630
https://github.com/llvm/llvm-project/commit/1053a926ccc0d65784010ea2b4340a38138a6630
Author: Yu-Hui Wu <nosba0957 at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
Log Message:
-----------
[RISCV][NFC] Replace reportError wrappers with direct reportFatalUsageError calls (#148142)
Remove the unnecessary reportError wrapper functions and call
reportFatalUsageError directly.
Commit: 90e632eb11a9ee49e8852c5356758024281fa26f
https://github.com/llvm/llvm-project/commit/90e632eb11a9ee49e8852c5356758024281fa26f
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToNeonI8MMPattern.cpp
Log Message:
-----------
[MLIR][AArch64] Refactor lowering of vector.contract to Neon I8MM (#149810)
This patch refactors the pattern in
`Transforms/LowerContractionToNeonI8MMPattern.cpp` using similar
approach as in https://github.com/llvm/llvm-project/pull/147052 to
prepare for adding BF16 support.
Commit: dd36a6901249796a175c3058a50d97cc3a7ba52c
https://github.com/llvm/llvm-project/commit/dd36a6901249796a175c3058a50d97cc3a7ba52c
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
A llvm/test/CodeGen/SPARC/tls-sp.ll
Log Message:
-----------
[NFC][Sparc] Pre-commit a test showing inefficient and broken LD/GD TLS
Commit: 4b99eb2eb49d8fcdb29ba494501e481cf09831ae
https://github.com/llvm/llvm-project/commit/4b99eb2eb49d8fcdb29ba494501e481cf09831ae
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/test/CodeGen/SPARC/tls-sp.ll
Log Message:
-----------
[Sparc] Remove bogus stack adjustment for LD/GD TLS (#149890)
This argument is the number of bytes to adjust the stack by for the
duration of the call. In most cases, PEI is able to eliminate the
corresponding call frame pseudos, folding them into the initial stack
frame allocation (rounded up to stack alignment), where it just ends up
allocating more space than needed. However, in the rare case where this
cannot be done, e.g. due to the use of a dynamic alloca, the 1 byte
stack adjustment persists and results in a misaligned stack for the
duration of the call. This has been the case ever since TLS support was
added in cb1dca602c43 ("[Sparc] Add support for TLS in sparc."), and I
can only assume that 1 was used erroneously thinking that it is the
number of arguments (as there is 1 register argument for the call), not
the number of bytes for on-stack arguments.
Fixes: https://github.com/llvm/llvm-project/issues/149808
Commit: 20c52e423161d3a70d58caf6b0298094cb62e4e7
https://github.com/llvm/llvm-project/commit/20c52e423161d3a70d58caf6b0298094cb62e4e7
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
Log Message:
-----------
Reapply "[RISCV][LoopVectorize] Use DataWithEVL as the preferred tail folding style (#148686)"
This reverts commit 25e97fc420f8ecc43fbabadfe9767b4163e6ee36.
The original commit was reverted due to a crash in llvm-test-suite. The
crash stemmed from a multiply reduction, which isn't supported for
scalable VFs on RISC-V. But for EVL tail folding we only support
scalable VFs, so when -force-tail-folding-style=data-with-evl is
specified we check to see if there's a scalable VF, and fall back to
data-without-lane-mask if there isn't.
This is done in setTailFoldingStyles, but previously we were only
checking if the forced tail folding style was legal, not the style
returned by TTI.
This version fixes this by checking the actual computed tail folding
style and not just the forced one, and adds a test for the crash in
llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
Commit: 6db9b0d19cec17c28df07b14fbea9762e7857f24
https://github.com/llvm/llvm-project/commit/6db9b0d19cec17c28df07b14fbea9762e7857f24
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][rocdl] Add more gfx12 wait intrinsics (#149984)
Commit: 9f733f4324412ef89cc7729bf027cdcab912ceff
https://github.com/llvm/llvm-project/commit/9f733f4324412ef89cc7729bf027cdcab912ceff
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/test/COFF/thin-archive.s
Log Message:
-----------
[LLD][COFF] Make /wholearchive thin-archive member identifiers consistent (#145487)
A thin archive is an archive/library format where the archive itself
contains only references to member object files on disk, rather than
embedding the file contents.
For the non-/wholearchive case, we use the path to the archive member as
the identifier for thin-archive members (see comments in
`enqueueArchiveMember`). This patch modifies the /wholearchive path to
behave the same way.
Apart from consistency, my motivation for fixing this is DTLTO
(#126654), where having the member identifier be the path on disk allows
distribution of bitcode members during ThinLTO.
Commit: b933f0c376c983614a0701f3bfd4054cf8fe4386
https://github.com/llvm/llvm-project/commit/b933f0c376c983614a0701f3bfd4054cf8fe4386
Author: sivadeilra <ardavis at microsoft.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
A clang/test/CodeGenCXX/microsoft-abi-eh-async.cpp
A clang/test/CodeGenCXX/microsoft-abi-eh-disabled.cpp
A clang/test/CodeGenCXX/microsoft-abi-eh-ip2state.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
M llvm/lib/CodeGen/AsmPrinter/WinException.h
M llvm/lib/Target/X86/X86AsmPrinter.h
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/WinEH/wineh-noret-cleanup.ll
M llvm/test/CodeGen/X86/catchret-empty-fallthrough.ll
M llvm/test/CodeGen/X86/conditional-tailcall-pgso.ll
M llvm/test/CodeGen/X86/conditional-tailcall.ll
M llvm/test/CodeGen/X86/noreturn-call-win64.ll
M llvm/test/CodeGen/X86/seh-catch-all.ll
M llvm/test/CodeGen/X86/seh-catchpad.ll
M llvm/test/CodeGen/X86/seh-except-finally.ll
M llvm/test/CodeGen/X86/seh-finally.ll
M llvm/test/CodeGen/X86/seh-safe-div.ll
M llvm/test/CodeGen/X86/seh-unwind-inline-asm-codegen.ll
M llvm/test/CodeGen/X86/stack-coloring-wineh.ll
M llvm/test/CodeGen/X86/taildup-heapallocsite.ll
M llvm/test/CodeGen/X86/win-catchpad-nested-cxx.ll
M llvm/test/CodeGen/X86/win-catchpad.ll
M llvm/test/CodeGen/X86/win-cleanuppad.ll
M llvm/test/CodeGen/X86/win32-eh-states.ll
M llvm/test/CodeGen/X86/win64-seh-epilogue-statepoint.ll
M llvm/test/CodeGen/X86/wineh-coreclr.ll
M llvm/test/CodeGen/XCore/exception.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/mips64_eh.ll.expected
Log Message:
-----------
Fix Windows EH IP2State tables (remove +1 bias) (#144745)
This changes how LLVM constructs certain data structures that relate to
exception handling (EH) on Windows. Specifically this changes how
IP2State tables for functions are constructed. The purpose of this
change is to align LLVM to the requires of the Windows AMD64 ABI, which
requires that the IP2State table entries point to the boundaries between
instructions.
On most Windows platforms (AMD64, ARM64, ARM32, IA64, but *not* x86-32),
exception handling works by looking up instruction pointers in lookup
tables. These lookup tables are stored in `.xdata` sections in
executables. One element of the lookup tables are the `IP2State` tables
(Instruction Pointer to State).
If a function has any instructions that require cleanup during exception
unwinding, then it will have an IP2State table. Each entry in the
IP2State table describes a range of bytes in the function's instruction
stream, and associates an "EH state number" with that range of
instructions. A value of -1 means "the null state", which does not
require any code to execute. A value other than -1 is an index into the
State table.
The entries in the IP2State table contain byte offsets within the
instruction stream of the function. The Windows ABI requires that these
offsets are aligned to instruction boundaries; they are not permitted to
point to a byte that is not the first byte of an instruction.
Unfortunately, CALL instructions present a problem during unwinding.
CALL instructions push the address of the instruction after the CALL
instruction, so that execution can resume after the CALL. If the CALL is
the last instruction within an IP2State region, then the return address
(on the stack) points to the *next* IP2State region. This means that the
unwinder will use the wrong cleanup funclet during unwinding.
To fix this problem, compilers should insert a NOP after a CALL
instruction, if the CALL instruction is the last instruction within an
IP2State region. The NOP is placed within the same IP2State region as
the CALL, so that the return address points to the NOP and the unwinder
will locate the correct region.
This PR modifies LLVM so that it inserts NOP instructions after CALL
instructions, when needed. In performance tests, the NOP has no
detectable significance. The NOP is rarely inserted, since it is only
inserted when the CALL is the last instruction before an IP2State
transition or the CALL is the last instruction before the function
epilogue.
NOP padding is only necessary on Windows AMD64 targets. On ARM64 and
ARM32, instructions have a fixed size so the unwinder knows how to "back
up" by one instruction.
Interaction with Import Call Optimization (ICO):
Import Call Optimization (ICO) is a compiler + OS feature on Windows
which improves the performance and security of DLL imports. ICO relies
on using a specific CALL idiom that can be replaced by the OS DLL
loader. This removes a load and indirect CALL and replaces it with a
single direct CALL.
To achieve this, ICO also inserts NOPs after the CALL instruction. If
the end of the CALL is aligned with an EH state transition, we *also*
insert a single-byte NOP. **Both forms of NOPs must be preserved.** They
cannot be combined into a single larger NOP; nor can the second NOP be
removed.
This is necessary because, if ICO is active and the call site is
modified by the loader, the loader will end up overwriting the NOPs that
were inserted for ICO. That means that those NOPs cannot be used for the
correct termination of the exception handling region (the IP2State
transition), so we still need an additional NOP instruction. The NOPs
cannot be combined into a longer NOP (which is ordinarily desirable)
because then ICO would split one instruction, producing a malformed
instruction after the ICO call.
Commit: bbe912f1e74252f1f57b5d6c6d97a418947f4aa0
https://github.com/llvm/llvm-project/commit/bbe912f1e74252f1f57b5d6c6d97a418947f4aa0
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
A clang/test/DebugInfo/KeyInstructions/asm.c
Log Message:
-----------
[KeyInstr] Inline asm atoms (#149076)
Commit: 75ec7250aaede77ba540ddde61a222f39b30008a
https://github.com/llvm/llvm-project/commit/75ec7250aaede77ba540ddde61a222f39b30008a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Use SDUse::get() instead of a static_cast to SDValue. NFC (#150043)
Commit: 115f768b68d290995b3d9129f44e33cd7c8a11a6
https://github.com/llvm/llvm-project/commit/115f768b68d290995b3d9129f44e33cd7c8a11a6
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[RISCV] Correct alignment of one-active (de)interleave cases (#150052)
Noticed this while going to rewrite the load case as a DAG combine. I
don't have a test case which demonstrates this leading to a miscompile,
but it seems like it could be possible.
Commit: b3e720b4deb481df11cb6be09e5a2ad7a4d4a7eb
https://github.com/llvm/llvm-project/commit/b3e720b4deb481df11cb6be09e5a2ad7a4d4a7eb
Author: Danila Malyutin <danilaml at users.noreply.github.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/PassInstrumentation.h
M llvm/lib/IR/PassInstrumentation.cpp
Log Message:
-----------
[PassInstrumentation] Don't insert extra entries in getPassNameForClassName (#150029)
Don't modify ClassToPassName map unless ClassName is found. Instead,
just return empty StringRef if there is no matching entry. This will
prevent possible dangling references in ClassToPassName map in case of
ClassName being freed.
See https://github.com/llvm/llvm-project/pull/145059/files#r2219763671
for more context.
Commit: aa1b416065ec615e93c496bbb43c7c006a04553e
https://github.com/llvm/llvm-project/commit/aa1b416065ec615e93c496bbb43c7c006a04553e
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
Log Message:
-----------
[clang][deps] Remove dependency on `tooling::ToolAction` (#149904)
The dependency scanner was initially using a fair amount of
infrastructure provided by the `clangTooling` library. Over time, the
needs for bespoke handling of command lines grew and the overlap with
the tooling library kept shrinking. I don't think the library provides
any value anymore.
I decided to remove the dependency and only reimplement the small bits
required by the scanner.
This allowed for a nice simplification, where we no longer need to
create temporary dummy `FileManager` instances (mis-named as
`DriverFileMgr` in some parts) and `SourceManager` instances to attach
to the `DiagnosticsEngine`. That code was copied from the tooling
library to support `DiagnosticConsumers` that expect these to exist. The
scanner uses a closed set of consumers and none need these objects to
exist.
The motivation for this (hopefully NFC) patch are some new restrictions
to how VFS's can be propagated in Clang that I'm working on.
Commit: 999b35629f909d97471a8ba600e3c4cf1cbf1977
https://github.com/llvm/llvm-project/commit/999b35629f909d97471a8ba600e3c4cf1cbf1977
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/utils/gn/build/BUILD.gn
Log Message:
-----------
[gn build] Manually partially port #108276 (#149595)
Fixes windows gn clang build.
Don't worry about exporting clang symbols on windows in gn build for
now.
Commit: 9a7a6b24f8c88718ef1eea57bed07332e751c027
https://github.com/llvm/llvm-project/commit/9a7a6b24f8c88718ef1eea57bed07332e751c027
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/test/CodeGenCXX/microsoft-abi-eh-disabled.cpp
M clang/test/CodeGenCXX/microsoft-abi-eh-ip2state.cpp
Log Message:
-----------
[clang][test] Fix failed tests on non-Windows platforms
- Use '--' to separate inputs from options due to `%clang_cl`.
Commit: c710d460a5623c8445fabccd5a88e51085541d5b
https://github.com/llvm/llvm-project/commit/c710d460a5623c8445fabccd5a88e51085541d5b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[DAG] expandVECTOR_COMPRESS - remove superfluous getFreeze. NFC. (#150062)
freeze(freeze(extract_vector_elt(x,i))) -> freeze(extract_vector_elt(x,i))
Commit: 1bd19e6791626d7e48b4065086375fafc508977f
https://github.com/llvm/llvm-project/commit/1bd19e6791626d7e48b4065086375fafc508977f
Author: prabhukr <prabhukr at google.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M bolt/utils/nfc-check-setup.py
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/utils/Aliasing.cpp
M clang-tools-extra/clang-tidy/utils/Aliasing.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/Contributing.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/infinite-loop.cpp
M clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/include/clang-c/Index.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety.h
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaARM.h
M clang/include/clang/Sema/SemaRISCV.h
M clang/include/clang/Sema/SemaX86.h
M clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h
M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
M clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp
M clang/lib/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.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/CIRGenItaniumCXXABI.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/lib/Format/IntegerLiteralSeparatorFixer.h
M clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
M clang/test/AST/ast-dump-APValue-lvalue.cpp
M clang/test/CIR/CodeGen/destructors.cpp
A clang/test/CodeGen/X86/prefetchi-error.c
A clang/test/CodeGenCXX/microsoft-abi-eh-async.cpp
A clang/test/CodeGenCXX/microsoft-abi-eh-disabled.cpp
A clang/test/CodeGenCXX/microsoft-abi-eh-ip2state.cpp
A clang/test/DebugInfo/KeyInstructions/asm.c
M clang/test/Driver/amdgpu-hip-system-arch.c
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/cuda-phases.cu
M clang/test/Driver/hip-inputs.hip
M clang/test/Driver/hip-invalid-target-id.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/invalid-offload-options.cpp
M clang/test/Driver/nvptx-cuda-system-arch.c
A clang/test/Driver/offload-target.c
M clang/test/Driver/openmp-offload.c
M clang/test/Driver/openmp-system-arch.c
M clang/test/Driver/print-multi-selection-flags.c
M clang/test/Preprocessor/arm-acle-6.4.c
A clang/test/Preprocessor/pragma-pushpop-macro-diag.c
M clang/test/Preprocessor/pragma-pushpop-macro.c
M clang/test/Sema/warn-lifetime-safety-dataflow.cpp
M clang/test/SemaCXX/attr-target-clones-riscv.cpp
M clang/unittests/Analysis/CMakeLists.txt
A clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Format/BracesInserterTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestComments.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/FormatTestSelective.cpp
M clang/unittests/Format/IntegerLiteralSeparatorTest.cpp
M clang/unittests/Format/SortIncludesTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/unittests/StaticAnalyzer/ConflictingEvalCallsTest.cpp
M clang/unittests/StaticAnalyzer/ExprEngineVisitTest.cpp
M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
M clang/unittests/StaticAnalyzer/NoStateChangeFuncVisitorTest.cpp
M clang/unittests/StaticAnalyzer/ObjcBug-124477.cpp
M clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
M clang/unittests/StaticAnalyzer/SValSimplifyerTest.cpp
M clang/unittests/StaticAnalyzer/SValTest.cpp
M clang/unittests/StaticAnalyzer/TestReturnValueUnderConstruction.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
M cross-project-tests/lit.cfg.py
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertProcedureDesignator.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/CustomIntrinsicCall.cpp
M flang/lib/Lower/HlfirIntrinsics.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/Runtime.cpp
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/ReductionProcessor.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Lower/VectorSubscripts.cpp
M flang/lib/Optimizer/Builder/CUFCommon.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/Complex.cpp
M flang/lib/Optimizer/Builder/DoLoopHelper.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/ArrayConstructor.cpp
M flang/lib/Optimizer/Builder/Runtime/Assign.cpp
M flang/lib/Optimizer/Builder/Runtime/CUDA/Descriptor.cpp
M flang/lib/Optimizer/Builder/Runtime/Character.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
M flang/lib/Optimizer/Builder/Runtime/Derived.cpp
M flang/lib/Optimizer/Builder/Runtime/EnvironmentDefaults.cpp
M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/lib/Optimizer/Builder/Runtime/Execute.cpp
M flang/lib/Optimizer/Builder/Runtime/Inquiry.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Builder/Runtime/Main.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/Builder/Runtime/Pointer.cpp
M flang/lib/Optimizer/Builder/Runtime/Ragged.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Stop.cpp
M flang/lib/Optimizer/Builder/Runtime/Support.cpp
M flang/lib/Optimizer/Builder/Runtime/TemporaryStack.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AffineDemotion.cpp
M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/CharacterConversion.cpp
M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
M flang/lib/Optimizer/Transforms/MemoryUtils.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M flang/lib/Semantics/canonicalize-omp.cpp
M flang/lib/Semantics/canonicalize-omp.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/openmp-utils.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/symbol.cpp
M flang/test/Lower/OpenMP/map-modifiers.f90
M flang/test/Lower/OpenMP/nested-loop-transformation-construct01.f90
M flang/test/Lower/OpenMP/nested-loop-transformation-construct02.f90
A flang/test/Lower/OpenMP/unroll-heuristic01.f90
A flang/test/Lower/OpenMP/unroll-heuristic02.f90
A flang/test/Parser/OpenMP/unroll-heuristic.f90
A flang/test/Parser/OpenMP/unroll-partial.f90
R flang/test/Parser/OpenMP/unroll.f90
M flang/test/Semantics/OpenMP/combined-constructs.f90
M flang/test/Semantics/OpenMP/device-constructs.f90
A flang/test/Semantics/OpenMP/map-modifiers-v60.f90
M libc/hdr/types/CMakeLists.txt
M libc/include/math.yaml
M libc/shared/math.h
A libc/shared/math/acoshf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/acoshf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acoshf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_constructs_from_temporary.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_converts_from_temporary.pass.cpp
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/test/COFF/thin-archive.s
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
A lldb/source/Plugins/Language/CPlusPlus/MsvcStlAtomic.cpp
A lldb/source/Plugins/Language/CPlusPlus/MsvcStlUnordered.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/atomic/TestDataFormatterStdAtomic.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/main.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/unittests/DAP/TestBase.cpp
M llvm/docs/TestingGuide.rst
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/include/llvm/IR/PassInstrumentation.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
M llvm/lib/CodeGen/AsmPrinter/WinException.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/PassInstrumentation.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/X86/X86AsmPrinter.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/lib/Transforms/Utils/Local.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/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Assembler/difile-empty-source.ll
M llvm/test/CodeGen/AArch64/aarch64-mops.ll
M llvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll
A llvm/test/CodeGen/AArch64/bsp_implicit_ops.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-memcpy.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-memcpyinline.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-memmove.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-memset.mir
M llvm/test/CodeGen/AMDGPU/div_i128.ll
A llvm/test/CodeGen/AMDGPU/flat-scratch-fold-fi-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
A llvm/test/CodeGen/AMDGPU/load-store-opt-scale-offset.mir
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
A llvm/test/CodeGen/AMDGPU/wmma-coececution-valu-hazards.mir
A llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
M llvm/test/CodeGen/DirectX/UAddc.ll
A llvm/test/CodeGen/Hexagon/swp-load-to-store-forward.mir
M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fix-xvshuf.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
M llvm/test/CodeGen/LoongArch/llvm.exp10.ll
M llvm/test/CodeGen/LoongArch/llvm.sincos.ll
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lsx/fpowi.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
M llvm/test/CodeGen/LoongArch/target-abi-from-triple-edge-cases.ll
M llvm/test/CodeGen/NVPTX/i1-select.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/PowerPC/ppc64-P9-vabsd.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/interrupt-attr.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/rvv/callee-saved-regs.ll
M llvm/test/CodeGen/RISCV/rvv/interrupt-attr-nocall.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
M llvm/test/CodeGen/RISCV/rvv/rvv-vmerge-to-vmv.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/wide-scalar-shift-legalization.ll
A llvm/test/CodeGen/SPARC/tls-sp.ll
M llvm/test/CodeGen/SystemZ/pr60413.ll
A llvm/test/CodeGen/WebAssembly/memory-interleave.ll
M llvm/test/CodeGen/WinEH/wineh-noret-cleanup.ll
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/avg.ll
M llvm/test/CodeGen/X86/catchret-empty-fallthrough.ll
M llvm/test/CodeGen/X86/conditional-tailcall-pgso.ll
M llvm/test/CodeGen/X86/conditional-tailcall.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-unsigned.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/noreturn-call-win64.ll
A llvm/test/CodeGen/X86/pr149841.ll
M llvm/test/CodeGen/X86/seh-catch-all.ll
M llvm/test/CodeGen/X86/seh-catchpad.ll
M llvm/test/CodeGen/X86/seh-except-finally.ll
M llvm/test/CodeGen/X86/seh-finally.ll
M llvm/test/CodeGen/X86/seh-safe-div.ll
M llvm/test/CodeGen/X86/seh-unwind-inline-asm-codegen.ll
M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
M llvm/test/CodeGen/X86/stack-coloring-wineh.ll
M llvm/test/CodeGen/X86/taildup-heapallocsite.ll
M llvm/test/CodeGen/X86/win-catchpad-nested-cxx.ll
M llvm/test/CodeGen/X86/win-catchpad.ll
M llvm/test/CodeGen/X86/win-cleanuppad.ll
M llvm/test/CodeGen/X86/win32-eh-states.ll
M llvm/test/CodeGen/X86/win64-seh-epilogue-statepoint.ll
M llvm/test/CodeGen/X86/wineh-coreclr.ll
M llvm/test/CodeGen/XCore/exception.ll
M llvm/test/DebugInfo/Generic/mixed-source.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_smem.s
A llvm/test/MC/AMDGPU/gfx1250_asm_smem_err.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vbuffer_mubuf_err.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vflat_err.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop2_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_smem.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
M llvm/test/Transforms/AggressiveInstCombine/X86/store-merge.ll
A llvm/test/Transforms/GVNSink/lifetime.ll
A llvm/test/Transforms/LoopSimplifyCFG/enter-through-indirectbr.ll
M llvm/test/Transforms/LoopVectorize/AArch64/check-prof-info.ll
A llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
R llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-no-remaining-iterations.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
R llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse-output.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
A llvm/test/Transforms/LoopVectorize/RISCV/vplan-riscv-vector-reverse.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/full-match-with-poison-scalar.ll
M llvm/test/Transforms/SLPVectorizer/X86/node-outside-used-only.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-instructions-become-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll
M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
A llvm/test/Transforms/Scalarizer/extractvalue-struct-of-vectors.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/mips64_eh.ll.expected
M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
M llvm/utils/gn/build/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Analysis/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.td
M mlir/include/mlir/Dialect/ArmSVE/Transforms/Transforms.h
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Conversion/ComplexCommon/DivisionConverter.cpp
M mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
M mlir/lib/Conversion/ComplexToLibm/ComplexToLibm.cpp
M mlir/lib/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h
M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToNVVM/WmmaOpsToNvvm.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp
M mlir/lib/Conversion/GPUToSPIRV/WmmaOpsToSPIRV.cpp
M mlir/lib/Conversion/IndexToLLVM/IndexToLLVM.cpp
M mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
M mlir/lib/Conversion/LLVMCommon/MemRefBuilder.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/LLVMCommon/PrintCallHelper.cpp
M mlir/lib/Conversion/LLVMCommon/StructBuilder.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
M mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Conversion/OpenACCToSCF/OpenACCToSCF.cpp
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
M mlir/lib/Conversion/SPIRVToLLVM/ConvertLaunchFuncToLLVMCalls.cpp
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
M mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
M mlir/lib/Conversion/TensorToSPIRV/TensorToSPIRV.cpp
M mlir/lib/Conversion/TosaToArith/TosaToArith.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/TosaToMLProgram/TosaToMLProgram.cpp
M mlir/lib/Conversion/TosaToSCF/TosaToSCF.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToNeonI8MMPattern.cpp
M mlir/lib/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/CMakeLists.txt
A mlir/lib/Dialect/ArmSVE/Transforms/LowerContractToSVEPatterns.cpp
R mlir/lib/Dialect/ArmSVE/Transforms/LowerContractionToSVEI8MMPattern.cpp
M mlir/lib/Dialect/Complex/IR/ComplexDialect.cpp
M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/ControlFlow/Transforms/BufferDeallocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
M mlir/lib/Dialect/EmitC/Transforms/TypeConversions.cpp
M mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
M mlir/lib/Dialect/Func/Extensions/InlinerExtension.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/Func/TransformOps/FuncTransformOps.cpp
M mlir/lib/Dialect/Func/Transforms/FuncConversions.cpp
M mlir/lib/Dialect/Func/Utils/Utils.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
M mlir/lib/Dialect/GPU/Transforms/AllReduceLowering.cpp
M mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
M mlir/lib/Dialect/GPU/Transforms/GlobalIdRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp
M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
M mlir/lib/Dialect/GPU/Transforms/PromoteShuffleToAMDGPU.cpp
M mlir/lib/Dialect/GPU/Transforms/ShuffleRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/SubgroupIdRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
M mlir/lib/Dialect/GPU/Utils/DistributionUtils.cpp
M mlir/lib/Dialect/Index/IR/IndexOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/MLProgram/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/MPI/IR/MPIOps.cpp
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/lib/Dialect/Math/Transforms/AlgebraicSimplification.cpp
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/lib/Dialect/Math/Transforms/ExtendToSupportedTypes.cpp
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/lib/Dialect/NVGPU/Transforms/CreateAsyncGroups.cpp
M mlir/lib/Dialect/NVGPU/Transforms/OptimizeSharedMemory.cpp
M mlir/lib/Dialect/Quant/Transforms/LowerQuantOps.cpp
M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SPIRV/Linking/ModuleCombiner/ModuleCombiner.cpp
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/RewriteInsertsPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.cpp
M mlir/lib/Dialect/SPIRV/Transforms/UnifyAliasedResourcePass.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseBufferRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseSpaceCollapse.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseStorageSpecifierToLLVM.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/StageSparseOperations.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeDepthwise.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaTypeConverters.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/lib/Dialect/UB/IR/UBOps.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorBitCast.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMask.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorScan.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorShapeCast.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorToFromElementsToShuffleTree.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateMaskedLoadStore.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorInsertExtractStridedSliceRewritePatterns.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorMaskElimination.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
M mlir/lib/Dialect/X86Vector/Transforms/AVXTranspose.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/lib/IR/BuiltinDialect.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/Target/LLVMIR/LLVMImportInterface.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir
A mlir/test/Dialect/Linalg/vectorization/contraction-interface.mlir
M mlir/test/Dialect/Tosa/error_if_check.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
A mlir/test/Dialect/Vector/CPU/ArmSVE/vector-bfmmla.mlir
A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/vector-contract-bfmmla.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/vector-contract-i8mm.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
M mlir/test/python/dialects/amdgpu.py
M openmp/runtime/src/include/omp_lib.F90.var
M openmp/runtime/src/include/omp_lib.h.var
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_barrier.cpp
M openmp/runtime/src/kmp_barrier.h
M openmp/runtime/src/kmp_config.h.cmake
M openmp/runtime/src/kmp_ftn_entry.h
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_i18n.cpp
M openmp/runtime/src/kmp_lock.cpp
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/src/kmp_str.cpp
A openmp/runtime/test/env/check_certain_values.c
A openmp/runtime/test/tasking/no_task_barrier.c
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[๐๐ฝ๐ฟ] changes introduced through rebase
Created using spr 1.3.6-beta.1
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/f81b59e29837...1bd19e679162
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