MC: Eliminate MCFragment::getMaxFileSize.
authorDaniel Dunbar <daniel@zuster.org>
Mon, 22 Mar 2010 20:35:43 +0000 (20:35 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Mon, 22 Mar 2010 20:35:43 +0000 (20:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99203 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 5b6f463ffe672c24dbd72146b6bf97ed4617a71b..63b5e49f2db900e7da601933aef5fb6e1b7abbd7 100644 (file)
@@ -99,12 +99,6 @@ public:
   MCSectionData *getParent() const { return Parent; }
   void setParent(MCSectionData *Value) { Parent = Value; }
 
-  // FIXME: This should be abstract, fix sentinel.
-  virtual uint64_t getMaxFileSize() const {
-    assert(0 && "Invalid getMaxFileSize call!");
-    return 0;
-  }
-
   /// @name Assembler Backend Support
   /// @{
   //
@@ -116,10 +110,7 @@ public:
     assert(FileSize != ~UINT64_C(0) && "File size not set!");
     return FileSize;
   }
-  void setFileSize(uint64_t Value) {
-    assert(Value <= getMaxFileSize() && "Invalid file size!");
-    FileSize = Value;
-  }
+  void setFileSize(uint64_t Value) { FileSize = Value; }
 
   uint64_t getOffset() const {
     assert(Offset != ~UINT64_C(0) && "File offset not set!");
@@ -150,10 +141,6 @@ public:
   /// @name Accessors
   /// @{
 
-  uint64_t getMaxFileSize() const {
-    return Contents.size();
-  }
-
   SmallString<32> &getContents() { return Contents; }
   const SmallString<32> &getContents() const { return Contents; }
 
@@ -219,10 +206,6 @@ public:
   /// @name Accessors
   /// @{
 
-  uint64_t getMaxFileSize() const {
-    return std::max(Alignment - 1, MaxBytesToEmit);
-  }
-
   unsigned getAlignment() const { return Alignment; }
 
   int64_t getValue() const { return Value; }
@@ -262,10 +245,6 @@ public:
   /// @name Accessors
   /// @{
 
-  uint64_t getMaxFileSize() const {
-    return ValueSize * Count;
-  }
-
   int64_t getValue() const { return Value; }
 
   unsigned getValueSize() const { return ValueSize; }
@@ -297,11 +276,6 @@ public:
   /// @name Accessors
   /// @{
 
-  uint64_t getMaxFileSize() const {
-    // FIXME: This doesn't make much sense.
-    return ~UINT64_C(0);
-  }
-
   const MCExpr &getOffset() const { return *Offset; }
 
   uint8_t getValue() const { return Value; }
@@ -333,11 +307,6 @@ public:
   /// @name Accessors
   /// @{
 
-  uint64_t getMaxFileSize() const {
-    // FIXME: This also doesn't make much sense, this method is misnamed.
-    return ~UINT64_C(0);
-  }
-
   uint64_t getSize() const { return Size; }
 
   unsigned getAlignment() const { return Alignment; }
index 0e4d3cc1efcd78f9f9cacf871cd99502070a2e17..432e44a24aa327d0fc2e129cc614c67c2fcbbeed 100644 (file)
@@ -320,10 +320,15 @@ void MCAssembler::LayoutSection(MCSectionData &SD,
     }
 
     case MCFragment::FT_Data:
-    case MCFragment::FT_Fill:
-      F.setFileSize(F.getMaxFileSize());
+      F.setFileSize(cast<MCDataFragment>(F).getContents().size());
       break;
 
+    case MCFragment::FT_Fill: {
+      MCFillFragment &FF = cast<MCFillFragment>(F);
+      F.setFileSize(FF.getValueSize() * FF.getCount());
+      break;
+    }
+
     case MCFragment::FT_Org: {
       MCOrgFragment &OF = cast<MCOrgFragment>(F);