[WebAssembly] Use llvm::Optional to store optional symbol attributes. NFC.
authorSam Clegg <sbc@chromium.org>
Thu, 6 Feb 2020 05:18:55 +0000 (21:18 -0800)
committerSam Clegg <sbc@chromium.org>
Thu, 20 Feb 2020 01:25:33 +0000 (17:25 -0800)
commitbd4812776bc73ca27bf6c68629a20f03268cdd6e
treee19e34c6a700d01e2830a49e1014cdaa265e3fc3
parent878159038b0cae2c9ca4180ea35f5e115e9570ce
[WebAssembly] Use llvm::Optional to store optional symbol attributes.  NFC.

The changes the in-memory representation of wasm symbols such that their
optional ImportName and ImportModule use llvm::Optional.

ImportName is set whenever WASM_SYMBOL_EXPLICIT_NAME flag is set.
ImportModule (for imports) is currently always set since it defaults to
"env".

In the future we can possibly extent to binary format distingish
import which have explit module names.

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74109
14 files changed:
lld/wasm/Driver.cpp
lld/wasm/InputFiles.cpp
lld/wasm/LTO.cpp
lld/wasm/SymbolTable.cpp
lld/wasm/SymbolTable.h
lld/wasm/Symbols.h
lld/wasm/SyntheticSections.cpp
llvm/include/llvm/BinaryFormat/Wasm.h
llvm/include/llvm/MC/MCSymbolWasm.h
llvm/lib/Object/WasmObjectFile.cpp
llvm/test/MC/WebAssembly/debug-info.ll
llvm/test/tools/llvm-readobj/wasm/symbols.test
llvm/test/tools/llvm-readobj/wasm/wasm-imports.test
llvm/tools/llvm-readobj/WasmDumper.cpp