diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-06-02 00:25:12 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-06-02 00:25:12 +0000 |
commit | a869576008864fe061b0a6e8f50d7489aaf88f1b (patch) | |
tree | 9b599c5b73301486f2f2eb1456f9c32e0ca165aa /llvm/lib/MC/MCELFStreamer.cpp | |
parent | 249af2a033ef527a60460bf4b578cb35d27f570a (diff) | |
download | bcm5719-llvm-a869576008864fe061b0a6e8f50d7489aaf88f1b.tar.gz bcm5719-llvm-a869576008864fe061b0a6e8f50d7489aaf88f1b.zip |
Create a MCSymbolELF.
This create a MCSymbolELF class and moves SymbolSize since only ELF
needs a size expression.
This reduces the size of MCSymbol from 56 to 48 bytes.
llvm-svn: 238801
Diffstat (limited to 'llvm/lib/MC/MCELFStreamer.cpp')
-rw-r--r-- | llvm/lib/MC/MCELFStreamer.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/MC/MCELFStreamer.cpp b/llvm/lib/MC/MCELFStreamer.cpp index 6a04fa0f794..01c8e2825e9 100644 --- a/llvm/lib/MC/MCELFStreamer.cpp +++ b/llvm/lib/MC/MCELFStreamer.cpp @@ -28,6 +28,7 @@ #include "llvm/MC/MCObjectStreamer.h" #include "llvm/MC/MCSection.h" #include "llvm/MC/MCSectionELF.h" +#include "llvm/MC/MCSymbolELF.h" #include "llvm/MC/MCSymbol.h" #include "llvm/MC/MCValue.h" #include "llvm/Support/Debug.h" @@ -333,10 +334,11 @@ void MCELFStreamer::EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size, Symbol->setCommon(Size, ByteAlignment); } - Symbol->setSize(MCConstantExpr::create(Size, getContext())); + cast<MCSymbolELF>(Symbol) + ->setSize(MCConstantExpr::create(Size, getContext())); } -void MCELFStreamer::EmitELFSize(MCSymbol *Symbol, const MCExpr *Value) { +void MCELFStreamer::emitELFSize(MCSymbolELF *Symbol, const MCExpr *Value) { Symbol->setSize(Value); } |