class MCSection

Declaration

class MCSection { /* full declaration omitted */ };

Description

Instances of this class represent a uniqued identifier for a section in the current translation unit. The MCContext class uniques and creates these.

Declared at: llvm/include/llvm/MC/MCSection.h:39

Member Variables

protected llvm::MCSection::SectionVariant Variant
protected llvm::SectionKind Kind

Method Overview

Methods

MCSection(const llvm::MCSection&)

Declared at: llvm/include/llvm/MC/MCSection.h:108

Parameters

const llvm::MCSection&

MCSection(llvm::MCSection::SectionVariant V,
          llvm::SectionKind K,
          llvm::MCSymbol* Begin)

Declared at: llvm/include/llvm/MC/MCSection.h:104

Parameters

llvm::MCSection::SectionVariant V
llvm::SectionKind K
llvm::MCSymbol* Begin

virtual void PrintSwitchToSection(
    const llvm::MCAsmInfo& MAI,
    const llvm::Triple& T,
    llvm::raw_ostream& OS,
    const llvm::MCExpr* Subsection) const

Declared at: llvm/include/llvm/MC/MCSection.h:175

Parameters

const llvm::MCAsmInfo& MAI
const llvm::Triple& T
llvm::raw_ostream& OS
const llvm::MCExpr* Subsection

virtual bool UseCodeAlign() const

Description

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

Declared at: llvm/include/llvm/MC/MCSection.h:181

void addPendingLabel(llvm::MCSymbol* label,
                     unsigned int Subsection = 0)

Description

Add a pending label for the requested subsection. This label will be associated with a fragment in flushPendingLabels()

Declared at: llvm/include/llvm/MC/MCSection.h:189

Parameters

llvm::MCSymbol* label
unsigned int Subsection = 0

llvm::MCSection::iterator begin()

Declared at: llvm/include/llvm/MC/MCSection.h:165

llvm::MCSection::const_iterator begin() const

Declared at: llvm/include/llvm/MC/MCSection.h:166

void dump() const

Declared at: llvm/include/llvm/MC/MCSection.h:173

llvm::MCSection::iterator end()

Declared at: llvm/include/llvm/MC/MCSection.h:168

llvm::MCSection::const_iterator end() const

Declared at: llvm/include/llvm/MC/MCSection.h:169

void flushPendingLabels(
    llvm::MCFragment* F,
    uint64_t FOffset = 0,
    unsigned int Subsection = 0)

Description

Associate all pending labels in a subsection with a fragment.

Declared at: llvm/include/llvm/MC/MCSection.h:192

Parameters

llvm::MCFragment* F
uint64_t FOffset = 0
unsigned int Subsection = 0

void flushPendingLabels()

Description

Associate all pending labels with empty data fragments. One fragment will be created for each subsection as necessary.

Declared at: llvm/include/llvm/MC/MCSection.h:197

unsigned int getAlignment() const

Declared at: llvm/include/llvm/MC/MCSection.h:126

const llvm::MCSymbol* getBeginSymbol() const

Declared at: llvm/include/llvm/MC/MCSection.h:116

llvm::MCSymbol* getBeginSymbol()

Declared at: llvm/include/llvm/MC/MCSection.h:115

llvm::MCSection::BundleLockStateType
getBundleLockState() const

Declared at: llvm/include/llvm/MC/MCSection.h:135

llvm::MCDummyFragment& getDummyFragment()

Declared at: llvm/include/llvm/MC/MCSection.h:163

const llvm::MCDummyFragment& getDummyFragment()
    const

Declared at: llvm/include/llvm/MC/MCSection.h:162

llvm::MCSymbol* getEndSymbol(llvm::MCContext& Ctx)

Declared at: llvm/include/llvm/MC/MCSection.h:123

Parameters

llvm::MCContext& Ctx

MCSection::FragmentListType& getFragmentList()

Declared at: llvm/include/llvm/MC/MCSection.h:152

const MCSection::FragmentListType&
getFragmentList() const

Declared at: llvm/include/llvm/MC/MCSection.h:153

llvm::SectionKind getKind() const

Declared at: llvm/include/llvm/MC/MCSection.h:111

unsigned int getLayoutOrder() const

Declared at: llvm/include/llvm/MC/MCSection.h:132

unsigned int getOrdinal() const

Declared at: llvm/include/llvm/MC/MCSection.h:129

static llvm::MCSection::FragmentListType
    llvm::MCSection::*
    getSublistAccess(llvm::MCFragment*)

Description

Support for MCFragment::getNextNode().

Declared at: llvm/include/llvm/MC/MCSection.h:158

Parameters

llvm::MCFragment*

MCSection::iterator getSubsectionInsertionPoint(
    unsigned int Subsection)

Declared at: llvm/include/llvm/MC/MCSection.h:171

Parameters

unsigned int Subsection

llvm::MCSection::SectionVariant getVariant() const

Declared at: llvm/include/llvm/MC/MCSection.h:113

bool hasEnded() const

Declared at: llvm/include/llvm/MC/MCSection.h:124

bool hasInstructions() const

Declared at: llvm/include/llvm/MC/MCSection.h:146

bool isBundleGroupBeforeFirstInst() const

Declared at: llvm/include/llvm/MC/MCSection.h:139

bool isBundleLocked() const

Declared at: llvm/include/llvm/MC/MCSection.h:137

bool isRegistered() const

Declared at: llvm/include/llvm/MC/MCSection.h:149

virtual bool isVirtualSection() const

Description

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

Declared at: llvm/include/llvm/MC/MCSection.h:185

void setAlignment(llvm::Align Value)

Declared at: llvm/include/llvm/MC/MCSection.h:127

Parameters

llvm::Align Value

void setBeginSymbol(llvm::MCSymbol* Sym)

Declared at: llvm/include/llvm/MC/MCSection.h:119

Parameters

llvm::MCSymbol* Sym

void setBundleGroupBeforeFirstInst(bool IsFirst)

Declared at: llvm/include/llvm/MC/MCSection.h:142

Parameters

bool IsFirst

void setBundleLockState(
    llvm::MCSection::BundleLockStateType NewState)

Declared at: llvm/include/llvm/MC/MCSection.h:136

Parameters

llvm::MCSection::BundleLockStateType NewState

void setHasInstructions(bool Value)

Declared at: llvm/include/llvm/MC/MCSection.h:147

Parameters

bool Value

void setIsRegistered(bool Value)

Declared at: llvm/include/llvm/MC/MCSection.h:150

Parameters

bool Value

void setLayoutOrder(unsigned int Value)

Declared at: llvm/include/llvm/MC/MCSection.h:133

Parameters

unsigned int Value

void setOrdinal(unsigned int Value)

Declared at: llvm/include/llvm/MC/MCSection.h:130

Parameters

unsigned int Value

~MCSection()

Declared at: llvm/include/llvm/MC/MCSection.h:105