LLVM 23.0.0git
llvm::MCSection Class Reference

Instances of this class represent a uniqued identifier for a section in the current translation unit. More...

#include "llvm/MC/MCSection.h"

Inheritance diagram for llvm::MCSection:
[legend]

Classes

struct  FragList
struct  iterator

Public Member Functions

 MCSection (const MCSection &)=delete
MCSectionoperator= (const MCSection &)=delete
StringRef getName () const
bool isText () 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)
bool hasInstructions () const
void setHasInstructions (bool Value)
bool isRegistered () const
void setIsRegistered (bool Value)
unsigned firstLinkerRelaxable () const
bool isLinkerRelaxable () const
void setFirstLinkerRelaxable (unsigned Order)
MCFragmentgetDummyFragment ()
FragListcurFragList () const
iterator begin () const
iterator end () const
void dump (DenseMap< const MCFragment *, SmallVector< const MCSymbol *, 0 > > *FragToSyms=nullptr) const
bool isBssSection () const
 Check whether this section is "virtual", that is has no actual object file contents.

Public Attributes

friend MCAssembler
friend MCObjectStreamer

Static Public Attributes

static constexpr unsigned NonUniqueID = ~0U

Protected Member Functions

 MCSection (StringRef Name, bool IsText, bool IsBss, MCSymbol *Begin)

Protected Attributes

StringRef Name

Friends

class MCFragment

Detailed Description

Instances of this class represent a uniqued identifier for a section in the current translation unit.

The MCContext class uniques and creates these.

Definition at line 573 of file MCSection.h.

Constructor & Destructor Documentation

◆ MCSection() [1/2]

◆ MCSection() [2/2]

llvm::MCSection::MCSection ( const MCSection & )
delete

References MCSection().

Member Function Documentation

◆ begin()

iterator llvm::MCSection::begin ( ) const
inline

Definition at line 682 of file MCSection.h.

◆ curFragList()

FragList * llvm::MCSection::curFragList ( ) const
inline

◆ dump()

LLVM_DUMP_METHOD void MCSection::dump ( DenseMap< const MCFragment *, SmallVector< const MCSymbol *, 0 > > * FragToSyms = nullptr) const

◆ end()

iterator llvm::MCSection::end ( ) const
inline

Definition at line 683 of file MCSection.h.

◆ ensureMinAlignment()

void llvm::MCSection::ensureMinAlignment ( Align MinAlignment)
inline

◆ firstLinkerRelaxable()

unsigned llvm::MCSection::firstLinkerRelaxable ( ) const
inline

Definition at line 675 of file MCSection.h.

Referenced by dump().

◆ getAlign()

Align llvm::MCSection::getAlign ( ) const
inline

◆ getBeginSymbol() [1/2]

◆ getBeginSymbol() [2/2]

const MCSymbol * llvm::MCSection::getBeginSymbol ( ) const
inline

Definition at line 647 of file MCSection.h.

References getBeginSymbol(), and MCSection().

◆ getDummyFragment()

MCFragment & llvm::MCSection::getDummyFragment ( )
inline

Definition at line 679 of file MCSection.h.

References MCFragment.

Referenced by llvm::MCStreamer::changeSection().

◆ getEndSymbol()

MCSymbol * MCSection::getEndSymbol ( MCContext & Ctx)

Definition at line 27 of file MCSection.cpp.

◆ getName()

◆ getOrdinal()

unsigned llvm::MCSection::getOrdinal ( ) const
inline

Definition at line 666 of file MCSection.h.

◆ hasEnded()

bool MCSection::hasEnded ( ) const

Definition at line 33 of file MCSection.cpp.

◆ hasInstructions()

bool llvm::MCSection::hasInstructions ( ) const
inline

◆ isBssSection()

bool llvm::MCSection::isBssSection ( ) const
inline

◆ isLinkerRelaxable()

bool llvm::MCSection::isLinkerRelaxable ( ) const
inline

◆ isRegistered()

bool llvm::MCSection::isRegistered ( ) const
inline

Definition at line 672 of file MCSection.h.

Referenced by llvm::AArch64TargetStreamer::emitNoteSection().

◆ isText()

◆ operator=()

MCSection & llvm::MCSection::operator= ( const MCSection & )
delete

References MCSection().

◆ setAlignment()

◆ setBeginSymbol()

void llvm::MCSection::setBeginSymbol ( MCSymbol * Sym)
inline

Definition at line 650 of file MCSection.h.

References assert().

Referenced by llvm::TargetLoweringObjectFileGOFF::getModuleMetadata().

◆ setFirstLinkerRelaxable()

void llvm::MCSection::setFirstLinkerRelaxable ( unsigned Order)
inline

Definition at line 677 of file MCSection.h.

◆ setHasInstructions()

void llvm::MCSection::setHasInstructions ( bool Value)
inline

Definition at line 670 of file MCSection.h.

Referenced by llvm::MCObjectStreamer::emitInstruction().

◆ setIsRegistered()

void llvm::MCSection::setIsRegistered ( bool Value)
inline

Definition at line 673 of file MCSection.h.

◆ setOrdinal()

void llvm::MCSection::setOrdinal ( unsigned Value)
inline

Definition at line 667 of file MCSection.h.

Referenced by llvm::MCAssembler::layout().

◆ MCFragment

Member Data Documentation

◆ MCAssembler

friend llvm::MCSection::MCAssembler

Definition at line 575 of file MCSection.h.

◆ MCObjectStreamer

friend llvm::MCSection::MCObjectStreamer

Definition at line 576 of file MCSection.h.

◆ Name

◆ NonUniqueID


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