[all-commits] [llvm/llvm-project] ac067a: [AMDGPU] Use v_pk_add_bf16 for scalar bf16 fadd on...

Shanzhi Chen via All-commits all-commits at lists.llvm.org
Thu Jul 16 00:31:23 PDT 2026


  Branch: refs/heads/users/chenshanzhi/fix-bf16-masked-store
  Home:   https://github.com/llvm/llvm-project
  Commit: ac067a7e1366f1a9fca74b2cb69d6b005c6b732e
      https://github.com/llvm/llvm-project/commit/ac067a7e1366f1a9fca74b2cb69d6b005c6b732e
  Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/packed-fneg-fsub-bf16.ll

  Log Message:
  -----------
  [AMDGPU] Use v_pk_add_bf16 for scalar bf16 fadd on gfx1250/gfx13 (#209128)

Targets with packed bf16 instructions can do a scalar bf16 fadd with a
single `v_pk_add_bf16` operating on the low half, instead of promoting
to f32 and going through `v_fma_mix_f32_bf16 + v_cvt_pk_bf16_f32`.


  Commit: 76ee189f61dfbe249159ed7e0e772b50b4eb7aeb
      https://github.com/llvm/llvm-project/commit/76ee189f61dfbe249159ed7e0e772b50b4eb7aeb
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/MergeFunctions.h
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    R llvm/test/Transforms/MergeFunc/merge-functions-branch-weights.ll
    R llvm/test/Transforms/MergeFunc/merge-functions-reordered-blocks-branch-weights.ll
    R llvm/test/Transforms/MergeFunc/merge-functions-select-weights.ll
    R llvm/test/Transforms/MergeFunc/merge-functions-value-profile.ll
    M llvm/unittests/Transforms/IPO/MergeFunctionsTest.cpp

  Log Message:
  -----------
  Revert "[MergeFunctions] Preserve instruction-level profile metadata during merging" (#209987)

Reverts llvm/llvm-project#208009

Causes unit test failures.


  Commit: 4ffab8581b9f35ed3934762aa9b9baf0fd84084f
      https://github.com/llvm/llvm-project/commit/4ffab8581b9f35ed3934762aa9b9baf0fd84084f
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll

  Log Message:
  -----------
  [Mips] Fix test after #201537 (#209993)


  Commit: ab1c8f643667ce85ec11dcfbdadac13e06291ce2
      https://github.com/llvm/llvm-project/commit/ab1c8f643667ce85ec11dcfbdadac13e06291ce2
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M clang/docs/HIPSupport.md

  Log Message:
  -----------
  clang/HIP: Update documentation for class name (#209992)


  Commit: f5dfaa6dc5e85b6fbd4eb9f7eadef3ee010894d8
      https://github.com/llvm/llvm-project/commit/f5dfaa6dc5e85b6fbd4eb9f7eadef3ee010894d8
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/mul.ll

  Log Message:
  -----------
  [InstCombine] Teach takeLog2 log2(X + 1) IIF X[0,1] -> X (#209741)

proof: https://alive2.llvm.org/ce/z/B7WjCg


  Commit: 29cf2fb0116d6e13f81913440a41f577d11de664
      https://github.com/llvm/llvm-project/commit/29cf2fb0116d6e13f81913440a41f577d11de664
  Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/Rematerializer.h
    M llvm/lib/CodeGen/Rematerializer.cpp
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
    M llvm/unittests/CodeGen/RematerializerTest.cpp

  Log Message:
  -----------
  [CodeGen] Fine-grained LIS updates on remat and dead-def handling (#202673)

This replaces the rematerializer's manual bulk LIS update paradigm in
favor of an automated fine-grained one that

1. performs LIS updates as rematerializations happen and
2. handles the removal of dead-definitions properly (this replaces the
prior partial handling of live interval splitting).

The new approach should be less error-prone (clients do not have to
periodically update the LIS, which is now up-to-date at all times from
the client's perspective) and faster in general (live intervals aren't
fully re-created every time a def or use of a register changes).

Handling dead-definitions (through a `LiveRangeEditor`) adds some
complexity to the rematerializer since unrematerializable MIs can now
also be deleted. This is exposed to listeners through a new event.
Furthermore, rematerializable registers can now become "permanently
dead" if all their users were unrematerializable MIs that became dead as
a result of other rematerializations.

The combination of these two improvements makes handling live-interval
splitting unnecessary. Rematerializable registers have a single-def by
construction so cannot ever have multiple disconnected components. On
the other hand, if we remove dead definitions as they appear,
unrematerializable registers's live interval cannot become made up of
multiple disconnected components purely as a result of
rematerializations. It is the rematerializer's client responsibility to
ensure that the LIS is in a valid state before the rematerializer
analyses the function.


  Commit: 32c908d12ed0aebec9eabfef4ca410874204ee4b
      https://github.com/llvm/llvm-project/commit/32c908d12ed0aebec9eabfef4ca410874204ee4b
  Author: Shanzhi Chen <chenshanzhi at huawei.com>
  Date:   2026-07-16 (Thu, 16 Jul 2026)

  Changed paths:
    M clang/docs/HIPSupport.md
    M llvm/include/llvm/CodeGen/Rematerializer.h
    M llvm/include/llvm/Transforms/IPO/MergeFunctions.h
    M llvm/lib/CodeGen/Rematerializer.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
    M llvm/test/CodeGen/AMDGPU/packed-fneg-fsub-bf16.ll
    M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
    M llvm/test/Transforms/InstCombine/mul.ll
    R llvm/test/Transforms/MergeFunc/merge-functions-branch-weights.ll
    R llvm/test/Transforms/MergeFunc/merge-functions-reordered-blocks-branch-weights.ll
    R llvm/test/Transforms/MergeFunc/merge-functions-select-weights.ll
    R llvm/test/Transforms/MergeFunc/merge-functions-value-profile.ll
    M llvm/unittests/CodeGen/RematerializerTest.cpp
    M llvm/unittests/Transforms/IPO/MergeFunctionsTest.cpp

  Log Message:
  -----------
  Merge branch 'main' into users/chenshanzhi/fix-bf16-masked-store


Compare: https://github.com/llvm/llvm-project/compare/a6129b43b42c...32c908d12ed0

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