MC: Eliminate MCZeroFillFragment, it is no longer needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103664 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2010-05-12 22:51:38 +00:00
parent e2fee5b236
commit 4e544870c4
3 changed files with 3 additions and 51 deletions

View File

@ -69,8 +69,7 @@ public:
FT_Data,
FT_Fill,
FT_Inst,
FT_Org,
FT_ZeroFill
FT_Org
};
private:
@ -357,31 +356,6 @@ public:
virtual void dump();
};
/// MCZeroFillFragment - Represent data which has a fixed size and alignment,
/// but requires no physical space in the object file.
class MCZeroFillFragment : public MCFragment {
/// Size - The size of this fragment.
uint64_t Size;
public:
MCZeroFillFragment(uint64_t _Size, MCSectionData *SD = 0)
: MCFragment(FT_ZeroFill, SD), Size(_Size) {}
/// @name Accessors
/// @{
uint64_t getSize() const { return Size; }
/// @}
static bool classof(const MCFragment *F) {
return F->getKind() == MCFragment::FT_ZeroFill;
}
static bool classof(const MCZeroFillFragment *) { return true; }
virtual void dump();
};
// FIXME: Should this be a separate class, or just merged into MCSection? Since
// we anticipate the fast path being through an MCAssembler, the only reason to
// keep it out is for API abstraction.

View File

@ -394,8 +394,7 @@ void MCAssembler::LayoutFragment(MCAsmLayout &Layout, MCFragment &F) {
break;
case MCFragment::FT_Fill: {
MCFillFragment &FF = cast<MCFillFragment>(F);
EffectiveSize = FF.getSize();
EffectiveSize = cast<MCFillFragment>(F).getSize();
break;
}
@ -419,11 +418,6 @@ void MCAssembler::LayoutFragment(MCAsmLayout &Layout, MCFragment &F) {
EffectiveSize = Offset;
break;
}
case MCFragment::FT_ZeroFill: {
EffectiveSize = cast<MCZeroFillFragment>(F).getSize();
break;
}
}
Layout.setFragmentEffectiveSize(&F, EffectiveSize);
@ -562,11 +556,6 @@ static void WriteFragmentData(const MCAssembler &Asm, const MCAsmLayout &Layout,
break;
}
case MCFragment::FT_ZeroFill: {
assert(0 && "Invalid zero fill fragment in concrete section!");
break;
}
}
assert(OW->getStream().tell() - Start == FragmentSize);
@ -596,8 +585,6 @@ void MCAssembler::WriteSectionData(const MCSectionData *SD,
assert(!cast<MCFillFragment>(it)->getValueSize() &&
"Invalid fill in virtual section!");
break;
case MCFragment::FT_ZeroFill:
break;
}
}
@ -922,15 +909,6 @@ void MCOrgFragment::dump() {
OS << " Offset:" << getOffset() << " Value:" << getValue() << ">";
}
void MCZeroFillFragment::dump() {
raw_ostream &OS = llvm::errs();
OS << "<MCZeroFillFragment ";
this->MCFragment::dump();
OS << "\n ";
OS << " Size:" << getSize() << ">";
}
void MCSectionData::dump() {
raw_ostream &OS = llvm::errs();

View File

@ -326,7 +326,7 @@ void MCMachOStreamer::EmitZerofill(const MCSection *Section, MCSymbol *Symbol,
new MCAlignFragment(ByteAlignment, 0, 0, ByteAlignment, /*EmitNops=*/false,
&SectData);
MCFragment *F = new MCZeroFillFragment(Size, &SectData);
MCFragment *F = new MCFillFragment(0, 0, Size, &SectData);
SD.setFragment(F);
if (Assembler.isSymbolLinkerVisible(&SD))
F->setAtom(&SD);