[all-commits] [llvm/llvm-project] 666ef0: [AMDGPU] Add gfx602, gfx705, gfx805 targets

Tim Renouf via All-commits all-commits at lists.llvm.org
Sat Oct 10 09:22:48 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 666ef0db208bb3880115bdc133e72e954ed55300
      https://github.com/llvm/llvm-project/commit/666ef0db208bb3880115bdc133e72e954ed55300
  Author: Tim Renouf <tim.renouf at amd.com>
  Date:   2020-10-10 (Sat, 10 Oct 2020)

  Changed paths:
    M clang/include/clang/Basic/Cuda.h
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Driver/cuda-arch-translation.cu
    M clang/test/Misc/target-invalid-cpu-note.c
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/Support/TargetParser.h
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/lib/Support/TargetParser.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNProcessors.td
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
    M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
    M llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
    M llvm/test/tools/llvm-readobj/ELF/amdgpu-elf-headers.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [AMDGPU] Add gfx602, gfx705, gfx805 targets

At AMD, in an internal audit of our code, we found some corner cases
where we were not quite differentiating targets enough for some old
hardware. This commit is part of fixing that by adding three new
targets:

* The "Oland" and "Hainan" variants of gfx601 are now split out into
  gfx602. LLPC (in the GPUOpen driver) and other front-ends could use
  that to avoid using the shaderZExport workaround on gfx602.

* One variant of gfx703 is now split out into gfx705. LLPC and other
  front-ends could use that to avoid using the
  shaderSpiCsRegAllocFragmentation workaround on gfx705.

* The "TongaPro" variant of gfx802 is now split out into gfx805.
  TongaPro has a faster 64-bit shift than its former friends in gfx802,
  and a subtarget feature could be set up for that to take advantage of
  it. This commit does not make that change; it just adds the target.

V2: Add clang changes. Put TargetParser list in order.
V3: AMDGCNGPUs table in TargetParser.cpp needs to be in GPUKind order,
    so fix the GPUKind order.

Differential Revision: https://reviews.llvm.org/D88916

Change-Id: Ia901a7157eb2f73ccd9f25dbacec38427312377d




More information about the All-commits mailing list