[all-commits] [llvm/llvm-project] b49723: [AMDGPU] Make maximum hard clause size a subtarget...

Krzysztof Drewniak via All-commits all-commits at lists.llvm.org
Thu Feb 15 11:58:44 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b4972341462b4e892b4f24abe3f6970054f28b16
      https://github.com/llvm/llvm-project/commit/b4972341462b4e892b4f24abe3f6970054f28b16
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/function-args.ll
    M llvm/test/CodeGen/AMDGPU/hard-clauses.mir
    A llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll

  Log Message:
  -----------
  [AMDGPU] Make maximum hard clause size a subtarget feature (#81287)

gfx11 chips may, in some conditions, behave incorrectly with S_CLAUSE
instructions (hard clauses) containing more than 32 operations (that is,
whose arguments exceed 0x1f). However, gfx10 targets will work
successfully with clauses of up to length 63.

Therefore, define the MaxHardClauseLength property on GCNSubtarget and
make it a subtarget feature via tablegen, thus allowing us to specify,
both now and in the future, the maximum viable size of clauses on
various hardware from the tablegen definition. If MaxHardClauseLength is
0, which is the default, the hardware does not support hard clauses.




More information about the All-commits mailing list