From 5b0bf2ff0d80998804871ab151ec2f00ff2dee8b Mon Sep 17 00:00:00 2001 From: Konstantin Zhuravlyov Date: Mon, 5 Jun 2017 21:33:40 +0000 Subject: [PATCH] AMDGPU: Remove deprecated and unused elf definitions Differential Revision: https://reviews.llvm.org/D33689 llvm-svn: 304737 --- llvm/include/llvm/Support/ELF.h | 17 +---- llvm/lib/ObjectYAML/ELFYAML.cpp | 6 -- .../AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 70 ------------------ .../MCTargetDesc/AMDGPUTargetStreamer.cpp | 28 ------- .../MCTargetDesc/AMDGPUTargetStreamer.h | 12 --- .../Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp | 27 ------- llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h | 7 -- llvm/test/Object/AMDGPU/elf-definitions.yaml | 21 ++---- .../Inputs/trivial.elf-amdhsa-kaveri | Bin 13208 -> 0 bytes .../Inputs/trivial.obj.elf-amdhsa-gfx803 | Bin 0 -> 2208 bytes .../llvm-readobj/amdgpu-elf-definitions.test | 11 +++ .../tools/llvm-readobj/amdgpu-elf-defs.test | 28 ------- .../tools/llvm-readobj/elf-sec-flags.test | 29 +------- llvm/tools/llvm-readobj/ELFDumper.cpp | 30 +------- 14 files changed, 23 insertions(+), 263 deletions(-) delete mode 100755 llvm/test/tools/llvm-readobj/Inputs/trivial.elf-amdhsa-kaveri create mode 100644 llvm/test/tools/llvm-readobj/Inputs/trivial.obj.elf-amdhsa-gfx803 create mode 100644 llvm/test/tools/llvm-readobj/amdgpu-elf-definitions.test delete mode 100644 llvm/test/tools/llvm-readobj/amdgpu-elf-defs.test diff --git a/llvm/include/llvm/Support/ELF.h b/llvm/include/llvm/Support/ELF.h index 33f20a809d6ca..2ae19bd22e686 100644 --- a/llvm/include/llvm/Support/ELF.h +++ b/llvm/include/llvm/Support/ELF.h @@ -808,12 +808,7 @@ enum : unsigned { SHF_MIPS_STRING = 0x80000000, // Make code section unreadable when in execute-only mode - SHF_ARM_PURECODE = 0x20000000, - - SHF_AMDGPU_HSA_GLOBAL = 0x00100000, - SHF_AMDGPU_HSA_READONLY = 0x00200000, - SHF_AMDGPU_HSA_CODE = 0x00400000, - SHF_AMDGPU_HSA_AGENT = 0x00800000 + SHF_ARM_PURECODE = 0x20000000 }; // Section Group Flags @@ -897,9 +892,7 @@ enum { STT_HIPROC = 15, // Highest processor-specific symbol type // AMDGPU symbol types - STT_AMDGPU_HSA_KERNEL = 10, - STT_AMDGPU_HSA_INDIRECT_FUNCTION = 11, - STT_AMDGPU_HSA_METADATA = 12 + STT_AMDGPU_HSA_KERNEL = 10 }; enum { @@ -1050,12 +1043,6 @@ enum { PT_MIPS_OPTIONS = 0x70000002, // Options segment. PT_MIPS_ABIFLAGS = 0x70000003, // Abiflags segment. - // AMDGPU program header types. - PT_AMDGPU_HSA_LOAD_GLOBAL_PROGRAM = 0x60000000, - PT_AMDGPU_HSA_LOAD_GLOBAL_AGENT = 0x60000001, - PT_AMDGPU_HSA_LOAD_READONLY_AGENT = 0x60000002, - PT_AMDGPU_HSA_LOAD_CODE_AGENT = 0x60000003, - // WebAssembly program header types. PT_WEBASSEMBLY_FUNCTIONS = PT_LOPROC + 0, // Function definitions. }; diff --git a/llvm/lib/ObjectYAML/ELFYAML.cpp b/llvm/lib/ObjectYAML/ELFYAML.cpp index 3052901da45ca..a364fcf2f9615 100644 --- a/llvm/lib/ObjectYAML/ELFYAML.cpp +++ b/llvm/lib/ObjectYAML/ELFYAML.cpp @@ -424,12 +424,6 @@ void ScalarBitSetTraits::bitset(IO &IO, case ELF::EM_ARM: BCase(SHF_ARM_PURECODE); break; - case ELF::EM_AMDGPU: - BCase(SHF_AMDGPU_HSA_GLOBAL); - BCase(SHF_AMDGPU_HSA_READONLY); - BCase(SHF_AMDGPU_HSA_CODE); - BCase(SHF_AMDGPU_HSA_AGENT); - break; case ELF::EM_HEXAGON: BCase(SHF_HEX_GPREL); break; diff --git a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp b/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp index cc68c971b2490..aa2dfdb5f38fc 100644 --- a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp +++ b/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp @@ -814,14 +814,8 @@ class AMDGPUAsmParser : public MCTargetAsmParser { bool ParseDirectiveCodeObjectMetadata(); bool ParseAMDKernelCodeTValue(StringRef ID, amd_kernel_code_t &Header); bool ParseDirectiveAMDKernelCodeT(); - bool ParseSectionDirectiveHSAText(); bool subtargetHasRegister(const MCRegisterInfo &MRI, unsigned RegNo) const; bool ParseDirectiveAMDGPUHsaKernel(); - bool ParseDirectiveAMDGPUHsaModuleGlobal(); - bool ParseDirectiveAMDGPUHsaProgramGlobal(); - bool ParseSectionDirectiveHSADataGlobalAgent(); - bool ParseSectionDirectiveHSADataGlobalProgram(); - bool ParseSectionDirectiveHSARodataReadonlyAgent(); bool AddNextRegisterToList(unsigned& Reg, unsigned& RegWidth, RegisterKind RegKind, unsigned Reg1, unsigned RegNum); @@ -2365,12 +2359,6 @@ bool AMDGPUAsmParser::ParseDirectiveAMDKernelCodeT() { return false; } -bool AMDGPUAsmParser::ParseSectionDirectiveHSAText() { - getParser().getStreamer().SwitchSection( - AMDGPU::getHSATextSection(getContext())); - return false; -} - bool AMDGPUAsmParser::ParseDirectiveAMDGPUHsaKernel() { if (getLexer().isNot(AsmToken::Identifier)) return TokError("expected symbol name"); @@ -2384,46 +2372,6 @@ bool AMDGPUAsmParser::ParseDirectiveAMDGPUHsaKernel() { return false; } -bool AMDGPUAsmParser::ParseDirectiveAMDGPUHsaModuleGlobal() { - if (getLexer().isNot(AsmToken::Identifier)) - return TokError("expected symbol name"); - - StringRef GlobalName = Parser.getTok().getIdentifier(); - - getTargetStreamer().EmitAMDGPUHsaModuleScopeGlobal(GlobalName); - Lex(); - return false; -} - -bool AMDGPUAsmParser::ParseDirectiveAMDGPUHsaProgramGlobal() { - if (getLexer().isNot(AsmToken::Identifier)) - return TokError("expected symbol name"); - - StringRef GlobalName = Parser.getTok().getIdentifier(); - - getTargetStreamer().EmitAMDGPUHsaProgramScopeGlobal(GlobalName); - Lex(); - return false; -} - -bool AMDGPUAsmParser::ParseSectionDirectiveHSADataGlobalAgent() { - getParser().getStreamer().SwitchSection( - AMDGPU::getHSADataGlobalAgentSection(getContext())); - return false; -} - -bool AMDGPUAsmParser::ParseSectionDirectiveHSADataGlobalProgram() { - getParser().getStreamer().SwitchSection( - AMDGPU::getHSADataGlobalProgramSection(getContext())); - return false; -} - -bool AMDGPUAsmParser::ParseSectionDirectiveHSARodataReadonlyAgent() { - getParser().getStreamer().SwitchSection( - AMDGPU::getHSARodataReadonlyAgentSection(getContext())); - return false; -} - bool AMDGPUAsmParser::ParseDirective(AsmToken DirectiveID) { StringRef IDVal = DirectiveID.getString(); @@ -2439,27 +2387,9 @@ bool AMDGPUAsmParser::ParseDirective(AsmToken DirectiveID) { if (IDVal == ".amd_kernel_code_t") return ParseDirectiveAMDKernelCodeT(); - if (IDVal == ".hsatext") - return ParseSectionDirectiveHSAText(); - if (IDVal == ".amdgpu_hsa_kernel") return ParseDirectiveAMDGPUHsaKernel(); - if (IDVal == ".amdgpu_hsa_module_global") - return ParseDirectiveAMDGPUHsaModuleGlobal(); - - if (IDVal == ".amdgpu_hsa_program_global") - return ParseDirectiveAMDGPUHsaProgramGlobal(); - - if (IDVal == ".hsadata_global_agent") - return ParseSectionDirectiveHSADataGlobalAgent(); - - if (IDVal == ".hsadata_global_program") - return ParseSectionDirectiveHSADataGlobalProgram(); - - if (IDVal == ".hsarodata_readonly_agent") - return ParseSectionDirectiveHSARodataReadonlyAgent(); - return true; } diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp index 8dc863f723e2e..6de45fd4f147e 100644 --- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp +++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp @@ -100,16 +100,6 @@ void AMDGPUTargetAsmStreamer::EmitAMDGPUSymbolType(StringRef SymbolName, } } -void AMDGPUTargetAsmStreamer::EmitAMDGPUHsaModuleScopeGlobal( - StringRef GlobalName) { - OS << "\t.amdgpu_hsa_module_global " << GlobalName << '\n'; -} - -void AMDGPUTargetAsmStreamer::EmitAMDGPUHsaProgramScopeGlobal( - StringRef GlobalName) { - OS << "\t.amdgpu_hsa_program_global " << GlobalName << '\n'; -} - bool AMDGPUTargetAsmStreamer::EmitCodeObjectMetadata(StringRef YamlString) { auto VerifiedYamlString = CodeObjectMetadataStreamer.toYamlString(YamlString); if (!VerifiedYamlString) @@ -214,24 +204,6 @@ void AMDGPUTargetELFStreamer::EmitAMDGPUSymbolType(StringRef SymbolName, Symbol->setType(ELF::STT_AMDGPU_HSA_KERNEL); } -void AMDGPUTargetELFStreamer::EmitAMDGPUHsaModuleScopeGlobal( - StringRef GlobalName) { - - MCSymbolELF *Symbol = cast( - getStreamer().getContext().getOrCreateSymbol(GlobalName)); - Symbol->setType(ELF::STT_OBJECT); - Symbol->setBinding(ELF::STB_LOCAL); -} - -void AMDGPUTargetELFStreamer::EmitAMDGPUHsaProgramScopeGlobal( - StringRef GlobalName) { - - MCSymbolELF *Symbol = cast( - getStreamer().getContext().getOrCreateSymbol(GlobalName)); - Symbol->setType(ELF::STT_OBJECT); - Symbol->setBinding(ELF::STB_GLOBAL); -} - bool AMDGPUTargetELFStreamer::EmitCodeObjectMetadata(StringRef YamlString) { auto VerifiedYamlString = CodeObjectMetadataStreamer.toYamlString(YamlString); if (!VerifiedYamlString) diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h index 5c588bbded9c0..968128e94d0b2 100644 --- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h +++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h @@ -44,10 +44,6 @@ class AMDGPUTargetStreamer : public MCTargetStreamer { virtual void EmitAMDGPUSymbolType(StringRef SymbolName, unsigned Type) = 0; - virtual void EmitAMDGPUHsaModuleScopeGlobal(StringRef GlobalName) = 0; - - virtual void EmitAMDGPUHsaProgramScopeGlobal(StringRef GlobalName) = 0; - virtual void EmitStartOfCodeObjectMetadata(const Module &Mod); virtual void EmitKernelCodeObjectMetadata( @@ -74,10 +70,6 @@ class AMDGPUTargetAsmStreamer final : public AMDGPUTargetStreamer { void EmitAMDGPUSymbolType(StringRef SymbolName, unsigned Type) override; - void EmitAMDGPUHsaModuleScopeGlobal(StringRef GlobalName) override; - - void EmitAMDGPUHsaProgramScopeGlobal(StringRef GlobalName) override; - /// \returns True on success, false on failure. bool EmitCodeObjectMetadata(StringRef YamlString) override; }; @@ -105,10 +97,6 @@ class AMDGPUTargetELFStreamer final : public AMDGPUTargetStreamer { void EmitAMDGPUSymbolType(StringRef SymbolName, unsigned Type) override; - void EmitAMDGPUHsaModuleScopeGlobal(StringRef GlobalName) override; - - void EmitAMDGPUHsaProgramScopeGlobal(StringRef GlobalName) override; - /// \returns True on success, false on failure. bool EmitCodeObjectMetadata(StringRef YamlString) override; }; diff --git a/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp b/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp index 630f469eabf05..47102e70d6d51 100644 --- a/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp +++ b/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp @@ -327,33 +327,6 @@ void initDefaultAMDKernelCodeT(amd_kernel_code_t &Header, Header.private_segment_alignment = 4; } -MCSection *getHSATextSection(MCContext &Ctx) { - return Ctx.getELFSection(".hsatext", ELF::SHT_PROGBITS, - ELF::SHF_ALLOC | ELF::SHF_WRITE | - ELF::SHF_EXECINSTR | - ELF::SHF_AMDGPU_HSA_AGENT | - ELF::SHF_AMDGPU_HSA_CODE); -} - -MCSection *getHSADataGlobalAgentSection(MCContext &Ctx) { - return Ctx.getELFSection(".hsadata_global_agent", ELF::SHT_PROGBITS, - ELF::SHF_ALLOC | ELF::SHF_WRITE | - ELF::SHF_AMDGPU_HSA_GLOBAL | - ELF::SHF_AMDGPU_HSA_AGENT); -} - -MCSection *getHSADataGlobalProgramSection(MCContext &Ctx) { - return Ctx.getELFSection(".hsadata_global_program", ELF::SHT_PROGBITS, - ELF::SHF_ALLOC | ELF::SHF_WRITE | - ELF::SHF_AMDGPU_HSA_GLOBAL); -} - -MCSection *getHSARodataReadonlyAgentSection(MCContext &Ctx) { - return Ctx.getELFSection(".hsarodata_readonly_agent", ELF::SHT_PROGBITS, - ELF::SHF_ALLOC | ELF::SHF_AMDGPU_HSA_READONLY | - ELF::SHF_AMDGPU_HSA_AGENT); -} - bool isGroupSegment(const GlobalValue *GV, AMDGPUAS AS) { return GV->getType()->getAddressSpace() == AS.LOCAL_ADDRESS; } diff --git a/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h b/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h index 19888ad7556a6..eff0230d21f57 100644 --- a/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h +++ b/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h @@ -149,13 +149,6 @@ int16_t getNamedOperandIdx(uint16_t Opcode, uint16_t NamedIdx); void initDefaultAMDKernelCodeT(amd_kernel_code_t &Header, const FeatureBitset &Features); -MCSection *getHSATextSection(MCContext &Ctx); - -MCSection *getHSADataGlobalAgentSection(MCContext &Ctx); - -MCSection *getHSADataGlobalProgramSection(MCContext &Ctx); - -MCSection *getHSARodataReadonlyAgentSection(MCContext &Ctx); bool isGroupSegment(const GlobalValue *GV, AMDGPUAS AS); bool isGlobalSegment(const GlobalValue *GV, AMDGPUAS AS); diff --git a/llvm/test/Object/AMDGPU/elf-definitions.yaml b/llvm/test/Object/AMDGPU/elf-definitions.yaml index 819786aa19026..07fe8c62dc47b 100644 --- a/llvm/test/Object/AMDGPU/elf-definitions.yaml +++ b/llvm/test/Object/AMDGPU/elf-definitions.yaml @@ -3,15 +3,12 @@ # CHECK: Format: ELF64-amdgpu-hsacobj # CHECK: Arch: amdgcn -# CHECK: Machine: EM_AMDGPU (0xE0) -# CHECK: Sections [ -# CHECK: Section { -# CHECK: Name: .shf_amdgpu -# CHECK: Flags [ (0xF00000) -# CHECK: SHF_AMDGPU_HSA_AGENT (0x800000) -# CHECK: SHF_AMDGPU_HSA_CODE (0x400000) -# CHECK: SHF_AMDGPU_HSA_GLOBAL (0x100000) -# CHECK: SHF_AMDGPU_HSA_READONLY (0x200000) +# CHECK: ElfHeader { +# CHECK: Ident { +# CHECK: OS/ABI: AMDGPU_HSA (0x40) +# CHECK: ABIVersion: 0 +# CHECK: } +# CHECK: Machine: EM_AMDGPU (0xE0) # CHECK: } --- !ELF @@ -21,10 +18,4 @@ FileHeader: Type: ET_REL Machine: EM_AMDGPU OSABI: ELFOSABI_AMDGPU_HSA - -Sections: - - Name: .shf_amdgpu - Type: SHT_PROGBITS - Flags: [ SHF_AMDGPU_HSA_GLOBAL, SHF_AMDGPU_HSA_READONLY, - SHF_AMDGPU_HSA_CODE, SHF_AMDGPU_HSA_AGENT] ... diff --git a/llvm/test/tools/llvm-readobj/Inputs/trivial.elf-amdhsa-kaveri b/llvm/test/tools/llvm-readobj/Inputs/trivial.elf-amdhsa-kaveri deleted file mode 100755 index 9566ed5c0f1481484b014ec74f281531f0d2ac3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13208 zcmeI3&uSA<6vj`+(b}rC8$nQE7P^v5gM<)VjS&Aqg)S7_+0+CQm?R}LVgi!l&V>)) zWB3N`BlrL=d<=Jb&b{ZGj6)kr5$WPw=>5()ch0>hzggYeJBLqpo(8oVp#}7l#A^pW zlIXzKh8iphwP~IE>)c;q|FVnu@x%*{`u0nwhF;b9CDu^vNIGtj>kGZ3E>x#+wdv4_ z@=@!C(w2Wr^4G*vzpD3i0Vu{LysFM`GAB1^IZxP7Lpp9%_0eU&c%cy6xrto9@yOSh2j@`$d00fPJV$1GoEIj)!6B zw!+KE1+r?%@$Y~Z-#1?*hxFx$f?!b#!UfU650B#0(FLm3N-+XPzz7%tBVYuKfDteP zM!*Od0V8lO0^8|uzt!AMd-ZfUem|?v+O2x48E2FDp_@ z5Eb|B2mLgiy!|klroC19XC1@2g?5 zdDrNeEp8}SwRmrSbUCj616H~8f%Q-OjsfRGs2|HTIag|u-{4xKqUu7x4gMoGid+Om rb)Hw{7~9p~-{BZ)FF*Q5^HC1o5$Xs39ZouF{m+_sqdY0w)%E`XtEE!O diff --git a/llvm/test/tools/llvm-readobj/Inputs/trivial.obj.elf-amdhsa-gfx803 b/llvm/test/tools/llvm-readobj/Inputs/trivial.obj.elf-amdhsa-gfx803 new file mode 100644 index 0000000000000000000000000000000000000000..421269cbd8b252b71a74e7c4e35edb5dbc516c91 GIT binary patch literal 2208 zcmdT_O>Pr06m~+C(uge*f{hnN4L=!$rUV3=gcJg5NCTlMP_b|)&S;eRljDgfi&X46 z1P9;_sB|Da*7YFq^Ef?E8t@Gs;W@T;V>V1?dViWny)g+ift3X+2U88uIeU$L0e zd||c%$X9U720JkpF`jz`9uOkX@_}M z$gDZL6L7E9p{)fr$(Q6o-=?rqi2#UvFkj#PFpr3)_hSm29NS72o~8!O3Hi3|4Rxt) z$3I}sqi{6hA_)*#y*dn%1kY+43E4Ew7a?o6$@z&hoT=alWQ}TBME?k z7j|pi_T!gIU4c0gReEv6oIse<==WqE#-V=V19J<&A z&pZ=WpIa{Xq&j>0!0oXq9|_-+-O%l~doRJa9=q-NVr)z90y9udZE3*x#OnW`E&MQu zb7iQWu%}G&^oA);AH{j+kmlc4o zs>dcWDC6UTVo3g861?TaFnt&Ig&3YMxzX);n3fXD`*7r6T^okA^-pY literal 0 HcmV?d00001 diff --git a/llvm/test/tools/llvm-readobj/amdgpu-elf-definitions.test b/llvm/test/tools/llvm-readobj/amdgpu-elf-definitions.test new file mode 100644 index 0000000000000..c30931242df6f --- /dev/null +++ b/llvm/test/tools/llvm-readobj/amdgpu-elf-definitions.test @@ -0,0 +1,11 @@ +RUN: llvm-readobj -file-headers -program-headers -sections -symbols %p/Inputs/trivial.obj.elf-amdhsa-gfx803 | FileCheck %s + +CHECK: Format: ELF64-amdgpu-hsacobj +CHECK: Arch: amdgcn +CHECK: ElfHeader { +CHECK: Ident { +CHECK: OS/ABI: AMDGPU_HSA (0x40) +CHECK: ABIVersion: 0 +CHECK: } +CHECK: Machine: EM_AMDGPU (0xE0) +CHECK: } diff --git a/llvm/test/tools/llvm-readobj/amdgpu-elf-defs.test b/llvm/test/tools/llvm-readobj/amdgpu-elf-defs.test deleted file mode 100644 index 9a576e8158f91..0000000000000 --- a/llvm/test/tools/llvm-readobj/amdgpu-elf-defs.test +++ /dev/null @@ -1,28 +0,0 @@ -RUN: llvm-readobj -program-headers -sections -symbols -file-headers \ -RUN: %p/Inputs/trivial.elf-amdhsa-kaveri | FileCheck %s - -CHECK: ElfHeader { -CHECK: Ident { -CHECK: Class: 64-bit (0x2) -CHECK: DataEncoding: LittleEndian (0x1) -CHECK: Machine: EM_AMDGPU (0xE0) - - -CHECK: Section { -CHECK: Name: .text -CHECK: Type: SHT_PROGBITS (0x1) -CHECK: Flags [ (0xC00007 -CHECK: SHF_ALLOC (0x2) -CHECK: SHF_AMDGPU_HSA_AGENT (0x800000) -CHECK: SHF_AMDGPU_HSA_CODE (0x400000) -CHECK: SHF_EXECINSTR (0x4) -CHECK: SHF_WRITE (0x1) - -CHECK: Symbol { -CHECK: Name: hello_world -CHECK: Value: 0x0 -CHECK: Binding: Local (0x0) -CHECK: Type: AMDGPU_HSA_KERNEL (0xA) - -CHECK: ProgramHeader { -CHECK: Type: PT_AMDGPU_HSA_LOAD_CODE_AGENT (0x60000003) diff --git a/llvm/test/tools/llvm-readobj/elf-sec-flags.test b/llvm/test/tools/llvm-readobj/elf-sec-flags.test index 842ded3e9e59e..8a977109238dc 100644 --- a/llvm/test/tools/llvm-readobj/elf-sec-flags.test +++ b/llvm/test/tools/llvm-readobj/elf-sec-flags.test @@ -1,29 +1,6 @@ # Check that llvm-readobj shows arch specific ELF section flags. -# RUN: yaml2obj -docnum 1 %s > %t-amdgpu.o -# RUN: llvm-readobj -s %t-amdgpu.o | FileCheck -check-prefix=AMD %s - -# AMD: Flags [ (0x300000) -# AMD-NEXT: SHF_AMDGPU_HSA_GLOBAL (0x100000) -# AMD-NEXT: SHF_AMDGPU_HSA_READONLY (0x200000) -# AMD-NEXT: ] - -# amdgpu.o ---- !ELF -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - OSABI: ELFOSABI_GNU - Type: ET_REL - Machine: EM_AMDGPU - Flags: [] -Sections: - - Name: .amdgpu - Type: SHT_PROGBITS - Flags: [SHF_AMDGPU_HSA_GLOBAL, SHF_AMDGPU_HSA_READONLY] - Size: 4 - -# RUN: yaml2obj -docnum 2 %s > %t-hex.o +# RUN: yaml2obj -docnum 1 %s > %t-hex.o # RUN: llvm-readobj -s %t-hex.o | FileCheck -check-prefix=HEX %s # HEX: Flags [ (0x10000000) @@ -44,7 +21,7 @@ Sections: Flags: [SHF_HEX_GPREL] Size: 4 -# RUN: yaml2obj -docnum 3 %s > %t-mips.o +# RUN: yaml2obj -docnum 2 %s > %t-mips.o # RUN: llvm-readobj -s %t-mips.o | FileCheck -check-prefix=MIPS %s # MIPS: Flags [ (0x38000000) @@ -67,7 +44,7 @@ Sections: Flags: [SHF_MIPS_GPREL, SHF_MIPS_MERGE, SHF_MIPS_NOSTRIP] Size: 4 -# RUN: yaml2obj -docnum 4 %s > %t-x86_64.o +# RUN: yaml2obj -docnum 3 %s > %t-x86_64.o # RUN: llvm-readobj -s %t-x86_64.o | FileCheck -check-prefix=X86_64 %s # X86_64: Flags [ (0x10000000) diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp index 427920569042a..ca0a1b939b197 100644 --- a/llvm/tools/llvm-readobj/ELFDumper.cpp +++ b/llvm/tools/llvm-readobj/ELFDumper.cpp @@ -978,9 +978,7 @@ static const EnumEntry ElfSymbolTypes[] = { {"GNU_IFunc", "IFUNC", ELF::STT_GNU_IFUNC}}; static const EnumEntry AMDGPUSymbolTypes[] = { - { "AMDGPU_HSA_KERNEL", ELF::STT_AMDGPU_HSA_KERNEL }, - { "AMDGPU_HSA_INDIRECT_FUNCTION", ELF::STT_AMDGPU_HSA_INDIRECT_FUNCTION }, - { "AMDGPU_HSA_METADATA", ELF::STT_AMDGPU_HSA_METADATA } + { "AMDGPU_HSA_KERNEL", ELF::STT_AMDGPU_HSA_KERNEL } }; static const char *getGroupType(uint32_t Flag) { @@ -1012,13 +1010,6 @@ static const EnumEntry ElfXCoreSectionFlags[] = { LLVM_READOBJ_ENUM_ENT(ELF, XCORE_SHF_DP_SECTION) }; -static const EnumEntry ElfAMDGPUSectionFlags[] = { - LLVM_READOBJ_ENUM_ENT(ELF, SHF_AMDGPU_HSA_GLOBAL), - LLVM_READOBJ_ENUM_ENT(ELF, SHF_AMDGPU_HSA_READONLY), - LLVM_READOBJ_ENUM_ENT(ELF, SHF_AMDGPU_HSA_CODE), - LLVM_READOBJ_ENUM_ENT(ELF, SHF_AMDGPU_HSA_AGENT) -}; - static const EnumEntry ElfARMSectionFlags[] = { LLVM_READOBJ_ENUM_ENT(ELF, SHF_ARM_PURECODE) }; @@ -1077,13 +1068,6 @@ static const char *getElfSegmentType(unsigned Arch, unsigned Type) { // Check potentially overlapped processor-specific // program header type. switch (Arch) { - case ELF::EM_AMDGPU: - switch (Type) { - LLVM_READOBJ_ENUM_CASE(ELF, PT_AMDGPU_HSA_LOAD_GLOBAL_PROGRAM); - LLVM_READOBJ_ENUM_CASE(ELF, PT_AMDGPU_HSA_LOAD_GLOBAL_AGENT); - LLVM_READOBJ_ENUM_CASE(ELF, PT_AMDGPU_HSA_LOAD_READONLY_AGENT); - LLVM_READOBJ_ENUM_CASE(ELF, PT_AMDGPU_HSA_LOAD_CODE_AGENT); - } case ELF::EM_ARM: switch (Type) { LLVM_READOBJ_ENUM_CASE(ELF, PT_ARM_EXIDX); @@ -1139,14 +1123,6 @@ static std::string getElfPtType(unsigned Arch, unsigned Type) { default: // All machine specific PT_* types switch (Arch) { - case ELF::EM_AMDGPU: - switch (Type) { - LLVM_READOBJ_ENUM_CASE(ELF, PT_AMDGPU_HSA_LOAD_GLOBAL_PROGRAM); - LLVM_READOBJ_ENUM_CASE(ELF, PT_AMDGPU_HSA_LOAD_GLOBAL_AGENT); - LLVM_READOBJ_ENUM_CASE(ELF, PT_AMDGPU_HSA_LOAD_READONLY_AGENT); - LLVM_READOBJ_ENUM_CASE(ELF, PT_AMDGPU_HSA_LOAD_CODE_AGENT); - } - return ""; case ELF::EM_ARM: if (Type == ELF::PT_ARM_EXIDX) return "EXIDX"; @@ -3592,10 +3568,6 @@ template void LLVMStyle::printSections(const ELFO *Obj) { std::vector> SectionFlags(std::begin(ElfSectionFlags), std::end(ElfSectionFlags)); switch (Obj->getHeader()->e_machine) { - case EM_AMDGPU: - SectionFlags.insert(SectionFlags.end(), std::begin(ElfAMDGPUSectionFlags), - std::end(ElfAMDGPUSectionFlags)); - break; case EM_ARM: SectionFlags.insert(SectionFlags.end(), std::begin(ElfARMSectionFlags), std::end(ElfARMSectionFlags));