LLVM: include/llvm/MC/MCSectionCOFF.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_MC_MCSECTIONCOFF_H
14#define LLVM_MC_MCSECTIONCOFF_H
15
20#include
21
22namespace llvm {
23
25
26
27class MCSectionCOFF final : public MCSection {
28
29
30
31
32
33 mutable unsigned Characteristics;
34
35
36
37
38
39
40 mutable unsigned WinCFISectionID = ~0U;
41
42
43
45
46
47
48 mutable int Selection;
49
50 unsigned UniqueID;
51
52private:
55
56 MCSectionCOFF(StringRef Name, unsigned Characteristics,
57 MCSymbol *COMDATSymbol, int Selection, unsigned UniqueID,
60 Characteristics & COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA,
61 Begin),
62 Characteristics(Characteristics), COMDATSymbol(COMDATSymbol),
63 Selection(Selection), UniqueID(UniqueID) {
64 assert((Characteristics & 0x00F00000) == 0 &&
65 "alignment must not be set upon section creation");
66 }
67
68public:
69
70
72
76
78
81
83 if (WinCFISectionID == ~0U)
84 WinCFISectionID = (*NextID)++;
85 return WinCFISectionID;
86 }
87
89 return Name.starts_with(".debug");
90 }
91};
92
93}
94
95#endif
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
amdgpu AMDGPU DAG DAG Pattern Instruction Selection
static bool isImplicitlyDiscardable(StringRef Name)
Definition MCSectionCOFF.h:88
friend class MCContext
Definition MCSectionCOFF.h:53
MCSymbol * getCOMDATSymbol() const
Definition MCSectionCOFF.h:74
unsigned getCharacteristics() const
Definition MCSectionCOFF.h:73
friend class MCAsmInfoCOFF
Definition MCSectionCOFF.h:54
bool shouldOmitSectionDirective(StringRef Name) const
Decides whether a '.section' directive should be printed before the section name.
unsigned getOrAssignWinCFISectionID(unsigned *NextID) const
Definition MCSectionCOFF.h:82
unsigned getUniqueID() const
Definition MCSectionCOFF.h:80
bool isUnique() const
Definition MCSectionCOFF.h:79
int getSelection() const
Definition MCSectionCOFF.h:75
void setSelection(int Selection) const
static constexpr unsigned NonUniqueID
MCSection(StringRef Name, bool IsText, bool IsBss, MCSymbol *Begin)
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
StringRef - Represent a constant reference to a string, i.e.
This is an optimization pass for GlobalISel generic memory operations.