14 #ifndef LLVM_MC_MCSECTIONCOFF_H
15 #define LLVM_MC_MCSECTIONCOFF_H
33 mutable unsigned Characteristics;
40 mutable unsigned WinCFISectionID = ~0U;
48 mutable int Selection;
56 Characteristics(Characteristics), COMDATSymbol(COMDATSymbol),
57 Selection(Selection) {
58 assert((Characteristics & 0x00F00000) == 0 &&
59 "alignment must not be set upon section creation");
77 const MCExpr *Subsection)
const override;
82 if (WinCFISectionID == ~0U)
83 WinCFISectionID = (*NextID)++;
84 return WinCFISectionID;
Instances of this class represent a uniqued identifier for a section in the current translation unit...
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
SectionVariant getVariant() const
unsigned getOrAssignWinCFISectionID(unsigned *NextID) const
void setSelection(int Selection) const
This represents a section on Windows.
Base class for the full range of assembler expressions which are needed for parsing.
bool isVirtualSection() const override
Check whether this section is "virtual", that is has no actual object file contents.
bool ShouldOmitSectionDirective(StringRef Name, const MCAsmInfo &MAI) const
Decides whether a '.section' directive should be printed before the section name. ...
Context object for machine code objects.
LLVM_NODISCARD LLVM_ATTRIBUTE_ALWAYS_INLINE bool startswith(StringRef Prefix) const
Check if this string starts with the given Prefix.
bool UseCodeAlign() const override
Return true if a .align directive should use "optimized nops" to fill instead of 0s.
This class is intended to be used as a base class for asm properties and features specific to the tar...
void PrintSwitchToSection(const MCAsmInfo &MAI, raw_ostream &OS, const MCExpr *Subsection) const override
MCSymbol * getCOMDATSymbol() const
SectionKind - This is a simple POD value that classifies the properties of a section.
unsigned getCharacteristics() const
StringRef getSectionName() const
static bool classof(const MCSection *S)
COFFYAML::WeakExternalCharacteristics Characteristics
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
static bool isImplicitlyDiscardable(StringRef Name)
This class implements an extremely fast bulk output stream that can only output to a stream...
StringRef - Represent a constant reference to a string, i.e.