From 2a6e3f5be21fdcb1fa81533ec81ba879df815607 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Mon, 22 Mar 2010 20:35:43 +0000 Subject: [PATCH] MC: Eliminate MCFragment::getMaxFileSize. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99203 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/MC/MCAssembler.h | 33 +-------------------------------- lib/MC/MCAssembler.cpp | 9 +++++++-- 2 files changed, 8 insertions(+), 34 deletions(-) diff --git a/include/llvm/MC/MCAssembler.h b/include/llvm/MC/MCAssembler.h index 5b6f463ffe6..63b5e49f2db 100644 --- a/include/llvm/MC/MCAssembler.h +++ b/include/llvm/MC/MCAssembler.h @@ -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; } diff --git a/lib/MC/MCAssembler.cpp b/lib/MC/MCAssembler.cpp index 0e4d3cc1efc..432e44a24aa 100644 --- a/lib/MC/MCAssembler.cpp +++ b/lib/MC/MCAssembler.cpp @@ -320,10 +320,15 @@ void MCAssembler::LayoutSection(MCSectionData &SD, } case MCFragment::FT_Data: - case MCFragment::FT_Fill: - F.setFileSize(F.getMaxFileSize()); + F.setFileSize(cast(F).getContents().size()); break; + case MCFragment::FT_Fill: { + MCFillFragment &FF = cast(F); + F.setFileSize(FF.getValueSize() * FF.getCount()); + break; + } + case MCFragment::FT_Org: { MCOrgFragment &OF = cast(F);