summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-05-25 14:25:28 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-05-25 14:25:28 +0000
commitb2ac19ed6e75bda79fad41647945e3413d2674c8 (patch)
tree90eddcff123bd7a79c89c1360c2cb98dd7d1dd1f
parent0f5b006e3cb2289096462e5b2e4c3ef74f54ba9f (diff)
downloadbcm5719-llvm-b2ac19ed6e75bda79fad41647945e3413d2674c8.tar.gz
bcm5719-llvm-b2ac19ed6e75bda79fad41647945e3413d2674c8.zip
Move LayoutOrder to MCSection.
llvm-svn: 238141
-rw-r--r--llvm/include/llvm/MC/MCAssembler.h6
-rw-r--r--llvm/include/llvm/MC/MCSection.h5
-rw-r--r--llvm/lib/MC/MCAssembler.cpp2
-rw-r--r--llvm/lib/MC/MachObjectWriter.cpp2
4 files changed, 7 insertions, 8 deletions
diff --git a/llvm/include/llvm/MC/MCAssembler.h b/llvm/include/llvm/MC/MCAssembler.h
index c060c246975..ac6864a9e58 100644
--- a/llvm/include/llvm/MC/MCAssembler.h
+++ b/llvm/include/llvm/MC/MCAssembler.h
@@ -559,9 +559,6 @@ private:
FragmentListType Fragments;
MCSection *Section;
- /// LayoutOrder - The index of this section in the layout order.
- unsigned LayoutOrder;
-
/// \brief Keeping track of bundle-locked state.
BundleLockStateType BundleLockState;
@@ -597,9 +594,6 @@ public:
bool hasInstructions() const { return HasInstructions; }
void setHasInstructions(bool Value) { HasInstructions = Value; }
- unsigned getLayoutOrder() const { return LayoutOrder; }
- void setLayoutOrder(unsigned Value) { LayoutOrder = Value; }
-
/// \name Fragment Access
/// @{
diff --git a/llvm/include/llvm/MC/MCSection.h b/llvm/include/llvm/MC/MCSection.h
index dfe3dc90923..5a60a872429 100644
--- a/llvm/include/llvm/MC/MCSection.h
+++ b/llvm/include/llvm/MC/MCSection.h
@@ -41,6 +41,8 @@ private:
unsigned Alignment = 1;
/// The section index in the assemblers section list.
unsigned Ordinal = 0;
+ /// The index of this section in the layout order.
+ unsigned LayoutOrder;
protected:
MCSection(SectionVariant V, SectionKind K, MCSymbol *Begin)
@@ -72,6 +74,9 @@ public:
unsigned getOrdinal() const { return Ordinal; }
void setOrdinal(unsigned Value) { Ordinal = Value; }
+ unsigned getLayoutOrder() const { return LayoutOrder; }
+ void setLayoutOrder(unsigned Value) { LayoutOrder = 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 2e15af69f4c..cb11555ab51 100644
--- a/llvm/lib/MC/MCAssembler.cpp
+++ b/llvm/lib/MC/MCAssembler.cpp
@@ -895,7 +895,7 @@ void MCAssembler::Finish() {
// Assign layout order indices to sections and fragments.
for (unsigned i = 0, e = Layout.getSectionOrder().size(); i != e; ++i) {
MCSectionData *SD = Layout.getSectionOrder()[i];
- SD->setLayoutOrder(i);
+ SD->getSection().setLayoutOrder(i);
unsigned FragmentIndex = 0;
for (MCSectionData::iterator iFrag = SD->begin(), iFragEnd = SD->end();
diff --git a/llvm/lib/MC/MachObjectWriter.cpp b/llvm/lib/MC/MachObjectWriter.cpp
index 1eaf2a951cf..45096d428b7 100644
--- a/llvm/lib/MC/MachObjectWriter.cpp
+++ b/llvm/lib/MC/MachObjectWriter.cpp
@@ -108,7 +108,7 @@ uint64_t MachObjectWriter::getSymbolAddress(const MCSymbol &S,
uint64_t MachObjectWriter::getPaddingSize(const MCSectionData *SD,
const MCAsmLayout &Layout) const {
uint64_t EndAddr = getSectionAddress(SD) + Layout.getSectionAddressSize(SD);
- unsigned Next = SD->getLayoutOrder() + 1;
+ unsigned Next = SD->getSection().getLayoutOrder() + 1;
if (Next >= Layout.getSectionOrder().size())
return 0;
OpenPOWER on IntegriCloud