8#ifndef LLVM_MC_MCSYMBOLXCOFF_H
9#define LLVM_MC_MCSYMBOLXCOFF_H
22 enum XCOFFSymbolFlags :
uint16_t { SF_EHInfo = 0x0001 };
33 if (
Name.back() ==
']') {
35 std::tie(Lhs, Rhs) =
Name.rsplit(
'[');
36 assert(!Rhs.
empty() &&
"Invalid SMC format in XCOFF symbol.");
64 SymbolTableName = STN;
70 return SymbolTableName;
82 "Requested code model for symbol without one");
83 return *PerSymbolCodeModel;
87 PerSymbolCodeModel = Model;
92 std::optional<CodeModel> PerSymbolCodeModel;
97 bool HasRename =
false;
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
XCOFF::VisibilityType getVisibilityType() const
static bool classof(const MCSymbol *S)
StringRef getSymbolTableName() const
MCSymbolXCOFF(const MCSymbolTableEntry *Name, bool isTemporary)
XCOFF::StorageClass getStorageClass() const
bool hasPerSymbolCodeModel() const
void setVisibilityType(XCOFF::VisibilityType SVT)
CodeModel getPerSymbolCodeModel() const
void setRepresentedCsect(MCSectionXCOFF *C)
static StringRef getUnqualifiedName(StringRef Name)
void setSymbolTableName(StringRef STN)
void setPerSymbolCodeModel(MCSymbolXCOFF::CodeModel Model)
void setStorageClass(XCOFF::StorageClass SC)
StringRef getUnqualifiedName() const
MCSectionXCOFF * getRepresentedCsect() 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.
constexpr bool empty() const
empty - Check if the string is empty.
@ C
The default llvm calling convention, compatible with C.
VisibilityType
Values for visibility as they would appear when encoded in the high 4 bits of the 16-bit unsigned n_t...
This is an optimization pass for GlobalISel generic memory operations.