LLVM: include/llvm/MC/MCSectionGOFF.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#ifndef LLVM_MC_MCSECTIONGOFF_H
16#define LLVM_MC_MCSECTIONGOFF_H
17
24
25namespace llvm {
26
28
30
31 MCSectionGOFF *Parent;
32
33
34 union {
38 };
39
40
42
43
44 unsigned IsBSS : 1;
45
46
47
48
49 unsigned RequiresNonZeroLength : 1;
50
51
52 mutable unsigned Emitted : 1;
53
57
62 IsBSS(K.isBSS()), RequiresNonZeroLength(0), Emitted(0) {}
63
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) {}
69
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) {}
75
76public:
77
78 MCSectionGOFF *getParent() const { return Parent; }
79
80
81 bool isBSS() const { return IsBSS; }
82
83
85
89
90
103
104
110 return getParent()->getEDAttributes().TextStyle;
111
113 }
114
116
118};
119}
120
121#endif
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
static const Function * getParent(const Value *V)
Base class for the full range of assembler expressions which are needed for parsing.
Definition MCSectionGOFF.h:29
GOFF::SDAttr getSDAttributes() const
Definition MCSectionGOFF.h:91
friend class MCAsmInfoGOFF
Definition MCSectionGOFF.h:55
GOFF::ESDSymbolType getSymbolType() const
Definition MCSectionGOFF.h:84
GOFF::SDAttr SDAttributes
Definition MCSectionGOFF.h:35
bool isPR() const
Definition MCSectionGOFF.h:88
GOFF::EDAttr getEDAttributes() const
Definition MCSectionGOFF.h:95
friend class MCContext
Definition MCSectionGOFF.h:54
GOFF::PRAttr getPRAttributes() const
Definition MCSectionGOFF.h:99
bool requiresNonZeroLength() const
Definition MCSectionGOFF.h:115
friend class MCSymbolGOFF
Definition MCSectionGOFF.h:56
GOFF::PRAttr PRAttributes
Definition MCSectionGOFF.h:37
void setName(StringRef SectionName)
Definition MCSectionGOFF.h:117
bool isBSS() const
Definition MCSectionGOFF.h:81
GOFF::ESDTextStyle getTextStyle() const
Definition MCSectionGOFF.h:105
bool isSD() const
Definition MCSectionGOFF.h:86
bool isED() const
Definition MCSectionGOFF.h:87
GOFF::EDAttr EDAttributes
Definition MCSectionGOFF.h:36
MCSectionGOFF * getParent() const
Definition MCSectionGOFF.h:78
Instances of this class represent a uniqued identifier for a section in the current translation unit.
bool isBssSection() const
Check whether this section is "virtual", that is has no actual object file contents.
MCSection(StringRef Name, bool IsText, bool IsBss, MCSymbol *Begin)
SectionKind - This is a simple POD value that classifies the properties of a section.
StringRef - Represent a constant reference to a string, i.e.
@ ESD_ST_ElementDefinition
@ ESD_ST_SectionDefinition
This is an optimization pass for GlobalISel generic memory operations.