diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 14 | ||||
-rw-r--r-- | llvm/lib/MC/MCContext.cpp | 40 | ||||
-rw-r--r-- | llvm/lib/MC/MCObjectFileInfo.cpp | 32 |
3 files changed, 23 insertions, 63 deletions
diff --git a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp index 6922e33c8d6..fcb20184116 100644 --- a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp +++ b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp @@ -1252,11 +1252,9 @@ MCSection *TargetLoweringObjectFileWasm::getExplicitSectionGlobal( return nullptr; } -static MCSectionWasm * -selectWasmSectionForGlobal(MCContext &Ctx, const GlobalObject *GO, - SectionKind Kind, Mangler &Mang, - const TargetMachine &TM, bool EmitUniqueSection, - unsigned Flags, unsigned *NextUniqueID) { +static MCSectionWasm *selectWasmSectionForGlobal( + MCContext &Ctx, const GlobalObject *GO, SectionKind Kind, Mangler &Mang, + const TargetMachine &TM, bool EmitUniqueSection, unsigned *NextUniqueID) { StringRef Group = ""; if (getWasmComdat(GO)) llvm_unreachable("comdat not yet supported for wasm"); @@ -1279,8 +1277,7 @@ selectWasmSectionForGlobal(MCContext &Ctx, const GlobalObject *GO, UniqueID = *NextUniqueID; (*NextUniqueID)++; } - return Ctx.getWasmSection(Name, /*Type=*/0, Flags, - Group, UniqueID); + return Ctx.getWasmSection(Name, /*Type=*/0, Group, UniqueID); } MCSection *TargetLoweringObjectFileWasm::SelectSectionForGlobal( @@ -1299,8 +1296,7 @@ MCSection *TargetLoweringObjectFileWasm::SelectSectionForGlobal( EmitUniqueSection |= GO->hasComdat(); return selectWasmSectionForGlobal(getContext(), GO, Kind, getMangler(), TM, - EmitUniqueSection, /*Flags=*/0, - &NextUniqueID); + EmitUniqueSection, &NextUniqueID); } bool TargetLoweringObjectFileWasm::shouldPutJumpTableInFunctionSection( diff --git a/llvm/lib/MC/MCContext.cpp b/llvm/lib/MC/MCContext.cpp index 48ee84edb09..e7bd045c757 100644 --- a/llvm/lib/MC/MCContext.cpp +++ b/llvm/lib/MC/MCContext.cpp @@ -486,53 +486,17 @@ MCSectionCOFF *MCContext::getAssociativeCOFFSection(MCSectionCOFF *Sec, "", 0, UniqueID); } -void MCContext::renameWasmSection(MCSectionWasm *Section, StringRef Name) { - StringRef GroupName; - assert(!Section->getGroup() && "not yet implemented"); - - unsigned UniqueID = Section->getUniqueID(); - WasmUniquingMap.erase( - WasmSectionKey{Section->getSectionName(), GroupName, UniqueID}); - auto I = WasmUniquingMap.insert(std::make_pair( - WasmSectionKey{Name, GroupName, UniqueID}, - Section)) - .first; - StringRef CachedName = I->first.SectionName; - const_cast<MCSectionWasm *>(Section)->setSectionName(CachedName); -} - -MCSectionWasm *MCContext::createWasmRelSection(const Twine &Name, unsigned Type, - unsigned Flags, - const MCSymbolWasm *Group) { - StringMap<bool>::iterator I; - bool Inserted; - std::tie(I, Inserted) = - RelSecNames.insert(std::make_pair(Name.str(), true)); - - return new (WasmAllocator.Allocate()) - MCSectionWasm(I->getKey(), Type, Flags, SectionKind::getReadOnly(), - Group, ~0, nullptr); -} - -MCSectionWasm *MCContext::getWasmNamedSection(const Twine &Prefix, - const Twine &Suffix, unsigned Type, - unsigned Flags) { - return getWasmSection(Prefix + "." + Suffix, Type, Flags, Suffix); -} - MCSectionWasm *MCContext::getWasmSection(const Twine &Section, unsigned Type, - unsigned Flags, const Twine &Group, unsigned UniqueID, const char *BeginSymName) { MCSymbolWasm *GroupSym = nullptr; if (!Group.isTriviallyEmpty() && !Group.str().empty()) GroupSym = cast<MCSymbolWasm>(getOrCreateSymbol(Group)); - return getWasmSection(Section, Type, Flags, GroupSym, UniqueID, BeginSymName); + return getWasmSection(Section, Type, GroupSym, UniqueID, BeginSymName); } MCSectionWasm *MCContext::getWasmSection(const Twine &Section, unsigned Type, - unsigned Flags, const MCSymbolWasm *GroupSym, unsigned UniqueID, const char *BeginSymName) { @@ -555,7 +519,7 @@ MCSectionWasm *MCContext::getWasmSection(const Twine &Section, unsigned Type, Begin = createTempSymbol(BeginSymName, false); MCSectionWasm *Result = new (WasmAllocator.Allocate()) - MCSectionWasm(CachedName, Type, Flags, Kind, GroupSym, UniqueID, Begin); + MCSectionWasm(CachedName, Type, Kind, GroupSym, UniqueID, Begin); Entry.second = Result; return Result; } diff --git a/llvm/lib/MC/MCObjectFileInfo.cpp b/llvm/lib/MC/MCObjectFileInfo.cpp index 73288110ad8..ba376227767 100644 --- a/llvm/lib/MC/MCObjectFileInfo.cpp +++ b/llvm/lib/MC/MCObjectFileInfo.cpp @@ -820,24 +820,24 @@ void MCObjectFileInfo::initCOFFMCObjectFileInfo(const Triple &T) { void MCObjectFileInfo::initWasmMCObjectFileInfo(const Triple &T) { // TODO: Set the section types and flags. - TextSection = Ctx->getWasmSection(".text", 0, 0); - DataSection = Ctx->getWasmSection(".data", 0, 0); + TextSection = Ctx->getWasmSection(".text", 0); + DataSection = Ctx->getWasmSection(".data", 0); // TODO: Set the section types and flags. - DwarfLineSection = Ctx->getWasmSection(".debug_line", 0, 0); - DwarfStrSection = Ctx->getWasmSection(".debug_str", 0, 0); - DwarfLocSection = Ctx->getWasmSection(".debug_loc", 0, 0); - DwarfAbbrevSection = Ctx->getWasmSection(".debug_abbrev", 0, 0, "section_abbrev"); - DwarfARangesSection = Ctx->getWasmSection(".debug_aranges", 0, 0); - DwarfRangesSection = Ctx->getWasmSection(".debug_ranges", 0, 0, "debug_range"); - DwarfMacinfoSection = Ctx->getWasmSection(".debug_macinfo", 0, 0, "debug_macinfo"); - DwarfAddrSection = Ctx->getWasmSection(".debug_addr", 0, 0); - DwarfCUIndexSection = Ctx->getWasmSection(".debug_cu_index", 0, 0); - DwarfTUIndexSection = Ctx->getWasmSection(".debug_tu_index", 0, 0); - DwarfInfoSection = Ctx->getWasmSection(".debug_info", 0, 0, "section_info"); - DwarfFrameSection = Ctx->getWasmSection(".debug_frame", 0, 0); - DwarfPubNamesSection = Ctx->getWasmSection(".debug_pubnames", 0, 0); - DwarfPubTypesSection = Ctx->getWasmSection(".debug_pubtypes", 0, 0); + DwarfLineSection = Ctx->getWasmSection(".debug_line", 0); + DwarfStrSection = Ctx->getWasmSection(".debug_str", 0); + DwarfLocSection = Ctx->getWasmSection(".debug_loc", 0); + DwarfAbbrevSection = Ctx->getWasmSection(".debug_abbrev", 0, "section_abbrev"); + DwarfARangesSection = Ctx->getWasmSection(".debug_aranges", 0); + DwarfRangesSection = Ctx->getWasmSection(".debug_ranges", 0, "debug_range"); + DwarfMacinfoSection = Ctx->getWasmSection(".debug_macinfo", 0, "debug_macinfo"); + DwarfAddrSection = Ctx->getWasmSection(".debug_addr", 0); + DwarfCUIndexSection = Ctx->getWasmSection(".debug_cu_index", 0); + DwarfTUIndexSection = Ctx->getWasmSection(".debug_tu_index", 0); + DwarfInfoSection = Ctx->getWasmSection(".debug_info", 0, "section_info"); + DwarfFrameSection = Ctx->getWasmSection(".debug_frame", 0); + DwarfPubNamesSection = Ctx->getWasmSection(".debug_pubnames", 0); + DwarfPubTypesSection = Ctx->getWasmSection(".debug_pubtypes", 0); // TODO: Define more sections. } |