Move LayoutOrder to MCSection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238141 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2015-05-25 14:25:28 +00:00
parent 6cd7f1bca6
commit b3eb86c875
4 changed files with 7 additions and 8 deletions

View File

@ -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
/// @{

View File

@ -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;

View File

@ -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();

View File

@ -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;