MC: Eliminate MCZeroFillFragment, it is no longer needed.
authorDaniel Dunbar <daniel@zuster.org>
Wed, 12 May 2010 22:51:38 +0000 (22:51 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Wed, 12 May 2010 22:51:38 +0000 (22:51 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103664 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/MC/MCAssembler.h
lib/MC/MCAssembler.cpp
lib/MC/MCMachOStreamer.cpp

index 22b8ff4671a596c6e00b70b24efa2409cdcd4f4d..bfec73f5eb61f3ff883f12e978f9987ff4eba6ff 100644 (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.
index b8b60af8fb748e80c2524e591c2983a746b6a0df..d5ff94996fb25ed9211202eac2abfb07bfffa8bf 100644 (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();
 
index eb49a40707d0778c4a63ad73d2fa9396274d3fcf..fe701a7c280055c8106f1004559722e9f61c0164 100644 (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);