LLVM  10.0.0svn
Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::MCSectionCOFF Class Referencefinal

This represents a section on Windows. More...

#include "llvm/MC/MCSectionCOFF.h"

Inheritance diagram for llvm::MCSectionCOFF:
Inheritance graph
Collaboration diagram for llvm::MCSectionCOFF:
Collaboration graph

Public Member Functions

bool ShouldOmitSectionDirective (StringRef Name, const MCAsmInfo &MAI) const
 Decides whether a '.section' directive should be printed before the section name. More...
StringRef getSectionName () const
unsigned getCharacteristics () const
MCSymbolgetCOMDATSymbol () const
int getSelection () const
void setSelection (int Selection) const
void PrintSwitchToSection (const MCAsmInfo &MAI, const Triple &T, raw_ostream &OS, const MCExpr *Subsection) const override
bool UseCodeAlign () const override
 Return true if a .align directive should use "optimized nops" to fill instead of 0s. More...
bool isVirtualSection () const override
 Check whether this section is "virtual", that is has no actual object file contents. More...
unsigned getOrAssignWinCFISectionID (unsigned *NextID) const
- Public Member Functions inherited from llvm::MCSection
 MCSection (const MCSection &)=delete
MCSectionoperator= (const MCSection &)=delete
SectionKind getKind () const
SectionVariant getVariant () const
MCSymbolgetBeginSymbol ()
const MCSymbolgetBeginSymbol () const
void setBeginSymbol (MCSymbol *Sym)
MCSymbolgetEndSymbol (MCContext &Ctx)
bool hasEnded () const
unsigned getAlignment () const
void setAlignment (Align Value)
unsigned getOrdinal () const
void setOrdinal (unsigned Value)
unsigned getLayoutOrder () const
void setLayoutOrder (unsigned Value)
BundleLockStateType getBundleLockState () const
void setBundleLockState (BundleLockStateType NewState)
bool isBundleLocked () const
bool isBundleGroupBeforeFirstInst () const
void setBundleGroupBeforeFirstInst (bool IsFirst)
bool hasInstructions () const
void setHasInstructions (bool Value)
bool hasData () const
void setHasData (bool Value)
bool isRegistered () const
void setIsRegistered (bool Value)
MCSection::FragmentListTypegetFragmentList ()
const MCSection::FragmentListTypegetFragmentList () const
const MCDummyFragmentgetDummyFragment () const
MCDummyFragmentgetDummyFragment ()
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const
reverse_iterator rend ()
const_reverse_iterator rend () const
MCSection::iterator getSubsectionInsertionPoint (unsigned Subsection)
void dump () const

Static Public Member Functions

static bool isImplicitlyDiscardable (StringRef Name)
static bool classof (const MCSection *S)
- Static Public Member Functions inherited from llvm::MCSection
static FragmentListType MCSection::* getSublistAccess (MCFragment *)
 Support for MCFragment::getNextNode(). More...


class MCContext

Additional Inherited Members

- Public Types inherited from llvm::MCSection
enum  SectionVariant {
  SV_COFF = 0, SV_ELF, SV_MachO, SV_Wasm,
enum  BundleLockStateType { NotBundleLocked, BundleLocked, BundleLockedAlignToEnd }
 Express the state of bundle locked groups while emitting code. More...
using FragmentListType = iplist< MCFragment >
using const_iterator = FragmentListType::const_iterator
using iterator = FragmentListType::iterator
using const_reverse_iterator = FragmentListType::const_reverse_iterator
using reverse_iterator = FragmentListType::reverse_iterator
- Protected Member Functions inherited from llvm::MCSection
 MCSection (SectionVariant V, SectionKind K, MCSymbol *Begin)
 ~MCSection ()
- Protected Attributes inherited from llvm::MCSection
SectionVariant Variant
SectionKind Kind

Detailed Description

This represents a section on Windows.

Definition at line 26 of file MCSectionCOFF.h.

Member Function Documentation

◆ classof()

static bool llvm::MCSectionCOFF::classof ( const MCSection S)

Definition at line 92 of file MCSectionCOFF.h.

References llvm::MCSection::getVariant(), and llvm::MCSection::SV_COFF.

◆ getCharacteristics()

unsigned llvm::MCSectionCOFF::getCharacteristics ( ) const

◆ getCOMDATSymbol()

MCSymbol* llvm::MCSectionCOFF::getCOMDATSymbol ( ) const

Definition at line 71 of file MCSectionCOFF.h.

Referenced by getAlignment().

◆ getOrAssignWinCFISectionID()

unsigned llvm::MCSectionCOFF::getOrAssignWinCFISectionID ( unsigned NextID) const

Definition at line 82 of file MCSectionCOFF.h.

◆ getSectionName()

StringRef llvm::MCSectionCOFF::getSectionName ( ) const

◆ getSelection()

int llvm::MCSectionCOFF::getSelection ( ) const

Definition at line 72 of file MCSectionCOFF.h.

References isVirtualSection(), PrintSwitchToSection(), Selection, setSelection(), and UseCodeAlign().

Referenced by getAlignment().

◆ isImplicitlyDiscardable()

static bool llvm::MCSectionCOFF::isImplicitlyDiscardable ( StringRef  Name)

Definition at line 88 of file MCSectionCOFF.h.

References llvm::StringRef::startswith().

Referenced by PrintSwitchToSection().

◆ isVirtualSection()

bool MCSectionCOFF::isVirtualSection ( ) const

Check whether this section is "virtual", that is has no actual object file contents.

Implements llvm::MCSection.

Definition at line 111 of file MCSectionCOFF.cpp.

References getCharacteristics(), and llvm::COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA.

Referenced by getSelection().

◆ PrintSwitchToSection()

void MCSectionCOFF::PrintSwitchToSection ( const MCAsmInfo MAI,
const Triple T,
raw_ostream OS,
const MCExpr Subsection 
) const

◆ setSelection()

void MCSectionCOFF::setSelection ( int  Selection) const

Definition at line 31 of file MCSectionCOFF.cpp.

References assert(), and llvm::COFF::IMAGE_SCN_LNK_COMDAT.

Referenced by getSelection().

◆ ShouldOmitSectionDirective()

bool MCSectionCOFF::ShouldOmitSectionDirective ( StringRef  Name,
const MCAsmInfo MAI 
) const

Decides whether a '.section' directive should be printed before the section name.

Definition at line 19 of file MCSectionCOFF.cpp.

Referenced by PrintSwitchToSection().

◆ UseCodeAlign()

bool MCSectionCOFF::UseCodeAlign ( ) const

Return true if a .align directive should use "optimized nops" to fill instead of 0s.

Implements llvm::MCSection.

Definition at line 107 of file MCSectionCOFF.cpp.

References llvm::MCSection::getKind(), and llvm::SectionKind::isText().

Referenced by getSelection().

Friends And Related Function Documentation

◆ MCContext

friend class MCContext

Definition at line 53 of file MCSectionCOFF.h.

The documentation for this class was generated from the following files: