class MCSectionCOFF
Declaration
class MCSectionCOFF : public MCSection { /* full declaration omitted */ };
Description
This represents a section on Windows
Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:26
Inherits from: MCSection
Member Variables
- private unsigned int Characteristics
- This is the Characteristics field of a section, drawn from the enums below.
- private unsigned int WinCFISectionID = ~0U
- The unique IDs used with the .pdata and .xdata sections created internally by the assembler. This ID is used to ensure that for every .text section, there is exactly one .pdata and one .xdata section, which is required by the Microsoft incremental linker. This data is mutable because this ID is not notionally part of the section.
- private llvm::MCSymbol* COMDATSymbol
- The COMDAT symbol of this section. Only valid if this is a COMDAT section. Two COMDAT sections are merged if they have the same COMDAT symbol.
- private int Selection
- This is the Selection field for the section symbol, if it is a COMDAT section (Characteristics & IMAGE_SCN_LNK_COMDAT) != 0
Inherited from MCSection:
Method Overview
- private MCSectionCOFF(llvm::StringRef Name, unsigned int Characteristics, llvm::MCSymbol * COMDATSymbol, int Selection, llvm::SectionKind K, llvm::MCSymbol * Begin)
- public static bool classof(const llvm::MCSection * S)
- public llvm::MCSymbol * getCOMDATSymbol() const
- public unsigned int getCharacteristics() const
- public unsigned int getOrAssignWinCFISectionID(unsigned int * NextID) const
- public int getSelection() const
- public llvm::StringRef getVirtualSectionKind() const
- public static bool isImplicitlyDiscardable(llvm::StringRef Name)
- public bool isVirtualSection() const
- public void printSwitchToSection(const llvm::MCAsmInfo & MAI, const llvm::Triple & T, llvm::raw_ostream & OS, const llvm::MCExpr * Subsection) const
- public void setSelection(int Selection) const
- public bool shouldOmitSectionDirective(llvm::StringRef Name, const llvm::MCAsmInfo & MAI) const
- public bool useCodeAlign() const
Inherited from MCSection:
- public addPendingLabel
- public begin
- public begin
- public dump
- public end
- public end
- public flushPendingLabels
- public flushPendingLabels
- public getAlignment
- public getBeginSymbol
- public getBeginSymbol
- public getBundleLockState
- public getDummyFragment
- public getDummyFragment
- public getEndSymbol
- public getFragmentList
- public getFragmentList
- public getKind
- public getLayoutOrder
- public getName
- public getOrdinal
- public getSublistAccess
- public getSubsectionInsertionPoint
- public getVariant
- public getVirtualSectionKind
- public hasEnded
- public hasInstructions
- public isBundleGroupBeforeFirstInst
- public isBundleLocked
- public isRegistered
- public isVirtualSection
- public printSwitchToSection
- public setAlignment
- public setBeginSymbol
- public setBundleGroupBeforeFirstInst
- public setBundleLockState
- public setHasInstructions
- public setIsRegistered
- public setLayoutOrder
- public setOrdinal
- public useCodeAlign
Methods
¶MCSectionCOFF(llvm::StringRef Name,
unsigned int Characteristics,
llvm::MCSymbol* COMDATSymbol,
int Selection,
llvm::SectionKind K,
llvm::MCSymbol* Begin)
MCSectionCOFF(llvm::StringRef Name,
unsigned int Characteristics,
llvm::MCSymbol* COMDATSymbol,
int Selection,
llvm::SectionKind K,
llvm::MCSymbol* Begin)
Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:52
Parameters
- llvm::StringRef Name
- unsigned int Characteristics
- llvm::MCSymbol* COMDATSymbol
- int Selection
- llvm::SectionKind K
- llvm::MCSymbol* Begin
¶static bool classof(const llvm::MCSection* S)
static bool classof(const llvm::MCSection* S)
Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:89
Parameters
- const llvm::MCSection* S
¶llvm::MCSymbol* getCOMDATSymbol() const
llvm::MCSymbol* getCOMDATSymbol() const
Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:67
¶unsigned int getCharacteristics() const
unsigned int getCharacteristics() const
Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:66
¶unsigned int getOrAssignWinCFISectionID(
unsigned int* NextID) const
unsigned int getOrAssignWinCFISectionID(
unsigned int* NextID) const
Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:79
Parameters
- unsigned int* NextID
¶int getSelection() const
int getSelection() const
Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:68
¶llvm::StringRef getVirtualSectionKind() const
llvm::StringRef getVirtualSectionKind() const
Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:77
¶static bool isImplicitlyDiscardable(
llvm::StringRef Name)
static bool isImplicitlyDiscardable(
llvm::StringRef Name)
Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:85
Parameters
- llvm::StringRef Name
¶bool isVirtualSection() const
bool isVirtualSection() const
Description
Check whether this section is "virtual", that is has no actual object file contents.
Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:76
¶void printSwitchToSection(
const llvm::MCAsmInfo& MAI,
const llvm::Triple& T,
llvm::raw_ostream& OS,
const llvm::MCExpr* Subsection) const
void printSwitchToSection(
const llvm::MCAsmInfo& MAI,
const llvm::Triple& T,
llvm::raw_ostream& OS,
const llvm::MCExpr* Subsection) const
Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:72
Parameters
- const llvm::MCAsmInfo& MAI
- const llvm::Triple& T
- llvm::raw_ostream& OS
- const llvm::MCExpr* Subsection
¶void setSelection(int Selection) const
void setSelection(int Selection) const
Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:70
Parameters
- int Selection
¶bool shouldOmitSectionDirective(
llvm::StringRef Name,
const llvm::MCAsmInfo& MAI) const
bool shouldOmitSectionDirective(
llvm::StringRef Name,
const llvm::MCAsmInfo& MAI) const
Description
Decides whether a '.section' directive should be printed before the section name
Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:64
Parameters
- llvm::StringRef Name
- const llvm::MCAsmInfo& MAI
¶bool useCodeAlign() const
bool useCodeAlign() const
Description
Return true if a .align directive should use "optimized nops" to fill instead of 0s.
Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:75