[llvm] r238580 - Move SymbolSize from MCSymbolData to MCSymbol.
Rafael Espindola
rafael.espindola at gmail.com
Fri May 29 10:24:52 PDT 2015
Author: rafael
Date: Fri May 29 12:24:52 2015
New Revision: 238580
URL: http://llvm.org/viewvc/llvm-project?rev=238580&view=rev
Log:
Move SymbolSize from MCSymbolData to MCSymbol.
Modified:
llvm/trunk/include/llvm/MC/MCSymbol.h
llvm/trunk/lib/MC/ELFObjectWriter.cpp
llvm/trunk/lib/MC/MCELFStreamer.cpp
Modified: llvm/trunk/include/llvm/MC/MCSymbol.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCSymbol.h?rev=238580&r1=238579&r2=238580&view=diff
==============================================================================
--- llvm/trunk/include/llvm/MC/MCSymbol.h (original)
+++ llvm/trunk/include/llvm/MC/MCSymbol.h Fri May 29 12:24:52 2015
@@ -43,10 +43,6 @@ class MCSymbolData {
uint64_t CommonSize;
};
- /// SymbolSize - An expression describing how to calculate the size of
- /// a symbol. If a symbol has no size this field will be NULL.
- const MCExpr *SymbolSize = nullptr;
-
/// CommonAlign - The alignment of the symbol, if it is 'common', or -1.
//
// FIXME: Pack this in with other fields?
@@ -104,10 +100,6 @@ public:
return CommonSize;
}
- void setSize(const MCExpr *SS) { SymbolSize = SS; }
-
- const MCExpr *getSize() const { return SymbolSize; }
-
/// getCommonAlignment - Return the alignment of a 'common' symbol.
unsigned getCommonAlignment() const {
assert(isCommon() && "Not a 'common' symbol!");
@@ -171,6 +163,10 @@ class MCSymbol {
/// Index field, for use by the object file implementation.
mutable uint64_t Index : 60;
+ /// An expression describing how to calculate the size of a symbol. If a
+ /// symbol has no size this field will be NULL.
+ const MCExpr *SymbolSize = nullptr;
+
mutable MCSymbolData Data;
private: // MCContext creates and uniques these.
@@ -295,6 +291,10 @@ public:
Index = Value;
}
+ void setSize(const MCExpr *SS) { SymbolSize = SS; }
+
+ const MCExpr *getSize() const { return SymbolSize; }
+
/// print - Print the value to the stream \p OS.
void print(raw_ostream &OS) const;
Modified: llvm/trunk/lib/MC/ELFObjectWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/ELFObjectWriter.cpp?rev=238580&r1=238579&r2=238580&view=diff
==============================================================================
--- llvm/trunk/lib/MC/ELFObjectWriter.cpp (original)
+++ llvm/trunk/lib/MC/ELFObjectWriter.cpp Fri May 29 12:24:52 2015
@@ -480,9 +480,9 @@ void ELFObjectWriter::writeSymbol(Symbol
uint64_t Value = SymbolValue(*MSD.Symbol, Layout);
uint64_t Size = 0;
- const MCExpr *ESize = OrigData.getSize();
+ const MCExpr *ESize = MSD.Symbol->getSize();
if (!ESize && Base)
- ESize = BaseSD->getSize();
+ ESize = Base->getSize();
if (ESize) {
int64_t Res;
Modified: llvm/trunk/lib/MC/MCELFStreamer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCELFStreamer.cpp?rev=238580&r1=238579&r2=238580&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCELFStreamer.cpp (original)
+++ llvm/trunk/lib/MC/MCELFStreamer.cpp Fri May 29 12:24:52 2015
@@ -331,12 +331,11 @@ void MCELFStreamer::EmitCommonSymbol(MCS
SD.setCommon(Size, ByteAlignment);
}
- SD.setSize(MCConstantExpr::Create(Size, getContext()));
+ Symbol->setSize(MCConstantExpr::Create(Size, getContext()));
}
void MCELFStreamer::EmitELFSize(MCSymbol *Symbol, const MCExpr *Value) {
- MCSymbolData &SD = getAssembler().getOrCreateSymbolData(*Symbol);
- SD.setSize(Value);
+ Symbol->setSize(Value);
}
void MCELFStreamer::EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size,
More information about the llvm-commits
mailing list