mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
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:
parent
e2fee5b236
commit
4e544870c4
@ -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.
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user