[all-commits] [llvm/llvm-project] 1657f0: AMDGPU: Fix overriding global FP atomic feature pr...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Thu Jun 4 14:50:58 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 1657f0ebc2b4d3ec5b9e717119238e9198ad203c
      https://github.com/llvm/llvm-project/commit/1657f0ebc2b4d3ec5b9e717119238e9198ad203c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2020-06-04 (Thu, 04 Jun 2020)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.fadd.ll

  Log Message:
  -----------
  AMDGPU: Fix overriding global FP atomic feature predicates

Global TableGen let override blocks are pretty dangerous and override
any local special cases. In this case, the broader HasFlatGlobalInsts
was overriding the more specific predicate for
FeatureAtomicFaddInsts. Make sure HasFlatGlobalInsts is implied by
FeatureAtomicFaddInsts, and make sure the right predicate is used.

One issue with independently setting the subtarget features on
incompatible targets is all of the encoding families do not define all
opcodes. This will hit an assert on gfx10 for example, since we set
the encoding independently based on the generation and not based on a
feature.




More information about the All-commits mailing list