1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00

Move Ordinal from MCSectionData to MCSection. NFC.

Part of the work to merge MCSectionData and MCSection.

llvm-svn: 238137
This commit is contained in:
Rafael Espindola 2015-05-25 14:00:56 +00:00
parent 85e6048d8f
commit ebfcad3e73
3 changed files with 15 additions and 9 deletions

View File

@ -559,9 +559,6 @@ private:
FragmentListType Fragments;
MCSection *Section;
/// Ordinal - The section index in the assemblers section list.
unsigned Ordinal;
/// LayoutOrder - The index of this section in the layout order.
unsigned LayoutOrder;
@ -600,8 +597,8 @@ public:
bool hasInstructions() const { return HasInstructions; }
void setHasInstructions(bool Value) { HasInstructions = Value; }
unsigned getOrdinal() const { return Ordinal; }
void setOrdinal(unsigned Value) { Ordinal = Value; }
unsigned getOrdinal() const;
void setOrdinal(unsigned Value);
unsigned getLayoutOrder() const { return LayoutOrder; }
void setLayoutOrder(unsigned Value) { LayoutOrder = Value; }

View File

@ -39,10 +39,13 @@ private:
MCSymbol *End;
/// The alignment requirement of this section.
unsigned Alignment;
/// The section index in the assemblers section list.
unsigned Ordinal;
protected:
MCSection(SectionVariant V, SectionKind K, MCSymbol *Begin)
: Begin(Begin), End(nullptr), Alignment(1), Variant(V), Kind(K) {}
: Begin(Begin), End(nullptr), Alignment(1), Ordinal(~UINT32_C(0)),
Variant(V), Kind(K) {}
SectionVariant Variant;
SectionKind Kind;
@ -67,6 +70,9 @@ public:
unsigned getAlignment() const { return Alignment; }
void setAlignment(unsigned Value) { Alignment = Value; }
unsigned getOrdinal() const { return Ordinal; }
void setOrdinal(unsigned Value) { Ordinal = Value; }
virtual void PrintSwitchToSection(const MCAsmInfo &MAI, raw_ostream &OS,
const MCExpr *Subsection) const = 0;

View File

@ -293,13 +293,16 @@ MCEncodedFragmentWithFixups::~MCEncodedFragmentWithFixups() {
MCSectionData::MCSectionData() : Section(nullptr) {}
MCSectionData::MCSectionData(MCSection &Section, MCAssembler *A)
: Section(&Section), Ordinal(~UINT32_C(0)),
BundleLockState(NotBundleLocked), BundleLockNestingDepth(0),
BundleGroupBeforeFirstInst(false), HasInstructions(false) {
: Section(&Section), BundleLockState(NotBundleLocked),
BundleLockNestingDepth(0), BundleGroupBeforeFirstInst(false),
HasInstructions(false) {
if (A)
A->getSectionList().push_back(this);
}
unsigned MCSectionData::getOrdinal() const { return Section->getOrdinal(); }
void MCSectionData::setOrdinal(unsigned Value) { Section->setOrdinal(Value); }
MCSectionData::iterator
MCSectionData::getSubsectionInsertionPoint(unsigned Subsection) {
if (Subsection == 0 && SubsectionFragmentMap.empty())