13#ifndef LLVM_MC_MCSECTIONCOFF_H
14#define LLVM_MC_MCSECTIONCOFF_H
33 mutable unsigned Characteristics;
40 mutable unsigned WinCFISectionID = ~0U;
48 mutable int Selection;
57 MCSymbol *COMDATSymbol,
int Selection,
unsigned UniqueID,
60 Characteristics &
COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA,
62 Characteristics(Characteristics), COMDATSymbol(COMDATSymbol),
63 Selection(Selection), UniqueID(UniqueID) {
64 assert((Characteristics & 0x00F00000) == 0 &&
65 "alignment must not be set upon section creation");
83 if (WinCFISectionID == ~0U)
84 WinCFISectionID = (*NextID)++;
85 return WinCFISectionID;
89 return Name.starts_with(
".debug");
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
amdgpu AMDGPU DAG DAG Pattern Instruction Selection
static bool isImplicitlyDiscardable(StringRef Name)
MCSymbol * getCOMDATSymbol() const
unsigned getCharacteristics() const
friend class MCAsmInfoCOFF
bool shouldOmitSectionDirective(StringRef Name) const
Decides whether a '.section' directive should be printed before the section name.
unsigned getOrAssignWinCFISectionID(unsigned *NextID) const
unsigned getUniqueID() const
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.