Move HasInstructions to MCSection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238150 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2015-05-25 18:34:26 +00:00
parent 4da23583b6
commit 712c27f870
7 changed files with 23 additions and 19 deletions

View File

@@ -557,10 +557,6 @@ private:
//
// FIXME: This could all be kept private to the assembler implementation.
/// HasInstructions - Whether this section has had instructions emitted into
/// it.
unsigned HasInstructions : 1;
/// Mapping from subsection number to insertion point for subsection numbers
/// below that number.
SmallVector<std::pair<unsigned, MCFragment *>, 1> SubsectionFragmentMap;
@@ -574,9 +570,6 @@ public:
MCSection &getSection() const { return *Section; }
bool hasInstructions() const { return HasInstructions; }
void setHasInstructions(bool Value) { HasInstructions = Value; }
/// \name Fragment Access
/// @{

View File

@@ -146,9 +146,7 @@ public:
bool emitAbsoluteSymbolDiff(const MCSymbol *Hi, const MCSymbol *Lo,
unsigned Size) override;
bool mayHaveInstructions(MCSection &Sec) const override {
return Assembler->getOrCreateSectionData(Sec).hasInstructions();
}
bool mayHaveInstructions(MCSection &Sec) const override;
};
} // end namespace llvm

View File

@@ -61,9 +61,12 @@ private:
/// yet.
bool BundleGroupBeforeFirstInst = false;
/// Whether this section has had instructions emitted into it.
unsigned HasInstructions : 1;
protected:
MCSection(SectionVariant V, SectionKind K, MCSymbol *Begin)
: Begin(Begin), Variant(V), Kind(K) {}
: Begin(Begin), HasInstructions(false), Variant(V), Kind(K) {}
SectionVariant Variant;
SectionKind Kind;
@@ -105,6 +108,9 @@ public:
BundleGroupBeforeFirstInst = IsFirst;
}
bool hasInstructions() const { return HasInstructions; }
void setHasInstructions(bool Value) { HasInstructions = Value; }
virtual void PrintSwitchToSection(const MCAsmInfo &MAI, raw_ostream &OS,
const MCExpr *Subsection) const = 0;