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

This represents a section on Windows. More...

#include <MCSectionCOFF.h>

Inheritance diagram for llvm::MCSectionCOFF:
[legend]
Collaboration diagram for llvm::MCSectionCOFF:
[legend]

Public Member Functions

 ~MCSectionCOFF ()
 
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, 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
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 (unsigned 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 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 ()
 

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...
 

Friends

class MCContext
 

Additional Inherited Members

- Public Types inherited from llvm::MCSection
enum  SectionVariant { SV_COFF = 0, SV_ELF, SV_MachO }
 
enum  BundleLockStateType { NotBundleLocked, BundleLocked, BundleLockedAlignToEnd }
 Express the state of bundle locked groups while emitting code. More...
 
typedef iplist< MCFragmentFragmentListType
 
typedef
FragmentListType::const_iterator 
const_iterator
 
typedef FragmentListType::iterator iterator
 
typedef
FragmentListType::const_reverse_iterator 
const_reverse_iterator
 
typedef
FragmentListType::reverse_iterator 
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 24 of file MCSectionCOFF.h.

Constructor & Destructor Documentation

MCSectionCOFF::~MCSectionCOFF ( )

Definition at line 18 of file MCSectionCOFF.cpp.

Member Function Documentation

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

Definition at line 91 of file MCSectionCOFF.h.

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

unsigned llvm::MCSectionCOFF::getCharacteristics ( ) const
inline
MCSymbol* llvm::MCSectionCOFF::getCOMDATSymbol ( ) const
inline

Definition at line 71 of file MCSectionCOFF.h.

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

Definition at line 81 of file MCSectionCOFF.h.

StringRef llvm::MCSectionCOFF::getSectionName ( ) const
inline
int llvm::MCSectionCOFF::getSelection ( ) const
inline

Definition at line 72 of file MCSectionCOFF.h.

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

Definition at line 87 of file MCSectionCOFF.h.

References llvm::StringRef::startswith().

Referenced by PrintSwitchToSection().

bool MCSectionCOFF::isVirtualSection ( ) const
overridevirtual

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

Implements llvm::MCSection.

Definition at line 110 of file MCSectionCOFF.cpp.

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

void MCSectionCOFF::PrintSwitchToSection ( const MCAsmInfo MAI,
raw_ostream OS,
const MCExpr Subsection 
) const
overridevirtual
void MCSectionCOFF::setSelection ( int  Selection) const

Definition at line 34 of file MCSectionCOFF.cpp.

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

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

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

Definition at line 22 of file MCSectionCOFF.cpp.

Referenced by PrintSwitchToSection().

bool MCSectionCOFF::UseCodeAlign ( ) const
overridevirtual

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

Implements llvm::MCSection.

Definition at line 106 of file MCSectionCOFF.cpp.

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

Friends And Related Function Documentation

friend class MCContext
friend

Definition at line 51 of file MCSectionCOFF.h.


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