LLVM: llvm::MCSymbolELF Class Reference (original) (raw)
#include "[llvm/MC/MCSymbolELF.h](MCSymbolELF%5F8h%5Fsource.html)"
| Additional Inherited Members |
|
| Protected Types inherited from llvm::MCSymbol |
|
| enum |
Kind : uint8_t { Regular, Equated, Common } |
| enum |
: unsigned { NumCommonAlignmentBits = 5 } |
|
The alignment of the symbol if it is 'common'. More... |
| enum |
: unsigned { NumFlagsBits = 16 } |
|
The Flags field is used by object file implementations to store additional per symbol information which is not easily classified. More... |
| using |
NameEntryStorageTy |
|
The name for a symbol. |
| Protected Member Functions inherited from llvm::MCSymbol |
|
|
MCSymbol (const MCSymbolTableEntry *Name, bool isTemporary) |
|
MCSymbol (const MCSymbol &)=default |
| MCSymbol & |
operator= (const MCSymbol &)=delete |
| LLVM_ABI void * |
operator new (size_t s, const MCSymbolTableEntry *Name, MCContext &Ctx) |
| uint32_t |
getFlags () const |
|
Get the (implementation defined) symbol flags. |
| void |
setFlags (uint32_t Value) const |
|
Set the (implementation defined) symbol flags. |
| void |
modifyFlags (uint32_t Value, uint32_t Mask) const |
|
Modify the flags via a mask. |
| Protected Attributes inherited from llvm::MCSymbol |
|
| MCFragment * |
Fragment = nullptr |
|
If a symbol has a Fragment, the section is implied, so we only need one pointer. |
| unsigned |
kind: 2 |
|
The symbol kind. |
| unsigned |
HasName: 1 |
|
True if this symbol is named. |
| unsigned |
IsTemporary: 1 |
|
IsTemporary - True if this is an assembler temporary label, which typically does not survive in the .o file's symbol table. |
| unsigned |
IsRedefinable: 1 |
|
True if this symbol can be redefined. |
| unsigned |
IsRegistered: 1 |
| unsigned |
IsExternal: 1 |
|
True if this symbol is visible outside this translation unit. |
| unsigned |
IsPrivateExtern: 1 |
|
Mach-O specific: This symbol is private extern. |
| unsigned |
IsWeakExternal: 1 |
|
This symbol is weak external. |
| unsigned |
IsUsedInReloc: 1 |
|
True if we have created a relocation that uses this symbol. |
| unsigned |
IsResolving: 1 |
|
Used to detect cyclic dependency like a = a + 1 and a = b; b = a. |
| unsigned |
CommonAlignLog2: NumCommonAlignmentBits |
| uint32_t |
Flags: NumFlagsBits |
| uint32_t |
Index = 0 |
|
Index field, for use by the object file implementation. |
| union { |
|
| uint64_t Offset |
|
|
The offset to apply to the fragment address to form this symbol's value. More... |
| uint64_t CommonSize |
|
|
The size of the symbol, if it is 'common'. More... |
| const MCExpr * Value |
|
|
If non-null, the value for a variable symbol. More... |
| }; |
|
| Static Protected Attributes inherited from llvm::MCSymbol |
|
| static LLVM_ABI MCFragment * |
AbsolutePseudoFragment = &SentinelFragment |
Definition at line 15 of file MCSymbolELF.h.
◆ getBinding()
| unsigned llvm::MCSymbolELF::getBinding |
( |
) |
const |
◆ getOther()
| unsigned llvm::MCSymbolELF::getOther |
( |
) |
const |
◆ getSize()
| const MCExpr * llvm::MCSymbolELF::getSize ( ) const |
inline |
◆ getType()
| unsigned llvm::MCSymbolELF::getType |
( |
) |
const |
◆ getVisibility()
| unsigned llvm::MCSymbolELF::getVisibility |
( |
) |
const |
◆ isBindingSet()
| bool llvm::MCSymbolELF::isBindingSet |
( |
) |
const |
◆ isMemtag()
| bool llvm::MCSymbolELF::isMemtag |
( |
) |
const |
◆ isSignature()
| bool llvm::MCSymbolELF::isSignature |
( |
) |
const |
◆ isWeakref()
| bool llvm::MCSymbolELF::isWeakref |
( |
) |
const |
◆ setBinding()
| void llvm::MCSymbolELF::setBinding |
( |
unsigned |
Binding |
) |
const |
Definition at line 43 of file MCSymbolELF.cpp.
References Binding, llvm::MCSymbol::getFlags(), llvm_unreachable, llvm::MCSymbol::setFlags(), llvm::ELF::STB_GLOBAL, llvm::ELF::STB_GNU_UNIQUE, llvm::ELF::STB_LOCAL, and llvm::ELF::STB_WEAK.
Referenced by llvm::MCELFStreamer::changeSection(), llvm::AMDGPUTargetELFStreamer::EmitAmdhsaKernelDescriptor(), llvm::HexagonMCELFStreamer::HexagonMCEmitCommonSymbol(), and llvm::HexagonMCELFStreamer::HexagonMCEmitLocalCommonSymbol().
◆ setIsSignature()
| void llvm::MCSymbolELF::setIsSignature |
( |
) |
const |
◆ setIsWeakref()
| void llvm::MCSymbolELF::setIsWeakref |
( |
) |
const |
◆ setMemtag()
| void llvm::MCSymbolELF::setMemtag |
( |
bool |
Tagged |
) |
◆ setOther()
| void llvm::MCSymbolELF::setOther |
( |
unsigned |
Other |
) |
◆ setSize()
| void llvm::MCSymbolELF::setSize ( const MCExpr * SS) |
inline |
◆ setType()
| void llvm::MCSymbolELF::setType |
( |
unsigned |
Type |
) |
const |
Definition at line 92 of file MCSymbolELF.cpp.
References llvm::MCSymbol::getFlags(), llvm_unreachable, llvm::MCSymbol::setFlags(), llvm::ELF::STT_COMMON, llvm::ELF::STT_FUNC, llvm::ELF::STT_GNU_IFUNC, llvm::ELF::STT_NOTYPE, llvm::ELF::STT_OBJECT, llvm::ELF::STT_SECTION, and llvm::ELF::STT_TLS.
Referenced by llvm::AMDGPUTargetELFStreamer::emitAMDGPULDS(), and llvm::AMDGPUTargetELFStreamer::EmitAMDGPUSymbolType().
◆ setVisibility()
| void llvm::MCSymbolELF::setVisibility |
( |
unsigned |
Visibility |
) |
◆ MCAsmInfoELF
The documentation for this class was generated from the following files: