LLVM 20.0.0git
Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::MCSectionXCOFF Class Referencefinal

#include "llvm/MC/MCSectionXCOFF.h"

Inheritance diagram for llvm::MCSectionXCOFF:
Inheritance graph
[legend]

Public Member Functions

 ~MCSectionXCOFF ()
 
XCOFF::StorageMappingClass getMappingClass () const
 
XCOFF::StorageClass getStorageClass () const
 
XCOFF::VisibilityType getVisibilityType () const
 
XCOFF::SymbolType getCSectType () const
 
MCSymbolXCOFFgetQualNameSymbol () const
 
void printSwitchToSection (const MCAsmInfo &MAI, const Triple &T, raw_ostream &OS, uint32_t Subsection) const override
 
bool useCodeAlign () const override
 Return true if a .align directive should use "optimized nops" to fill instead of 0s.
 
StringRef getSymbolTableName () const
 
void setSymbolTableName (StringRef STN)
 
bool isMultiSymbolsAllowed () const
 
bool isCsect () const
 
bool isDwarfSect () const
 
std::optional< XCOFF::DwarfSectionSubtypeFlagsgetDwarfSubtypeFlags () const
 
std::optional< XCOFF::CsectPropertiesgetCsectProp () const
 
SectionKind getKind () const
 
- Public Member Functions inherited from llvm::MCSection
 MCSection (const MCSection &)=delete
 
MCSectionoperator= (const MCSection &)=delete
 
StringRef getName () const
 
bool isText () const
 
SectionVariant getVariant () const
 
MCSymbolgetBeginSymbol ()
 
const MCSymbolgetBeginSymbol () const
 
void setBeginSymbol (MCSymbol *Sym)
 
MCSymbolgetEndSymbol (MCContext &Ctx)
 
bool hasEnded () const
 
Align getAlign () const
 
void setAlignment (Align Value)
 
void ensureMinAlignment (Align MinAlignment)
 Makes sure that Alignment is at least MinAlignment.
 
unsigned getOrdinal () const
 
