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
- public MCSection(const llvm::MCSection &)
- protected MCSection(llvm::MCSection::SectionVariant V, llvm::SectionKind K, llvm::MCSymbol * Begin)
- public virtual void PrintSwitchToSection(const llvm::MCAsmInfo & MAI, const llvm::Triple & T, llvm::raw_ostream & OS, const llvm::MCExpr * Subsection) const
- public virtual bool UseCodeAlign() const
- public void addPendingLabel(llvm::MCSymbol * label, unsigned int Subsection = 0)
- public llvm::MCSection::iterator begin()
- public llvm::MCSection::const_iterator begin() const
- public void dump() const
- public llvm::MCSection::iterator end()
- public llvm::MCSection::const_iterator end() const
- public void flushPendingLabels(llvm::MCFragment * F, uint64_t FOffset = 0, unsigned int Subsection = 0)
- public void flushPendingLabels()
- public unsigned int getAlignment() const
- public const llvm::MCSymbol * getBeginSymbol() const
- public llvm::MCSymbol * getBeginSymbol()
- public llvm::MCSection::BundleLockStateType getBundleLockState() const
- public llvm::MCDummyFragment & getDummyFragment()
- public const llvm::MCDummyFragment & getDummyFragment() const
- public llvm::MCSymbol * getEndSymbol(llvm::MCContext & Ctx)
- public MCSection::FragmentListType & getFragmentList()
- public const MCSection::FragmentListType & getFragmentList() const
- public llvm::SectionKind getKind() const
- public unsigned int getLayoutOrder() const
- public unsigned int getOrdinal() const
- public static llvm::MCSection::FragmentListType llvm::MCSection::* getSublistAccess(llvm::MCFragment *)
- public MCSection::iterator getSubsectionInsertionPoint(unsigned int Subsection)
- public llvm::MCSection::SectionVariant getVariant() const
- public bool hasEnded() const
- public bool hasInstructions() const
- public bool isBundleGroupBeforeFirstInst() const
- public bool isBundleLocked() const
- public bool isRegistered() const
- public virtual bool isVirtualSection() const
- public void setAlignment(llvm::Align Value)
- public void setBeginSymbol(llvm::MCSymbol * Sym)
- public void setBundleGroupBeforeFirstInst(bool IsFirst)
- public void setBundleLockState(llvm::MCSection::BundleLockStateType NewState)
- public void setHasInstructions(bool Value)
- public void setIsRegistered(bool Value)
- public void setLayoutOrder(unsigned int Value)
- public void setOrdinal(unsigned int Value)
- protected ~MCSection()
Methods
¶MCSection(const llvm::MCSection&)
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)
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
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
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)
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()
llvm::MCSection::iterator begin()
Declared at: llvm/include/llvm/MC/MCSection.h:165
¶llvm::MCSection::const_iterator begin() const
llvm::MCSection::const_iterator begin() const
Declared at: llvm/include/llvm/MC/MCSection.h:166
¶void dump() const
void dump() const
Declared at: llvm/include/llvm/MC/MCSection.h:173
¶llvm::MCSection::iterator end()
llvm::MCSection::iterator end()
Declared at: llvm/include/llvm/MC/MCSection.h:168
¶llvm::MCSection::const_iterator end() const
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)
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()
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
unsigned int getAlignment() const
Declared at: llvm/include/llvm/MC/MCSection.h:126
¶const llvm::MCSymbol* getBeginSymbol() const
const llvm::MCSymbol* getBeginSymbol() const
Declared at: llvm/include/llvm/MC/MCSection.h:116
¶llvm::MCSymbol* getBeginSymbol()
llvm::MCSymbol* getBeginSymbol()
Declared at: llvm/include/llvm/MC/MCSection.h:115
¶llvm::MCSection::BundleLockStateType
getBundleLockState() const
llvm::MCSection::BundleLockStateType
getBundleLockState() const
Declared at: llvm/include/llvm/MC/MCSection.h:135
¶llvm::MCDummyFragment& getDummyFragment()
llvm::MCDummyFragment& getDummyFragment()
Declared at: llvm/include/llvm/MC/MCSection.h:163
¶const llvm::MCDummyFragment& getDummyFragment()
const
const llvm::MCDummyFragment& getDummyFragment()
const
Declared at: llvm/include/llvm/MC/MCSection.h:162
¶llvm::MCSymbol* getEndSymbol(llvm::MCContext& Ctx)
llvm::MCSymbol* getEndSymbol(llvm::MCContext& Ctx)
Declared at: llvm/include/llvm/MC/MCSection.h:123
Parameters
- llvm::MCContext& Ctx
¶MCSection::FragmentListType& getFragmentList()
MCSection::FragmentListType& getFragmentList()
Declared at: llvm/include/llvm/MC/MCSection.h:152
¶const MCSection::FragmentListType&
getFragmentList() const
const MCSection::FragmentListType&
getFragmentList() const
Declared at: llvm/include/llvm/MC/MCSection.h:153
¶llvm::SectionKind getKind() const
llvm::SectionKind getKind() const
Declared at: llvm/include/llvm/MC/MCSection.h:111
¶unsigned int getLayoutOrder() const
unsigned int getLayoutOrder() const
Declared at: llvm/include/llvm/MC/MCSection.h:132
¶unsigned int getOrdinal() const
unsigned int getOrdinal() const
Declared at: llvm/include/llvm/MC/MCSection.h:129
¶static llvm::MCSection::FragmentListType
llvm::MCSection::*
getSublistAccess(llvm::MCFragment*)
static llvm::MCSection::FragmentListType
llvm::MCSection::*
getSublistAccess(llvm::MCFragment*)
Description
Support for MCFragment::getNextNode().
Declared at: llvm/include/llvm/MC/MCSection.h:158
Parameters
¶MCSection::iterator getSubsectionInsertionPoint(
unsigned int Subsection)
MCSection::iterator getSubsectionInsertionPoint(
unsigned int Subsection)
Declared at: llvm/include/llvm/MC/MCSection.h:171
Parameters
- unsigned int Subsection
¶llvm::MCSection::SectionVariant getVariant() const
llvm::MCSection::SectionVariant getVariant() const
Declared at: llvm/include/llvm/MC/MCSection.h:113
¶bool hasEnded() const
bool hasEnded() const
Declared at: llvm/include/llvm/MC/MCSection.h:124
¶bool hasInstructions() const
bool hasInstructions() const
Declared at: llvm/include/llvm/MC/MCSection.h:146
¶bool isBundleGroupBeforeFirstInst() const
bool isBundleGroupBeforeFirstInst() const
Declared at: llvm/include/llvm/MC/MCSection.h:139
¶bool isBundleLocked() const
bool isBundleLocked() const
Declared at: llvm/include/llvm/MC/MCSection.h:137
¶bool isRegistered() const
bool isRegistered() const
Declared at: llvm/include/llvm/MC/MCSection.h:149
¶virtual bool isVirtualSection() const
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)
void setAlignment(llvm::Align Value)
Declared at: llvm/include/llvm/MC/MCSection.h:127
Parameters
- llvm::Align Value
¶void setBeginSymbol(llvm::MCSymbol* Sym)
void setBeginSymbol(llvm::MCSymbol* Sym)
Declared at: llvm/include/llvm/MC/MCSection.h:119
Parameters
- llvm::MCSymbol* Sym
¶void setBundleGroupBeforeFirstInst(bool IsFirst)
void setBundleGroupBeforeFirstInst(bool IsFirst)
Declared at: llvm/include/llvm/MC/MCSection.h:142
Parameters
- bool IsFirst
¶void setBundleLockState(
llvm::MCSection::BundleLockStateType NewState)
void setBundleLockState(
llvm::MCSection::BundleLockStateType NewState)
Declared at: llvm/include/llvm/MC/MCSection.h:136
Parameters
- llvm::MCSection::BundleLockStateType NewState
¶void setHasInstructions(bool Value)
void setHasInstructions(bool Value)
Declared at: llvm/include/llvm/MC/MCSection.h:147
Parameters
- bool Value
¶void setIsRegistered(bool Value)
void setIsRegistered(bool Value)
Declared at: llvm/include/llvm/MC/MCSection.h:150
Parameters
- bool Value
¶void setLayoutOrder(unsigned int Value)
void setLayoutOrder(unsigned int Value)
Declared at: llvm/include/llvm/MC/MCSection.h:133
Parameters
- unsigned int Value
¶void setOrdinal(unsigned int Value)
void setOrdinal(unsigned int Value)
Declared at: llvm/include/llvm/MC/MCSection.h:130
Parameters
- unsigned int Value
¶~MCSection()
~MCSection()
Declared at: llvm/include/llvm/MC/MCSection.h:105