8#ifndef LLVM_MC_MCSYMBOLWASM_H
9#define LLVM_MC_MCSYMBOLWASM_H
17 std::optional<wasm::WasmSymbolType>
Type;
19 bool IsHidden =
false;
20 bool IsComdat =
false;
21 bool OmitFromLinkingSection =
false;
22 mutable bool IsUsedInInitArray =
false;
23 mutable bool IsUsedInGOT =
false;
24 std::optional<StringRef> ImportModule;
25 std::optional<StringRef> ImportName;
26 std::optional<StringRef> ExportName;
28 std::optional<wasm::WasmGlobalType> GlobalType;
29 std::optional<wasm::WasmTableType> TableType;
33 const MCExpr *SymbolSize =
nullptr;
51 std::optional<wasm::WasmSymbolType>
getType()
const {
return Type; }
74 bool isWeak()
const {
return IsWeak; }
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
Base class for the full range of assembler expressions which are needed for parsing.
void setTableType(wasm::WasmTableType TT)
MCSymbolWasm(const StringMapEntry< bool > *Name, bool isTemporary)
static bool classof(const MCSymbol *S)
void setComdat(bool isComdat)
const wasm::WasmTableType & getTableType() const
void setImportModule(StringRef Name)
StringRef getImportModule() const
const wasm::WasmSignature * getSignature() const
StringRef getImportName() const
const MCExpr * getSize() const
bool hasImportModule() const
void setSignature(wasm::WasmSignature *Sig)
bool isFunctionTable() const
bool hasTableType() const
void setImportName(StringRef Name)
void setWeak(bool isWeak)
void setType(wasm::WasmSymbolType type)
void setExportName(StringRef Name)
void setGlobalType(wasm::WasmGlobalType GT)
void setHidden(bool isHidden)
void setOmitFromLinkingSection()
void setUsedInInitArray() const
void setTableType(wasm::ValType VT)
bool hasExportName() const
bool omitFromLinkingSection() const
const wasm::WasmGlobalType & getGlobalType() const
StringRef getExportName() const
void setUsedInGOT() const
bool isUsedInInitArray() const
bool hasImportName() const
void setSize(const MCExpr *SS)
std::optional< wasm::WasmSymbolType > getType() const
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
void modifyFlags(uint32_t Value, uint32_t Mask) const
Modify the flags via a mask.
StringRef getName() const
getName - Get the symbol name.
uint32_t getFlags() const
Get the (implementation defined) symbol flags.
bool isTemporary() const
isTemporary - Check if this is an assembler temporary symbol.
StringMapEntry - This is used to represent one value that is inserted into a StringMap.
StringRef - Represent a constant reference to a string, i.e.
The instances of the Type class are immutable: once they are created, they are never changed.
const unsigned WASM_SYMBOL_NO_STRIP
const unsigned WASM_SYMBOL_TLS
@ WASM_SYMBOL_TYPE_GLOBAL
@ WASM_SYMBOL_TYPE_SECTION
@ WASM_SYMBOL_TYPE_FUNCTION
const unsigned WASM_SYMBOL_EXPORTED
This is an optimization pass for GlobalISel generic memory operations.