From 097fb8c42258d769e754971db833d539ac46542b Mon Sep 17 00:00:00 2001 From: Mike Edwards Date: Wed, 20 Sep 2017 01:21:02 +0000 Subject: [PATCH] Reverting due to Green Dragon bot failure. http://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-incremental/42594/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313706 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/BinaryFormat/Wasm.h | 2 -- include/llvm/ObjectYAML/WasmYAML.h | 3 +-- lib/MC/WasmObjectWriter.cpp | 19 +++---------------- lib/Object/WasmObjectFile.cpp | 9 --------- lib/ObjectYAML/WasmYAML.cpp | 1 - test/MC/WebAssembly/array-fill.ll | 14 +++----------- test/MC/WebAssembly/bss.ll | 20 -------------------- test/MC/WebAssembly/explicit-sections.ll | 13 ------------- test/MC/WebAssembly/unnamed-data.ll | 9 --------- test/MC/WebAssembly/weak-alias.ll | 5 ----- test/tools/llvm-readobj/sections.test | 6 ------ tools/llvm-readobj/WasmDumper.cpp | 12 ------------ tools/obj2yaml/wasm2yaml.cpp | 12 +----------- tools/yaml2obj/yaml2wasm.cpp | 11 ----------- 14 files changed, 8 insertions(+), 128 deletions(-) delete mode 100644 test/MC/WebAssembly/bss.ll diff --git a/include/llvm/BinaryFormat/Wasm.h b/include/llvm/BinaryFormat/Wasm.h index 53a812b2777..23e30b7a868 100644 --- a/include/llvm/BinaryFormat/Wasm.h +++ b/include/llvm/BinaryFormat/Wasm.h @@ -97,7 +97,6 @@ struct WasmDataSegment { uint32_t MemoryIndex; WasmInitExpr Offset; ArrayRef Content; - StringRef Name; }; struct WasmElemSegment { @@ -185,7 +184,6 @@ enum : unsigned { WASM_SYMBOL_INFO = 0x2, WASM_DATA_SIZE = 0x3, WASM_DATA_ALIGNMENT = 0x4, - WASM_SEGMENT_NAMES = 0x5, }; enum : unsigned { diff --git a/include/llvm/ObjectYAML/WasmYAML.h b/include/llvm/ObjectYAML/WasmYAML.h index 171f823a27d..709ad8ec3b7 100644 --- a/include/llvm/ObjectYAML/WasmYAML.h +++ b/include/llvm/ObjectYAML/WasmYAML.h @@ -160,10 +160,9 @@ struct LinkingSection : CustomSection { return C && C->Name == "linking"; } + std::vector SymbolInfos; uint32_t DataSize; uint32_t DataAlignment; - std::vector SymbolInfos; - std::vector SegmentNames; }; struct TypeSection : Section { diff --git a/lib/MC/WasmObjectWriter.cpp b/lib/MC/WasmObjectWriter.cpp index 6ec93246c06..7ed20d32fd2 100644 --- a/lib/MC/WasmObjectWriter.cpp +++ b/lib/MC/WasmObjectWriter.cpp @@ -102,7 +102,6 @@ struct WasmFunctionTypeDenseMapInfo { // wasm data segment. struct WasmDataSegment { MCSectionWasm *Section; - StringRef Name; uint32_t Offset; SmallVector Data; }; @@ -280,8 +279,7 @@ private: uint32_t NumFuncImports); void writeCodeRelocSection(); void writeDataRelocSection(); - void writeLinkingMetaDataSection(ArrayRef Segments, - uint32_t DataSize, uint32_t DataAlignment, + void writeLinkingMetaDataSection(uint32_t DataSize, uint32_t DataAlignment, ArrayRef WeakSymbols, bool HasStackPointer, uint32_t StackPointerGlobal); @@ -913,8 +911,7 @@ void WasmObjectWriter::writeDataRelocSection() { } void WasmObjectWriter::writeLinkingMetaDataSection( - ArrayRef Segments, uint32_t DataSize, - uint32_t DataAlignment, ArrayRef WeakSymbols, + uint32_t DataSize, uint32_t DataAlignment, ArrayRef WeakSymbols, bool HasStackPointer, uint32_t StackPointerGlobal) { SectionBookkeeping Section; startSection(Section, wasm::WASM_SEC_CUSTOM, "linking"); @@ -946,14 +943,6 @@ void WasmObjectWriter::writeLinkingMetaDataSection( endSection(SubSection); } - if (Segments.size()) { - startSection(SubSection, wasm::WASM_SEGMENT_NAMES); - encodeULEB128(Segments.size(), getStream()); - for (const WasmDataSegment &Segment : Segments) - writeString(Segment.Name); - endSection(SubSection); - } - endSection(Section); } @@ -1140,7 +1129,6 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm, DataSize = alignTo(DataSize, Section.getAlignment()); DataSegments.emplace_back(); WasmDataSegment &Segment = DataSegments.back(); - Segment.Name = Section.getSectionName(); Segment.Offset = DataSize; Segment.Section = &Section; addData(Segment.Data, Section, DataAlignment); @@ -1300,8 +1288,7 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm, writeNameSection(Functions, Imports, NumFuncImports); writeCodeRelocSection(); writeDataRelocSection(); - writeLinkingMetaDataSection(DataSegments, DataSize, DataAlignment, - WeakSymbols, HasStackPointer, StackPointerGlobal); + writeLinkingMetaDataSection(DataSize, DataAlignment, WeakSymbols, HasStackPointer, StackPointerGlobal); // TODO: Translate the .comment section to the output. // TODO: Translate debug sections to the output. diff --git a/lib/Object/WasmObjectFile.cpp b/lib/Object/WasmObjectFile.cpp index d2d3aba0396..bd51fbdac0b 100644 --- a/lib/Object/WasmObjectFile.cpp +++ b/lib/Object/WasmObjectFile.cpp @@ -396,15 +396,6 @@ Error WasmObjectFile::parseLinkingSection(const uint8_t *Ptr, case wasm::WASM_DATA_ALIGNMENT: LinkingData.DataAlignment = readVaruint32(Ptr); break; - case wasm::WASM_SEGMENT_NAMES: { - uint32_t Count = readVaruint32(Ptr); - if (Count > DataSegments.size()) - return make_error("Too many segment names", - object_error::parse_failed); - for (uint32_t i = 0; i < Count; i++) - DataSegments[i].Data.Name = readString(Ptr); - break; - } case wasm::WASM_STACK_POINTER: default: Ptr += Size; diff --git a/lib/ObjectYAML/WasmYAML.cpp b/lib/ObjectYAML/WasmYAML.cpp index a5c1d13598c..8aea8cfb4bc 100644 --- a/lib/ObjectYAML/WasmYAML.cpp +++ b/lib/ObjectYAML/WasmYAML.cpp @@ -60,7 +60,6 @@ static void sectionMapping(IO &IO, WasmYAML::LinkingSection &Section) { IO.mapRequired("DataSize", Section.DataSize); IO.mapRequired("DataAlignment", Section.DataAlignment); IO.mapOptional("SymbolInfo", Section.SymbolInfos); - IO.mapOptional("SegmentNames", Section.SegmentNames); } static void sectionMapping(IO &IO, WasmYAML::CustomSection &Section) { diff --git a/test/MC/WebAssembly/array-fill.ll b/test/MC/WebAssembly/array-fill.ll index 38274c34305..4feabc0748e 100644 --- a/test/MC/WebAssembly/array-fill.ll +++ b/test/MC/WebAssembly/array-fill.ll @@ -9,14 +9,6 @@ target triple = "wasm32-unknown-unknown-wasm" @gBd = hidden global [2 x %struct.bd] [%struct.bd { i8 1 }, %struct.bd { i8 2 }], align 1 -; CHECK: - Type: DATA -; CHECK: Content: '0102' - -; CHECK: - Type: CUSTOM -; CHECK-NEXT: Name: linking -; CHECK-NEXT: DataSize: 2 -; CHECK-NEXT: DataAlignment: 1 -; CHECK-NEXT: SegmentNames: -; CHECK-NEXT: - Index: 0 -; CHECK-NEXT: Name: .data -; CHECK-NEXT: ... +; CHECK: - Type: DATA +; CHECK: Content: '0102' +; CHECK: DataSize: 2 diff --git a/test/MC/WebAssembly/bss.ll b/test/MC/WebAssembly/bss.ll deleted file mode 100644 index d203efad19b..00000000000 --- a/test/MC/WebAssembly/bss.ll +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: llc -mtriple wasm32-unknown-unknown-wasm -filetype=obj %s -o - | obj2yaml | FileCheck %s - -@g0 = global i8* null, align 4 - -; CHECK: - Type: DATA -; CHECK-NEXT: Segments: -; CHECK-NEXT: - SectionOffset: 6 -; CHECK-NEXT: MemoryIndex: 0 -; CHECK-NEXT: Offset: -; CHECK-NEXT: Opcode: I32_CONST -; CHECK-NEXT: Value: 0 -; CHECK-NEXT: Content: '00000000' -; CHECK-NEXT: - Type: CUSTOM -; CHECK-NEXT: Name: linking -; CHECK-NEXT: DataSize: 4 -; CHECK-NEXT: DataAlignment: 4 -; CHECK-NEXT: SegmentNames: -; CHECK-NEXT: - Index: 0 -; CHECK-NEXT: Name: .bss.g0 -; CHECK-NEXT: ... diff --git a/test/MC/WebAssembly/explicit-sections.ll b/test/MC/WebAssembly/explicit-sections.ll index a8342b62818..e9607242252 100644 --- a/test/MC/WebAssembly/explicit-sections.ll +++ b/test/MC/WebAssembly/explicit-sections.ll @@ -63,16 +63,3 @@ ; CHECK-NEXT: Opcode: I32_CONST ; CHECK-NEXT: Value: 24 ; CHECK-NEXT: Content: '08000000' - -; CHECK: - Type: CUSTOM -; CHECK-NEXT: Name: linking -; CHECK-NEXT: DataSize: 28 -; CHECK-NEXT: DataAlignment: 8 -; CHECK-NEXT: SegmentNames: -; CHECK-NEXT: - Index: 0 -; CHECK-NEXT: Name: .data.global0 -; CHECK-NEXT: - Index: 1 -; CHECK-NEXT: Name: .sec1 -; CHECK-NEXT: - Index: 2 -; CHECK-NEXT: Name: .sec2 -; CHECK-NEXT: ... diff --git a/test/MC/WebAssembly/unnamed-data.ll b/test/MC/WebAssembly/unnamed-data.ll index a484913e289..b5f6d3c524c 100644 --- a/test/MC/WebAssembly/unnamed-data.ll +++ b/test/MC/WebAssembly/unnamed-data.ll @@ -74,13 +74,4 @@ ; CHECK-NEXT: Name: linking ; CHECK-NEXT: DataSize: 28 ; CHECK-NEXT: DataAlignment: 8 -; CHECK-NEXT: SegmentNames: -; CHECK-NEXT: - Index: 0 -; CHECK-NEXT: Name: .rodata..L.str1 -; CHECK-NEXT: - Index: 1 -; CHECK-NEXT: Name: .rodata..L.str2 -; CHECK-NEXT: - Index: 2 -; CHECK-NEXT: Name: .data.a -; CHECK-NEXT: - Index: 3 -; CHECK-NEXT: Name: .data.b ; CHECK-NEXT: ... diff --git a/test/MC/WebAssembly/weak-alias.ll b/test/MC/WebAssembly/weak-alias.ll index 2beef846def..79c597bc09a 100644 --- a/test/MC/WebAssembly/weak-alias.ll +++ b/test/MC/WebAssembly/weak-alias.ll @@ -101,9 +101,4 @@ entry: ; CHECK-NEXT: Flags: 1 ; CHECK-NEXT: - Name: bar_alias ; CHECK-NEXT: Flags: 1 -; CHECK-NEXT: SegmentNames: -; CHECK-NEXT: - Index: 0 -; CHECK-NEXT: Name: .data.bar -; CHECK-NEXT: - Index: 1 -; CHECK-NEXT: Name: .data.bar_alias_address ; CHECK-NEXT: ... diff --git a/test/tools/llvm-readobj/sections.test b/test/tools/llvm-readobj/sections.test index ac1eca535fc..4eda5dae882 100644 --- a/test/tools/llvm-readobj/sections.test +++ b/test/tools/llvm-readobj/sections.test @@ -543,12 +543,6 @@ WASM-NEXT: Section { WASM-NEXT: Type: DATA (0xB) WASM-NEXT: Size: 19 WASM-NEXT: Offset: 154 -WASM-NEXT: Segments [ -WASM-NEXT: Segment { -WASM-NEXT: Size: 13 -WASM-NEXT: Offset: 0 -WASM-NEXT: } -WASM-NEXT: ] WASM-NEXT: } WASM-NEXT: Section { WASM-NEXT: Type: CUSTOM (0x0) diff --git a/tools/llvm-readobj/WasmDumper.cpp b/tools/llvm-readobj/WasmDumper.cpp index 3be1f827f50..88fcbf61a6a 100644 --- a/tools/llvm-readobj/WasmDumper.cpp +++ b/tools/llvm-readobj/WasmDumper.cpp @@ -160,18 +160,6 @@ void WasmDumper::printSections() { W.printNumber("DataAlignment", LinkingData.DataAlignment); } break; - case wasm::WASM_SEC_DATA: { - ListScope Group(W, "Segments"); - for (const WasmSegment &Segment : Obj->dataSegments()) { - DictScope Group(W, "Segment"); - if (!Segment.Data.Name.empty()) - W.printString("Name", Segment.Data.Name); - W.printNumber("Size", Segment.Data.Content.size()); - if (Segment.Data.Offset.Opcode == wasm::WASM_OPCODE_I32_CONST) - W.printNumber("Offset", Segment.Data.Offset.Value.Int32); - } - break; - } case wasm::WASM_SEC_MEMORY: ListScope Group(W, "Memories"); for (const wasm::WasmLimits &Memory : Obj->memories()) { diff --git a/tools/obj2yaml/wasm2yaml.cpp b/tools/obj2yaml/wasm2yaml.cpp index 8b2a0adf73f..a1da4b6a748 100644 --- a/tools/obj2yaml/wasm2yaml.cpp +++ b/tools/obj2yaml/wasm2yaml.cpp @@ -70,16 +70,6 @@ std::unique_ptr WasmDumper::dumpCustomSection(const Was CustomSec = std::move(NameSec); } else if (WasmSec.Name == "linking") { std::unique_ptr LinkingSec = make_unique(); - size_t Index = 0; - for (const object::WasmSegment &Segment : Obj.dataSegments()) { - if (!Segment.Data.Name.empty()) { - WasmYAML::NameEntry NameEntry; - NameEntry.Name = Segment.Data.Name; - NameEntry.Index = Index; - LinkingSec->SegmentNames.push_back(NameEntry); - } - Index++; - } for (const object::SymbolRef& Sym: Obj.symbols()) { const object::WasmSymbol Symbol = Obj.getWasmSymbol(Sym); if (Symbol.Flags != 0) { @@ -244,7 +234,7 @@ ErrorOr WasmDumper::dump() { } case wasm::WASM_SEC_DATA: { auto DataSec = make_unique(); - for (const object::WasmSegment &Segment : Obj.dataSegments()) { + for (auto &Segment : Obj.dataSegments()) { WasmYAML::DataSegment Seg; Seg.SectionOffset = Segment.SectionOffset; Seg.MemoryIndex = Segment.Data.MemoryIndex; diff --git a/tools/yaml2obj/yaml2wasm.cpp b/tools/yaml2obj/yaml2wasm.cpp index 9dd7564720a..0bd882911f9 100644 --- a/tools/yaml2obj/yaml2wasm.cpp +++ b/tools/yaml2obj/yaml2wasm.cpp @@ -157,17 +157,6 @@ int WasmWriter::writeSectionContent(raw_ostream &OS, WasmYAML::LinkingSection &S SubSection.Done(); } - - // SEGMENT_NAMES subsection - if (Section.SegmentNames.size()) { - encodeULEB128(wasm::WASM_SEGMENT_NAMES, OS); - encodeULEB128(Section.SegmentNames.size(), SubSection.GetStream()); - for (const WasmYAML::NameEntry &NameEntry : Section.SegmentNames) { - encodeULEB128(NameEntry.Index, SubSection.GetStream()); - writeStringRef(NameEntry.Name, SubSection.GetStream()); - } - SubSection.Done(); - } return 0; } -- 2.40.0