diff --git a/include/llvm/BinaryFormat/Wasm.h b/include/llvm/BinaryFormat/Wasm.h index f3a58026ed7..26475c27df3 100644 --- a/include/llvm/BinaryFormat/Wasm.h +++ b/include/llvm/BinaryFormat/Wasm.h @@ -190,15 +190,11 @@ enum : unsigned { }; const unsigned WASM_SYMBOL_BINDING_MASK = 0x3; -const unsigned WASM_SYMBOL_VISIBILITY_MASK = 0x4; enum : unsigned { WASM_SYMBOL_BINDING_GLOBAL = 0x0, WASM_SYMBOL_BINDING_WEAK = 0x1, WASM_SYMBOL_BINDING_LOCAL = 0x2, - - WASM_SYMBOL_VISIBILITY_DEFAULT = 0x0, - WASM_SYMBOL_VISIBILITY_HIDDEN = 0x4, }; #define WASM_RELOC(name, value) name = value, diff --git a/include/llvm/MC/MCSymbolWasm.h b/include/llvm/MC/MCSymbolWasm.h index 309ebf96d1b..9bae6c582fa 100644 --- a/include/llvm/MC/MCSymbolWasm.h +++ b/include/llvm/MC/MCSymbolWasm.h @@ -18,7 +18,6 @@ class MCSymbolWasm : public MCSymbol { private: bool IsFunction = false; bool IsWeak = false; - bool IsHidden = false; std::string ModuleName; SmallVector Returns; SmallVector Params; @@ -46,9 +45,6 @@ public: bool isWeak() const { return IsWeak; } void setWeak(bool isWeak) { IsWeak = isWeak; } - bool isHidden() const { return IsHidden; } - void setHidden(bool isHidden) { IsHidden = isHidden; } - const StringRef getModuleName() const { return ModuleName; } const SmallVector &getReturns() const { diff --git a/include/llvm/Object/Wasm.h b/include/llvm/Object/Wasm.h index 504f1b49031..e138faeed34 100644 --- a/include/llvm/Object/Wasm.h +++ b/include/llvm/Object/Wasm.h @@ -81,14 +81,6 @@ public: return Flags & wasm::WASM_SYMBOL_BINDING_MASK; } - bool isHidden() const { - return getVisibility() == wasm::WASM_SYMBOL_VISIBILITY_HIDDEN; - } - - unsigned getVisibility() const { - return Flags & wasm::WASM_SYMBOL_VISIBILITY_MASK; - } - void print(raw_ostream &Out) const { Out << "Name=" << Name << ", Type=" << static_cast(Type) << ", Flags=" << Flags << " ElemIndex=" << ElementIndex diff --git a/lib/MC/MCWasmStreamer.cpp b/lib/MC/MCWasmStreamer.cpp index ef2a5621512..287b7cf7b23 100644 --- a/lib/MC/MCWasmStreamer.cpp +++ b/lib/MC/MCWasmStreamer.cpp @@ -98,13 +98,10 @@ bool MCWasmStreamer::EmitSymbolAttribute(MCSymbol *S, MCSymbolAttr Attribute) { case MCSA_WeakDefAutoPrivate: case MCSA_Invalid: case MCSA_IndirectSymbol: + case MCSA_Hidden: case MCSA_Protected: return false; - case MCSA_Hidden: - Symbol->setHidden(true); - break; - case MCSA_Weak: case MCSA_WeakReference: Symbol->setWeak(true); diff --git a/lib/MC/WasmObjectWriter.cpp b/lib/MC/WasmObjectWriter.cpp index 42521ac72e2..6e9088b9d0d 100644 --- a/lib/MC/WasmObjectWriter.cpp +++ b/lib/MC/WasmObjectWriter.cpp @@ -1180,14 +1180,10 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm, << S.isExternal() << " isTemporary=" << S.isTemporary() << " isFunction=" << WS.isFunction() << " isWeak=" << WS.isWeak() - << " isHidden=" << WS.isHidden() << " isVariable=" << WS.isVariable() << "\n"); - if (WS.isWeak() || WS.isHidden()) { - uint32_t Flags = (WS.isWeak() ? wasm::WASM_SYMBOL_BINDING_WEAK : 0) | - (WS.isHidden() ? wasm::WASM_SYMBOL_VISIBILITY_HIDDEN : 0); - SymbolFlags.emplace_back(WS.getName(), Flags); - } + if (WS.isWeak()) + SymbolFlags.emplace_back(WS.getName(), wasm::WASM_SYMBOL_BINDING_WEAK); if (WS.isVariable()) continue; diff --git a/lib/Object/WasmObjectFile.cpp b/lib/Object/WasmObjectFile.cpp index 70ac598b897..86ce9c2209c 100644 --- a/lib/Object/WasmObjectFile.cpp +++ b/lib/Object/WasmObjectFile.cpp @@ -378,7 +378,7 @@ Error WasmObjectFile::parseLinkingSection(const uint8_t *Ptr, Symbols[SymIndex].Flags = Flags; DEBUG(dbgs() << "Set symbol flags index:" << SymIndex << " name:" - << Symbols[SymIndex].Name << " expected:" + << Symbols[SymIndex].Name << " exptected:" << Symbol << " flags: " << Flags << "\n"); } break; @@ -766,8 +766,6 @@ uint32_t WasmObjectFile::getSymbolFlags(DataRefImpl Symb) const { Result |= SymbolRef::SF_Weak; if (!Sym.isLocal()) Result |= SymbolRef::SF_Global; - if (Sym.isHidden()) - Result |= SymbolRef::SF_Hidden; switch (Sym.Type) { case WasmSymbol::SymbolType::FUNCTION_IMPORT: diff --git a/test/MC/WebAssembly/visibility.ll b/test/MC/WebAssembly/visibility.ll deleted file mode 100644 index b445bf45e29..00000000000 --- a/test/MC/WebAssembly/visibility.ll +++ /dev/null @@ -1,23 +0,0 @@ -; RUN: llc -mtriple wasm32-unknown-unknown-wasm -filetype=obj %s -o - | obj2yaml | FileCheck %s - -; Function with __attribute__((visibility("default"))) -define void @defaultVis() #0 { -entry: - ret void -} - -; Function with __attribute__((visibility("hidden"))) -define hidden void @hiddenVis() #0 { -entry: - ret void -} - -; CHECK: - Type: CUSTOM - -; CHECK: - Type: CUSTOM -; CHECK-NEXT: Name: linking -; CHECK-NEXT: DataSize: 0 -; CHECK-NEXT: SymbolInfo: -; CHECK-NEXT: - Name: hiddenVis -; CHECK-NEXT: Flags: 4 -; CHECK-NEXT: ...