summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-05-25 14:00:56 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-05-25 14:00:56 +0000
commit1f02022027314da943bbbb289e80fe11bbee5dec (patch)
tree00705f39a440c8cc9d015f464227956f28867926
parente7134b2d78c9bd6922150e7d2a7f8dab4ca3023f (diff)
downloadbcm5719-llvm-1f02022027314da943bbbb289e80fe11bbee5dec.tar.gz
bcm5719-llvm-1f02022027314da943bbbb289e80fe11bbee5dec.zip
Move Ordinal from MCSectionData to MCSection. NFC.
Part of the work to merge MCSectionData and MCSection. llvm-svn: 238137
-rw-r--r--llvm/include/llvm/MC/MCAssembler.h7
-rw-r--r--llvm/include/llvm/MC/MCSection.h8
-rw-r--r--llvm/lib/MC/MCAssembler.cpp9
3 files changed, 15 insertions, 9 deletions
diff --git a/llvm/include/llvm/MC/MCAssembler.h b/llvm/include/llvm/MC/MCAssembler.h
index 564691e3e18..8f0105f6c2e 100644
--- a/llvm/include/llvm/MC/MCAssembler.h
+++ b/llvm/include/llvm/MC/MCAssembler.h
@@ -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; }
diff --git a/llvm/include/llvm/MC/MCSection.h b/llvm/include/llvm/MC/MCSection.h
index 38e7e210950..7d5128a2d20 100644
--- a/llvm/include/llvm/MC/MCSection.h
+++ b/llvm/include/llvm/MC/MCSection.h
@@ -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;
diff --git a/llvm/lib/MC/MCAssembler.cpp b/llvm/lib/MC/MCAssembler.cpp
index 2c041e26ac9..879f894ab1d 100644
--- a/llvm/lib/MC/MCAssembler.cpp
+++ b/llvm/lib/MC/MCAssembler.cpp
@@ -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())
OpenPOWER on IntegriCloud