15#ifndef LLVM_MC_MCSECTIONGOFF_H
16#define LLVM_MC_MCSECTIONGOFF_H
49 unsigned RequiresNonZeroLength : 1;
52 mutable unsigned Emitted : 1;
60 :
MCSection(
Name, K.isText(), IsVirtual, nullptr), Parent(Parent),
61 SDAttributes(SDAttributes),
SymbolType(GOFF::ESD_ST_SectionDefinition),
62 IsBSS(K.isBSS()), RequiresNonZeroLength(0), Emitted(0) {}
66 :
MCSection(
Name, K.isText(), IsVirtual, nullptr), Parent(Parent),
67 EDAttributes(EDAttributes),
SymbolType(GOFF::ESD_ST_ElementDefinition),
68 IsBSS(K.isBSS()), RequiresNonZeroLength(0), Emitted(0) {}
70 MCSectionGOFF(StringRef
Name, SectionKind K,
bool IsVirtual,
71 GOFF::PRAttr PRAttributes, MCSectionGOFF *Parent)
72 : MCSection(
Name, K.isText(), IsVirtual, nullptr), Parent(Parent),
73 PRAttributes(PRAttributes), SymbolType(GOFF::ESD_ST_PartReference),
74 IsBSS(K.isBSS()), RequiresNonZeroLength(0), Emitted(0) {}
81 bool isBSS()
const {
return IsBSS; }
92 assert(isSD() &&
"Not a SD section");
96 assert(isED() &&
"Not a ED section");
100 assert(isPR() &&
"Not a PR section");
106 assert((isED() || isPR() || isBssSection()) &&
"Expect ED or PR section");
108 return EDAttributes.TextStyle;
110 return getParent()->getEDAttributes().TextStyle;
112 return GOFF::ESD_TS_ByteOriented;
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
static const Function * getParent(const Value *V)
Context object for machine code objects.
GOFF::SDAttr getSDAttributes() const
GOFF::ESDSymbolType getSymbolType() const
GOFF::SDAttr SDAttributes
GOFF::EDAttr getEDAttributes() const
GOFF::PRAttr getPRAttributes() const
bool requiresNonZeroLength() const
GOFF::PRAttr PRAttributes
void setName(StringRef SectionName)
GOFF::ESDTextStyle getTextStyle() const
GOFF::EDAttr EDAttributes
MCSectionGOFF * getParent() const
Instances of this class represent a uniqued identifier for a section in the current translation unit.
SectionKind - This is a simple POD value that classifies the properties of a section.
StringRef - Represent a constant reference to a string, i.e.
This is an optimization pass for GlobalISel generic memory operations.