[PATCH] D95638: AMDGPU: Add target id and code object v4 support

Konstantin Zhuravlyov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 28 13:52:04 PST 2021


kzhuravl created this revision.
kzhuravl added reviewers: arsenm, kerbowa, t-tye.
Herald added subscribers: s.egerton, mstorsjo, rupprecht, steven_wu, simoncook, hiraditya, arichardson, tpr, dstuttard, yaxunl, nhaehnle, jvesely, emaste, rampitec.
Herald added a reviewer: jhenderson.
Herald added a reviewer: MaskRay.
kzhuravl requested review of this revision.
Herald added a subscriber: wdng.
Herald added a project: LLVM.

- Add target id support (https://clang.llvm.org/docs/ClangOffloadBundler.html#target-id)
- Add code object v4 support (https://llvm.org/docs/AMDGPUUsage.html#elf-code-object)
  - Add kernarg_size to kernel descriptor
  - Change trap handler ABI to no longer move queue pointer into s[0:1]
- Cleanup ELF definitions
  - Add V2, V3, V4 suffixes to make a clear distinction for code object version
  - Consolidate note names


https://reviews.llvm.org/D95638

Files:
  lld/ELF/Arch/AMDGPU.cpp
  lld/test/ELF/amdgpu-abi-version.s
  lld/test/ELF/lto/amdgcn-oses.ll
  llvm/include/llvm/BinaryFormat/ELF.h
  llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
  llvm/include/llvm/MC/MCSubtargetInfo.h
  llvm/include/llvm/Support/AMDGPUMetadata.h
  llvm/include/llvm/Support/AMDHSAKernelDescriptor.h
  llvm/lib/MC/MCParser/AsmParser.cpp
  llvm/lib/MC/MCParser/MasmParser.cpp
  llvm/lib/MC/MCSubtargetInfo.cpp
  llvm/lib/ObjectYAML/ELFYAML.cpp
  llvm/lib/Target/AMDGPU/AMDGPU.td
  llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
  llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
  llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
  llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
  llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
  llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
  llvm/lib/Target/AMDGPU/AMDGPUPTNote.h
  llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
  llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
  llvm/lib/Target/AMDGPU/GCNSubtarget.h
  llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
  llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
  llvm/lib/Target/AMDGPU/SIISelLowering.cpp
  llvm/lib/Target/AMDGPU/SIISelLowering.h
  llvm/lib/Target/AMDGPU/SIInstrInfo.td
  llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
  llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
  llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
  llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.h
  llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-non-entry-func.ll
  llvm/test/CodeGen/AMDGPU/and.ll
  llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size-v3.ll
  llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size.ll
  llvm/test/CodeGen/AMDGPU/break-smem-soft-clauses.mir
  llvm/test/CodeGen/AMDGPU/cluster-flat-loads-postra.mir
  llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
  llvm/test/CodeGen/AMDGPU/elf-header-flags-sram-ecc.ll
  llvm/test/CodeGen/AMDGPU/elf-header-flags-sramecc.ll
  llvm/test/CodeGen/AMDGPU/elf-header-flags-xnack.ll
  llvm/test/CodeGen/AMDGPU/elf-header-osabi.ll
  llvm/test/CodeGen/AMDGPU/elf-notes.ll
  llvm/test/CodeGen/AMDGPU/fabs.ll
  llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
  llvm/test/CodeGen/AMDGPU/hsa-metadata-enqueue-kernel-v3.ll
  llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full-v3.ll
  llvm/test/CodeGen/AMDGPU/hsa-metadata-hidden-args-v3.ll
  llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent-v3.ll
  llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present-v3.ll
  llvm/test/CodeGen/AMDGPU/hsa-metadata-images-v3.ll
  llvm/test/CodeGen/AMDGPU/hsa-metadata-invalid-ocl-version-1-v3.ll
  llvm/test/CodeGen/AMDGPU/hsa-metadata-invalid-ocl-version-2-v3.ll
  llvm/test/CodeGen/AMDGPU/hsa-metadata-invalid-ocl-version-3-v3.ll
  llvm/test/CodeGen/AMDGPU/hsa-metadata-wavefrontsize.ll
  llvm/test/CodeGen/AMDGPU/hsa-note-no-func.ll
  llvm/test/CodeGen/AMDGPU/hsa.ll
  llvm/test/CodeGen/AMDGPU/kernarg-size.ll
  llvm/test/CodeGen/AMDGPU/large-alloca-compute.ll
  llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
  llvm/test/CodeGen/AMDGPU/lshr.v2i16.ll
  llvm/test/CodeGen/AMDGPU/s_addk_i32.ll
  llvm/test/CodeGen/AMDGPU/s_mulk_i32.ll
  llvm/test/CodeGen/AMDGPU/sram-ecc-default.ll
  llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
  llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-any.ll
  llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-not-supported.ll
  llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-off.ll
  llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-on.ll
  llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-1.ll
  llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-2.ll
  llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-1.ll
  llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-2.ll
  llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-invalid-any-off-on.ll
  llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-any.ll
  llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-not-supported.ll
  llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-off.ll
  llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-on.ll
  llvm/test/CodeGen/AMDGPU/trap-abis.ll
  llvm/test/MC/AMDGPU/hsa-diag-v3.s
  llvm/test/MC/AMDGPU/hsa-gfx10-v3.s
  llvm/test/MC/AMDGPU/hsa-v3.s
  llvm/test/MC/AMDGPU/hsa-v4.s
  llvm/test/MC/AMDGPU/hsa_isa_version_attrs.s
  llvm/test/MC/AMDGPU/isa-version-hsa.s
  llvm/test/MC/AMDGPU/isa-version-pal.s
  llvm/test/MC/AMDGPU/isa-version-unk.s
  llvm/test/MC/AMDGPU/round-trip.s
  llvm/test/Object/AMDGPU/elf-header-flags-sram-ecc.yaml
  llvm/test/Object/AMDGPU/elf-header-flags-sramecc.yaml
  llvm/test/Object/AMDGPU/elf-header-flags-xnack.yaml
  llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-failure.s
  llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-sgpr.s
  llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-vgpr.s
  llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx10.s
  llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx9.s
  llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-raw.s
  llvm/test/tools/llvm-readobj/ELF/note-amd.s
  llvm/tools/llvm-readobj/ELFDumper.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95638.319953.patch
Type: text/x-patch
Size: 304055 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210128/e36c5dfc/attachment-0001.bin>


More information about the llvm-commits mailing list