8#ifndef LLVM_MC_MCSYMBOLWASM_H
9#define LLVM_MC_MCSYMBOLWASM_H
18 std::optional<wasm::WasmSymbolType>
Type;
20 bool IsHidden =
false;
21 bool IsComdat =
false;
22 bool OmitFromLinkingSection =
false;
23 mutable bool IsUsedInInitArray =
false;
24 mutable bool IsUsedInGOT =
false;
25 std::optional<StringRef> ImportModule;
26 std::optional<StringRef> ImportName;
27 std::optional<StringRef> ExportName;
29 std::optional<wasm::WasmGlobalType> GlobalType;
30 std::optional<wasm::WasmTableType> TableType;
34 const MCExpr *SymbolSize =
nullptr;
52 std::optional<wasm::WasmSymbolType>
getType()
const {
return Type; }
75 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)
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
MCSymbolWasm(const MCSymbolTableEntry *Name, bool isTemporary)
const MCExpr * getSize() const
bool hasImportModule() const
void setSignature(wasm::WasmSignature *Sig)
void setFunctionTable(bool is64)
bool isFunctionTable() const
bool hasTableType() const
void setTableType(wasm::ValType VT, uint8_t flags=wasm::WASM_LIMITS_FLAG_NONE)
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
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.