Skip to content

Commit 2cf3d05

Browse files
committed
[MC] Simplify WasmObjectWriter
and make it fit well with the future when MCFragment content is out-of-line.
1 parent 6c42d0d commit 2cf3d05

File tree

1 file changed

+3
-13
lines changed

1 file changed

+3
-13
lines changed

llvm/lib/MC/WasmObjectWriter.cpp

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -734,12 +734,9 @@ static void addData(SmallVectorImpl<char> &DataBytes,
734734
DataBytes.insert(DataBytes.end(), Fill->getValueSize() * NumValues,
735735
Fill->getValue());
736736
} else if (auto *LEB = dyn_cast<MCLEBFragment>(&Frag)) {
737-
const SmallVectorImpl<char> &Contents = LEB->getContents();
738-
llvm::append_range(DataBytes, Contents);
737+
llvm::append_range(DataBytes, LEB->getContents());
739738
} else {
740-
const auto &DataFrag = cast<MCDataFragment>(Frag);
741-
const SmallVectorImpl<char> &Contents = DataFrag.getContents();
742-
llvm::append_range(DataBytes, Contents);
739+
llvm::append_range(DataBytes, cast<MCDataFragment>(Frag).getContents());
743740
}
744741
}
745742

@@ -1896,14 +1893,7 @@ uint64_t WasmObjectWriter::writeOneObject(MCAssembler &Asm,
18961893
report_fatal_error("invalid .init_array section priority");
18971894
}
18981895
const auto &DataFrag = cast<MCDataFragment>(Frag);
1899-
const SmallVectorImpl<char> &Contents = DataFrag.getContents();
1900-
for (const uint8_t *
1901-
P = (const uint8_t *)Contents.data(),
1902-
*End = (const uint8_t *)Contents.data() + Contents.size();
1903-
P != End; ++P) {
1904-
if (*P != 0)
1905-
report_fatal_error("non-symbolic data in .init_array section");
1906-
}
1896+
assert(llvm::all_of(DataFrag.getContents(), [](char C) { return !C; }));
19071897
for (const MCFixup &Fixup : DataFrag.getFixups()) {
19081898
assert(Fixup.getKind() ==
19091899
MCFixup::getKindForSize(is64Bit() ? 8 : 4, false));

0 commit comments

Comments
 (0)