From: Konstantin Zhuravlyov Date: Thu, 12 Oct 2017 18:59:54 +0000 (+0000) Subject: AMDGPU/NFC: Move AMDGPU specific note types to ELF.h X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fb0b5f597f6332c7938684361d9c9d37536a3f75;p=llvm AMDGPU/NFC: Move AMDGPU specific note types to ELF.h Differential Revision: https://reviews.llvm.org/D38747 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315608 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/BinaryFormat/ELF.h b/include/llvm/BinaryFormat/ELF.h index 5a0cf2cee20..99d81358f34 100644 --- a/include/llvm/BinaryFormat/ELF.h +++ b/include/llvm/BinaryFormat/ELF.h @@ -1369,6 +1369,14 @@ enum { NT_GNU_GOLD_VERSION = 4, }; +// AMDGPU specific notes. +enum { + // Note types with values between 0 and 9 (inclusive) are reserved. + NT_AMD_AMDGPU_HSA_METADATA = 10, + NT_AMD_AMDGPU_ISA = 11, + NT_AMD_AMDGPU_PAL_METADATA = 12 +}; + enum { GNU_ABI_TAG_LINUX = 0, GNU_ABI_TAG_HURD = 1, diff --git a/lib/Target/AMDGPU/AMDGPUPTNote.h b/lib/Target/AMDGPU/AMDGPUPTNote.h index de274dfae51..b50a2eb8e9e 100644 --- a/lib/Target/AMDGPU/AMDGPUPTNote.h +++ b/lib/Target/AMDGPU/AMDGPUPTNote.h @@ -25,7 +25,7 @@ const char SectionName[] = ".note"; const char NoteName[] = "AMD"; -// TODO: Move this enum to include/llvm/Support so it can be used in tools? +// TODO: Remove this file once we drop code object v2. enum NoteType{ NT_AMDGPU_HSA_RESERVED_0 = 0, NT_AMDGPU_HSA_CODE_OBJECT_VERSION = 1, @@ -37,9 +37,6 @@ enum NoteType{ NT_AMDGPU_HSA_RESERVED_7 = 7, NT_AMDGPU_HSA_RESERVED_8 = 8, NT_AMDGPU_HSA_RESERVED_9 = 9, - NT_AMDGPU_HSA_CODE_OBJECT_METADATA = 10, - NT_AMD_AMDGPU_ISA = 11, - NT_AMDGPU_PAL_METADATA = 12, NT_AMDGPU_HSA_HLDEBUG_DEBUG = 101, NT_AMDGPU_HSA_HLDEBUG_TARGET = 102 }; diff --git a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp index 24a5f1c5459..4d4fdf6ed85 100644 --- a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp +++ b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp @@ -128,7 +128,7 @@ MCELFStreamer &AMDGPUTargetELFStreamer::getStreamer() { } void AMDGPUTargetELFStreamer::EmitAMDGPUNote( - const MCExpr *DescSZ, ElfNote::NoteType Type, + const MCExpr *DescSZ, unsigned NoteType, function_ref EmitDesc) { auto &S = getStreamer(); auto &Context = S.getContext(); @@ -140,7 +140,7 @@ void AMDGPUTargetELFStreamer::EmitAMDGPUNote( ElfNote::SectionName, ELF::SHT_NOTE, ELF::SHF_ALLOC)); S.EmitIntValue(NameSZ, 4); // namesz S.EmitValue(DescSZ, 4); // descz - S.EmitIntValue(Type, 4); // type + S.EmitIntValue(NoteType, 4); // type S.EmitBytes(StringRef(ElfNote::NoteName, NameSZ)); // name S.EmitValueToAlignment(4, 0, 1, 0); // padding 0 EmitDesc(S); // desc @@ -225,7 +225,7 @@ bool AMDGPUTargetELFStreamer::EmitHSAMetadata( EmitAMDGPUNote( DescSZ, - ElfNote::NT_AMDGPU_HSA_CODE_OBJECT_METADATA, + ELF::NT_AMD_AMDGPU_HSA_METADATA, [&](MCELFStreamer &OS) { OS.EmitLabel(DescBegin); OS.EmitBytes(HSAMetadataString); @@ -239,7 +239,7 @@ bool AMDGPUTargetELFStreamer::EmitPALMetadata( const PALMD::Metadata &PALMetadata) { EmitAMDGPUNote( MCConstantExpr::create(PALMetadata.size() * sizeof(uint32_t), getContext()), - ElfNote::NT_AMDGPU_PAL_METADATA, + ELF::NT_AMD_AMDGPU_PAL_METADATA, [&](MCELFStreamer &OS){ for (auto I : PALMetadata) OS.EmitIntValue(I, sizeof(uint32_t)); diff --git a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h index d923d67bc00..7791f0d03ac 100644 --- a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h +++ b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h @@ -78,8 +78,7 @@ public: class AMDGPUTargetELFStreamer final : public AMDGPUTargetStreamer { MCStreamer &Streamer; - void EmitAMDGPUNote(const MCExpr *DescSize, - AMDGPU::ElfNote::NoteType Type, + void EmitAMDGPUNote(const MCExpr *DescSize, unsigned NoteType, function_ref EmitDesc); public: