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

This represents a section on wasm. More...

#include "llvm/MC/MCSectionWasm.h"

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

Public Member Functions

bool shouldOmitSectionDirective (StringRef Name, const MCAsmInfo &MAI) const
 Decides whether a '.section' directive should be printed before the section name.
 
const MCSymbolWasmgetGroup () const
 
unsigned getSegmentFlags () 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.
 
bool isWasmData () const
 
bool isMetadata () const
 
bool isUnique () const
 
unsigned getUniqueID () const
 
uint64_t getSectionOffset () const
 
void setSectionOffset (uint64_t Offset)
 
uint32_t getSegmentIndex () const
 
void setSegmentIndex (uint32_t Index)
 
bool getPassive () const
 
void setPassive (bool V=true)
 
- 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)
 
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 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 addFragment (MCFragment &F)
 
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
 
void addPendingLabel (MCSymbol *label, unsigned Subsection=0)
 Add a pending label for the requested subsection.
 

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

This represents a section on wasm.

Definition at line 26 of file MCSectionWasm.h.

Member Function Documentation

◆ classof()

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

Definition at line 92 of file MCSectionWasm.h.

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

◆ getGroup()

const MCSymbolWasm * llvm::MCSectionWasm::getGroup ( ) const
inline

Definition at line 64 of file MCSectionWasm.h.

◆ getPassive()

bool llvm::MCSectionWasm::getPassive ( ) const
inline

Definition at line 84 of file MCSectionWasm.h.

References assert(), and isWasmData().

◆ getSectionOffset()

uint64_t llvm::MCSectionWasm::getSectionOffset ( ) const
inline

Definition at line 78 of file MCSectionWasm.h.

◆ getSegmentFlags()

unsigned llvm::MCSectionWasm::getSegmentFlags ( ) const
inline

Definition at line 65 of file MCSectionWasm.h.

◆ getSegmentIndex()

uint32_t llvm::MCSectionWasm::getSegmentIndex ( ) const
inline

Definition at line 81 of file MCSectionWasm.h.

◆ getUniqueID()

unsigned llvm::MCSectionWasm::getUniqueID ( ) const
inline

Definition at line 76 of file MCSectionWasm.h.

◆ isMetadata()

bool llvm::MCSectionWasm::isMetadata ( ) const
inline

Definition at line 73 of file MCSectionWasm.h.

◆ isUnique()

bool llvm::MCSectionWasm::isUnique ( ) const
inline

Definition at line 75 of file MCSectionWasm.h.

Referenced by printSwitchToSection().

◆ isWasmData()

bool llvm::MCSectionWasm::isWasmData ( ) const
inline

Definition at line 72 of file MCSectionWasm.h.

Referenced by getPassive(), and setPassive().

◆ printSwitchToSection()

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

◆ setPassive()

void llvm::MCSectionWasm::setPassive ( bool  V = true)
inline

Definition at line 88 of file MCSectionWasm.h.

References assert(), and isWasmData().

◆ setSectionOffset()

void llvm::MCSectionWasm::setSectionOffset ( uint64_t  Offset)
inline

Definition at line 79 of file MCSectionWasm.h.

References llvm::Offset.

◆ setSegmentIndex()

void llvm::MCSectionWasm::setSegmentIndex ( uint32_t  Index)
inline

Definition at line 82 of file MCSectionWasm.h.

◆ shouldOmitSectionDirective()

bool MCSectionWasm::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 MCSectionWasm.cpp.

References llvm::MCSection::Name, and llvm::MCAsmInfo::shouldOmitSectionDirective().

Referenced by printSwitchToSection().

◆ useCodeAlign()

bool MCSectionWasm::useCodeAlign ( ) const
overridevirtual

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

Implements llvm::MCSection.

Definition at line 101 of file MCSectionWasm.cpp.

Friends And Related Function Documentation

◆ MCContext

friend class MCContext
friend

Definition at line 51 of file MCSectionWasm.h.


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