LLVM: include/llvm/MC/MCSectionELF.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_MC_MCSECTIONELF_H
14#define LLVM_MC_MCSECTIONELF_H
15
22
23namespace llvm {
24
25
26
28
29 unsigned Type;
30
31
32 unsigned Flags;
33
34 unsigned UniqueID;
35
36
37
38
39 unsigned EntrySize;
40
41
42
44
45
46
48
49
52
53private:
55
56
58 unsigned entrySize, const MCSymbolELF *group, bool IsComdat,
59 unsigned UniqueID, MCSymbol *Begin,
62 type == ELF::SHT_NOBITS, Begin),
63 Type(type), Flags(flags), UniqueID(UniqueID), EntrySize(entrySize),
64 Group(group, IsComdat), LinkedToSym(LinkedToSym) {
66 "Group section without signature!");
69 }
70
71
72
74
75public:
76
77
79
81 unsigned getFlags() const { return Flags; }
86
89 uint32_t Subsection) const override;
92
95
98 }
100
102 StartOffset = Start;
103 EndOffset = End;
104 }
105 std::pair<uint64_t, uint64_t> getOffsets() const {
106 return std::make_pair(StartOffset, EndOffset);
107 }
108
111 }
112};
113
114}
115
116#endif
This file defines the PointerIntPair class.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
This class is intended to be used as a base class for asm properties and features specific to the tar...
Context object for machine code objects.
This represents a section on linux, lots of unix variants and some bare metal systems.
static bool classof(const MCSection *S)
const MCSection * getLinkedToSection() const
unsigned getFlags() const
void printSwitchToSection(const MCAsmInfo &MAI, const Triple &T, raw_ostream &OS, uint32_t Subsection) const override
unsigned getUniqueID() const
void setOffsets(uint64_t Start, uint64_t End)
void setFlags(unsigned F)
const MCSymbol * getLinkedToSymbol() const
std::pair< uint64_t, uint64_t > getOffsets() const
StringRef getVirtualSectionKind() const override
bool shouldOmitSectionDirective(StringRef Name, const MCAsmInfo &MAI) const
Decides whether a '.section' directive should be printed before the section name.
bool useCodeAlign() const override
Return true if a .align directive should use "optimized nops" to fill instead of 0s.
const MCSymbolELF * getGroup() const
unsigned getEntrySize() const
Instances of this class represent a uniqued identifier for a section in the current translation unit.
SectionVariant getVariant() const
static constexpr unsigned NonUniqueID
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
MCSection & getSection() const
Get the section associated with a defined, non-absolute symbol.
PointerIntPair - This class implements a pair of a pointer and small integer.
PointerTy getPointer() const
StringRef - Represent a constant reference to a string, i.e.
Triple - Helper class for working with autoconf configuration names.
The instances of the Type class are immutable: once they are created, they are never changed.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.