[all-commits] [llvm/llvm-project] 2b7cc2: AMDGPU: Add more mfma with constant splat input te...

Qinkun Bao via All-commits all-commits at lists.llvm.org
Mon May 19 14:47:40 PDT 2025


  Branch: refs/heads/users/qinkunbao/spr/demo-test-for-httpsgithubcomllvmllvm-projectpull140529
  Home:   https://github.com/llvm/llvm-project
  Commit: 2b7cc2b03ea858633016cd16a1630be7fc0db837
      https://github.com/llvm/llvm-project/commit/2b7cc2b03ea858633016cd16a1630be7fc0db837
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-05-19 (Mon, 19 May 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/operand-folding.ll
    M llvm/test/CodeGen/AMDGPU/si-fold-operands-subreg-imm.mir

  Log Message:
  -----------
  AMDGPU: Add more mfma with constant splat input tests (#140581)

Baseline tests for #139317


  Commit: 36018494fdb9e92e0f61f6937e5ecd3a4472677f
      https://github.com/llvm/llvm-project/commit/36018494fdb9e92e0f61f6937e5ecd3a4472677f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-05-19 (Mon, 19 May 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/test/CodeGen/AMDGPU/constrained-shift.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/operand-folding.ll
    M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
    M llvm/test/CodeGen/AMDGPU/si-fold-operands-subreg-imm.mir

  Log Message:
  -----------
  AMDGPU: Check for subreg match when folding through reg_sequence (#140582)

We need to consider the use instruction's intepretation of the bits,
not the defined immediate without use context. This will regress
some cases where we previously coud match f64 inline constants. We
can restore them by either using pseudo instructions to materialize f64
constants, or recognizing reg_sequence decomposed into 32-bit pieces for them
(which essentially means recognizing every other input is a 0).

Fixes #139908


  Commit: 025639bc396f1e0d2ead279c5f345cb381733f16
      https://github.com/llvm/llvm-project/commit/025639bc396f1e0d2ead279c5f345cb381733f16
  Author: Justin Cady <desk at justincady.com>
  Date:   2025-05-19 (Mon, 19 May 2025)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/test/CoverageMapping/terminate-statements.cpp
    A compiler-rt/test/profile/Linux/coverage-do-while.c

  Log Message:
  -----------
  [Coverage] Fix mapping for do-while loops with terminating statements (#139777)

The current region mapping for do-while loops that contain statements
such as break or continue results in inaccurate line coverage reports
for the line following the loop.

This change handles terminating statements the same way that other loop
constructs do, correcting the region mapping for accurate reports. It
also fixes a fragile test relying on exact line numbers.

Fixes #139122


  Commit: 10d198b32cd0b6aaeeaf1a6217611797c01f47f7
      https://github.com/llvm/llvm-project/commit/10d198b32cd0b6aaeeaf1a6217611797c01f47f7
  Author: Vy Nguyen <vyng at google.com>
  Date:   2025-05-19 (Mon, 19 May 2025)

  Changed paths:
    M lldb/test/Shell/Commands/list-header.test

  Log Message:
  -----------
  [lldb] Update Xfail window (#140599)


  Commit: 72b2219b3e2319e29831e4e9b07c440444f3add6
      https://github.com/llvm/llvm-project/commit/72b2219b3e2319e29831e4e9b07c440444f3add6
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-05-19 (Mon, 19 May 2025)

  Changed paths:
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang/include/clang/Serialization/ModuleCache.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ModuleCache.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp

  Log Message:
  -----------
  Revert "[clang][modules] Timestamp-less validation API (#139987)"

This reverts commit 7a242387c950c7060143da6da0e6fb91f36bb458. Even after 175f8a44, the Modules/fmodules-validate-once-per-build-session.c test is not fixed on the clang-armv8-quick build bot. (Failure occurs on line 114.)


  Commit: 30c990990940c15650ee1a488255a37c7a7af094
      https://github.com/llvm/llvm-project/commit/30c990990940c15650ee1a488255a37c7a7af094
  Author: Ely Ronnen <elyronnen at gmail.com>
  Date:   2025-05-19 (Mon, 19 May 2025)

  Changed paths:
    M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
    M lldb/unittests/DAP/ProtocolTypesTest.cpp

  Log Message:
  -----------
  [lldb-dap] Migrate disassemble request to structured handler (#140482)


  Commit: 553d4c1d90d9181b647b2028a90f59cdd8ebcb0b
      https://github.com/llvm/llvm-project/commit/553d4c1d90d9181b647b2028a90f59cdd8ebcb0b
  Author: Andrew Rogers <andrurogerz at gmail.com>
  Date:   2025-05-19 (Mon, 19 May 2025)

  Changed paths:
    M llvm/include/llvm/ADT/APFixedPoint.h
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/ADT/APSInt.h
    M llvm/include/llvm/ADT/DAGDeltaAlgorithm.h
    M llvm/include/llvm/ADT/DeltaAlgorithm.h
    M llvm/include/llvm/ADT/DeltaTree.h
    M llvm/include/llvm/ADT/DynamicAPInt.h
    M llvm/include/llvm/ADT/FloatingPointMode.h
    M llvm/include/llvm/ADT/FoldingSet.h
    M llvm/include/llvm/ADT/IntEqClasses.h
    M llvm/include/llvm/ADT/IntervalMap.h
    M llvm/include/llvm/ADT/RewriteBuffer.h
    M llvm/include/llvm/ADT/RewriteRope.h
    M llvm/include/llvm/ADT/SlowDynamicAPInt.h
    M llvm/include/llvm/ADT/SmallPtrSet.h
    M llvm/include/llvm/ADT/SmallVector.h
    M llvm/include/llvm/ADT/Statistic.h
    M llvm/include/llvm/ADT/StringExtras.h
    M llvm/include/llvm/ADT/StringMap.h
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/include/llvm/ADT/TrieRawHashMap.h
    M llvm/include/llvm/ADT/Twine.h

  Log Message:
  -----------
  [llvm] annotate interfaces in llvm/ADT for DLL export (#136629)

## Purpose

This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/ADT` library. These
annotations currently have no meaningful impact on the LLVM build;
however, they are a prerequisite to support an LLVM Windows DLL (shared
library) build.

## Background

This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).

The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.

The following manual adjustments were also applied after running IDS:

- Add `#include "llvm/Support/Compiler.h"` to files where it was not
auto-added by IDS due to no pre-existing block of include statements.
- Add `LLVM_ABI_FRIEND` to a small number of `friend` function
declarations
- Add `LLVM_ABI` to a subset of private class methods and fields that
require export

## Validation

Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:

- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang


  Commit: c92ff61cee858d0b28f2c3187baa29dd61eb6d87
      https://github.com/llvm/llvm-project/commit/c92ff61cee858d0b28f2c3187baa29dd61eb6d87
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-05-19 (Mon, 19 May 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/Reassociate.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/lib/Transforms/Utils/Local.cpp

  Log Message:
  -----------
  [Local] Move OverflowTracking to Local.h, move logic to helpers (NFC) (#140403)

Move parts of the logic used by Reassociate to OverflowTracking
(mergeFlags & applyFlags) and move the definition to Local.h.

For now it just moves the NUW/NSW handling, as this matches the uses in
LICM. I'll look into the FP math handling separately, as it looks like
there's a difference between Reassociate (takes all flags from I, while
LICM takes the intersection of the flags on both instructions).

PR: https://github.com/llvm/llvm-project/pull/140403


  Commit: 114e4508b2fd8df34740572383e749f3184a2a89
      https://github.com/llvm/llvm-project/commit/114e4508b2fd8df34740572383e749f3184a2a89
  Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
  Date:   2025-05-19 (Mon, 19 May 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp

  Log Message:
  -----------
  [CIR] Remove the empty verifier in cir.ifOp (#140457)

The empty verifier is redundant because cir::IfOp has no constraints to
enforce its verify() always succeeds.


  Commit: e3b167cb22f4ac09ad39a836105dbdb109124969
      https://github.com/llvm/llvm-project/commit/e3b167cb22f4ac09ad39a836105dbdb109124969
  Author: Gergely Futo <gergely.futo at hightec-rt.com>
  Date:   2025-05-19 (Mon, 19 May 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/test/CodeGen/RISCV/fpenv.ll

  Log Message:
  -----------
  [RISCV] Implement RISCVTargetLowering::getRoundingControlRegisters (#139864)

By adding FRM/FFLAGS as implicit defs, ReadFRM is not optimized out.


  Commit: 0b4cfd19f237fbbffb6e49b82dd91ee65e1e43a2
      https://github.com/llvm/llvm-project/commit/0b4cfd19f237fbbffb6e49b82dd91ee65e1e43a2
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-05-19 (Mon, 19 May 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll

  Log Message:
  -----------
  [RISCV] Remove stale TODO from test. NFC

MachineSink has folded this ADDI since 5b53fa04db33a931b843b32946065490513484bf.


  Commit: a0c515a9ef3be780e2dfd64d86de9e401b137b28
      https://github.com/llvm/llvm-project/commit/a0c515a9ef3be780e2dfd64d86de9e401b137b28
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-05-19 (Mon, 19 May 2025)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    A clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
    M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
    A clang/lib/CIR/CodeGen/CIRGenCXXExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.h
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    A clang/test/CIR/CodeGen/member-functions.cpp

  Log Message:
  -----------
  [CIR] Upstream support for C++ member function calls (#140290)

This change adds the support needed to handle a C++ member function
call, including arranging the function type with an argument added for
the 'this' parameter. It was necessary to introduce the class to handle
the CXXABI, but at this time no target-specific subclasses have been
added.


  Commit: 41cef2c73341f1575f5142773b39d085b923659c
      https://github.com/llvm/llvm-project/commit/41cef2c73341f1575f5142773b39d085b923659c
  Author: Qinkun Bao <qinkun at google.com>
  Date:   2025-05-19 (Mon, 19 May 2025)

  Changed paths:
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/Serialization/ModuleCache.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
    A clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
    M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
    A clang/lib/CIR/CodeGen/CIRGenCXXExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.h
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ModuleCache.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
    A clang/test/CIR/CodeGen/member-functions.cpp
    M clang/test/CodeGen/ubsan-src-ignorelist-category.test
    M clang/test/CoverageMapping/terminate-statements.cpp
    A compiler-rt/test/profile/Linux/coverage-do-while.c
    M lldb/test/Shell/Commands/list-header.test
    M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
    M lldb/unittests/DAP/ProtocolTypesTest.cpp
    M llvm/include/llvm/ADT/APFixedPoint.h
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/ADT/APSInt.h
    M llvm/include/llvm/ADT/DAGDeltaAlgorithm.h
    M llvm/include/llvm/ADT/DeltaAlgorithm.h
    M llvm/include/llvm/ADT/DeltaTree.h
    M llvm/include/llvm/ADT/DynamicAPInt.h
    M llvm/include/llvm/ADT/FloatingPointMode.h
    M llvm/include/llvm/ADT/FoldingSet.h
    M llvm/include/llvm/ADT/IntEqClasses.h
    M llvm/include/llvm/ADT/IntervalMap.h
    M llvm/include/llvm/ADT/RewriteBuffer.h
    M llvm/include/llvm/ADT/RewriteRope.h
    M llvm/include/llvm/ADT/SlowDynamicAPInt.h
    M llvm/include/llvm/ADT/SmallPtrSet.h
    M llvm/include/llvm/ADT/SmallVector.h
    M llvm/include/llvm/ADT/Statistic.h
    M llvm/include/llvm/ADT/StringExtras.h
    M llvm/include/llvm/ADT/StringMap.h
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/include/llvm/ADT/TrieRawHashMap.h
    M llvm/include/llvm/ADT/Twine.h
    M llvm/include/llvm/Transforms/Scalar/Reassociate.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/CodeGen/AMDGPU/constrained-shift.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/operand-folding.ll
    M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
    M llvm/test/CodeGen/AMDGPU/si-fold-operands-subreg-imm.mir
    M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
    M llvm/test/CodeGen/RISCV/fpenv.ll

  Log Message:
  -----------
  review

Created using spr 1.3.6


Compare: https://github.com/llvm/llvm-project/compare/210f005ecccb...41cef2c73341

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