void setOrdinal (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 hasLayout () const
 
void setHasLayout (bool Value)
 
bool isRegistered () const
 
void setIsRegistered (bool Value)
 
const MCDummyFragmentgetDummyFragment () const
 
MCDummyFragmentgetDummyFragment ()
 
FragListcurFragList () const
 
iterator begin () const
 
iterator end () const
 
bool empty () const
 
void dump () const
 
virtual void printSwitchToSection (const MCAsmInfo &MAI, const Triple &T, raw_ostream &OS, uint32_t Subsection) const =0
 
virtual bool useCodeAlign () const =0
 Return true if a .align directive should use "optimized nops" to fill instead of 0s.
 
bool isVirtualSection () const
 Check whether this section is "virtual", that is has no actual object file contents.
 
virtual StringRef getVirtualSectionKind () const
 

Static Public Member Functions

static bool classof (const MCSection *S)
 

Friends

class MCContext
 

Additional Inherited Members

- Public Types inherited from llvm::MCSection
enum  SectionVariant {
  SV_COFF = 0 , SV_ELF , SV_GOFF , SV_MachO ,
  SV_Wasm , SV_XCOFF , SV_SPIRV , SV_DXContainer
}
 
enum  BundleLockStateType { NotBundleLocked , BundleLocked , BundleLockedAlignToEnd }
 Express the state of bundle locked groups while emitting code. More...
 
- Public Attributes inherited from llvm::MCSection
friend MCAssembler
 
friend MCObjectStreamer
 
- Static Public Attributes inherited from llvm::MCSection
static constexpr unsigned NonUniqueID = ~0U
 
- Protected Member Functions inherited from llvm::MCSection
 MCSection (SectionVariant V, StringRef Name, bool IsText, bool IsVirtual, MCSymbol *Begin)
 
 ~MCSection ()
 
- Protected Attributes inherited from llvm::MCSection
StringRef Name
 
SectionVariant Variant
 

Detailed Description

Definition at line 32 of file MCSectionXCOFF.h.

Constructor & Destructor Documentation

◆ ~MCSectionXCOFF()

MCSectionXCOFF::~MCSectionXCOFF ( )
default

Member Function Documentation

◆ classof()

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

Definition at line 98 of file MCSectionXCOFF.h.

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

◆ getCsectProp()

std::optional< XCOFF::CsectProperties > llvm::MCSectionXCOFF::getCsectProp ( ) const
inline

Definition at line 130 of file MCSectionXCOFF.h.

◆ getCSectType()

XCOFF::SymbolType llvm::MCSectionXCOFF::getCSectType ( ) const
inline

Definition at line 112 of file MCSectionXCOFF.h.

References assert(), and isCsect().

Referenced by printSwitchToSection().

◆ getDwarfSubtypeFlags()

std::optional< XCOFF::DwarfSectionSubtypeFlags > llvm::MCSectionXCOFF::getDwarfSubtypeFlags ( ) const
inline

Definition at line 127 of file MCSectionXCOFF.h.

Referenced by printSwitchToSection().

◆ getKind()

SectionKind llvm::MCSectionXCOFF::getKind ( ) const
inline

Definition at line 133 of file MCSectionXCOFF.h.

Referenced by printSwitchToSection(), and useCodeAlign().

◆ getMappingClass()

XCOFF::StorageMappingClass llvm::MCSectionXCOFF::getMappingClass ( ) const
inline

Definition at line 102 of file MCSectionXCOFF.h.

References assert(), and isCsect().

Referenced by printSwitchToSection().

◆ getQualNameSymbol()

MCSymbolXCOFF * llvm::MCSectionXCOFF::getQualNameSymbol ( ) const
inline

◆ getStorageClass()

XCOFF::StorageClass llvm::MCSectionXCOFF::getStorageClass ( ) const
inline

Definition at line 106 of file MCSectionXCOFF.h.

◆ getSymbolTableName()

StringRef llvm::MCSectionXCOFF::getSymbolTableName ( ) const
inline

Definition at line 122 of file MCSectionXCOFF.h.

Referenced by llvm::MCSymbolXCOFF::getRepresentedCsect().

◆ getVisibilityType()

XCOFF::VisibilityType llvm::MCSectionXCOFF::getVisibilityType ( ) const
inline

Definition at line 109 of file MCSectionXCOFF.h.

◆ isCsect()

bool llvm::MCSectionXCOFF::isCsect ( ) const
inline

Definition at line 125 of file MCSectionXCOFF.h.

Referenced by getCSectType(), getMappingClass(), and printSwitchToSection().

◆ isDwarfSect()

bool llvm::MCSectionXCOFF::isDwarfSect ( ) const
inline

Definition at line 126 of file MCSectionXCOFF.h.

Referenced by printSwitchToSection().

◆ isMultiSymbolsAllowed()

bool llvm::MCSectionXCOFF::isMultiSymbolsAllowed ( ) const
inline

Definition at line 124 of file MCSectionXCOFF.h.

Referenced by llvm::MCContext::getXCOFFSection().

◆ printSwitchToSection()

void MCSectionXCOFF::printSwitchToSection ( const MCAsmInfo MAI,
const Triple T,
raw_ostream OS,
uint32_t  Subsection 
) const
overridevirtual

◆ setSymbolTableName()

void llvm::MCSectionXCOFF::setSymbolTableName ( StringRef  STN)
inline

Definition at line 123 of file MCSectionXCOFF.h.

◆ useCodeAlign()

bool MCSectionXCOFF::useCodeAlign ( ) const
overridevirtual

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

Implements llvm::MCSection.

Definition at line 134 of file MCSectionXCOFF.cpp.

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

Friends And Related Function Documentation

◆ MCContext

friend class MCContext
friend

Definition at line 33 of file MCSectionXCOFF.h.


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