diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-05-29 19:07:51 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-05-29 19:07:51 +0000 |
commit | 2229d33a9ca7de5448d58ea1d07e8526439fe94f (patch) | |
tree | 2c5081ec4d68e612bde216797a47b6f61dd04646 /llvm/lib/MC/MCELF.cpp | |
parent | d31c0e2673dfa0229d68250bb2be8464aa9199a8 (diff) | |
download | bcm5719-llvm-2229d33a9ca7de5448d58ea1d07e8526439fe94f.tar.gz bcm5719-llvm-2229d33a9ca7de5448d58ea1d07e8526439fe94f.zip |
Move Flags from MCSymbolData to MCSymbol.
llvm-svn: 238598
Diffstat (limited to 'llvm/lib/MC/MCELF.cpp')
-rw-r--r-- | llvm/lib/MC/MCELF.cpp | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/llvm/lib/MC/MCELF.cpp b/llvm/lib/MC/MCELF.cpp index 3cccc804082..2d27994428f 100644 --- a/llvm/lib/MC/MCELF.cpp +++ b/llvm/lib/MC/MCELF.cpp @@ -20,35 +20,31 @@ namespace llvm { void MCELF::SetBinding(const MCSymbol &Sym, unsigned Binding) { - MCSymbolData &SD = Sym.getData(); assert(Binding == ELF::STB_LOCAL || Binding == ELF::STB_GLOBAL || Binding == ELF::STB_WEAK || Binding == ELF::STB_GNU_UNIQUE); - uint32_t OtherFlags = SD.getFlags() & ~(0xf << ELF_STB_Shift); - SD.setFlags(OtherFlags | (Binding << ELF_STB_Shift)); + uint32_t OtherFlags = Sym.getFlags() & ~(0xf << ELF_STB_Shift); + Sym.setFlags(OtherFlags | (Binding << ELF_STB_Shift)); } unsigned MCELF::GetBinding(const MCSymbol &Sym) { - MCSymbolData &SD = Sym.getData(); - uint32_t Binding = (SD.getFlags() & (0xf << ELF_STB_Shift)) >> ELF_STB_Shift; + uint32_t Binding = (Sym.getFlags() & (0xf << ELF_STB_Shift)) >> ELF_STB_Shift; assert(Binding == ELF::STB_LOCAL || Binding == ELF::STB_GLOBAL || Binding == ELF::STB_WEAK || Binding == ELF::STB_GNU_UNIQUE); return Binding; } void MCELF::SetType(const MCSymbol &Sym, unsigned Type) { - MCSymbolData &SD = Sym.getData(); assert(Type == ELF::STT_NOTYPE || Type == ELF::STT_OBJECT || Type == ELF::STT_FUNC || Type == ELF::STT_SECTION || Type == ELF::STT_COMMON || Type == ELF::STT_TLS || Type == ELF::STT_GNU_IFUNC); - uint32_t OtherFlags = SD.getFlags() & ~(0xf << ELF_STT_Shift); - SD.setFlags(OtherFlags | (Type << ELF_STT_Shift)); + uint32_t OtherFlags = Sym.getFlags() & ~(0xf << ELF_STT_Shift); + Sym.setFlags(OtherFlags | (Type << ELF_STT_Shift)); } unsigned MCELF::GetType(const MCSymbol &Sym) { - MCSymbolData &SD = Sym.getData(); - uint32_t Type = (SD.getFlags() & (0xf << ELF_STT_Shift)) >> ELF_STT_Shift; + uint32_t Type = (Sym.getFlags() & (0xf << ELF_STT_Shift)) >> ELF_STT_Shift; assert(Type == ELF::STT_NOTYPE || Type == ELF::STT_OBJECT || Type == ELF::STT_FUNC || Type == ELF::STT_SECTION || Type == ELF::STT_COMMON || Type == ELF::STT_TLS || Type == ELF::STT_GNU_IFUNC); @@ -58,18 +54,16 @@ unsigned MCELF::GetType(const MCSymbol &Sym) { // Visibility is stored in the first two bits of st_other // st_other values are stored in the second byte of get/setFlags void MCELF::SetVisibility(MCSymbol &Sym, unsigned Visibility) { - MCSymbolData &SD = Sym.getData(); assert(Visibility == ELF::STV_DEFAULT || Visibility == ELF::STV_INTERNAL || Visibility == ELF::STV_HIDDEN || Visibility == ELF::STV_PROTECTED); - uint32_t OtherFlags = SD.getFlags() & ~(0x3 << ELF_STV_Shift); - SD.setFlags(OtherFlags | (Visibility << ELF_STV_Shift)); + uint32_t OtherFlags = Sym.getFlags() & ~(0x3 << ELF_STV_Shift); + Sym.setFlags(OtherFlags | (Visibility << ELF_STV_Shift)); } unsigned MCELF::GetVisibility(const MCSymbol &Sym) { - MCSymbolData &SD = Sym.getData(); unsigned Visibility = - (SD.getFlags() & (0x3 << ELF_STV_Shift)) >> ELF_STV_Shift; + (Sym.getFlags() & (0x3 << ELF_STV_Shift)) >> ELF_STV_Shift; assert(Visibility == ELF::STV_DEFAULT || Visibility == ELF::STV_INTERNAL || Visibility == ELF::STV_HIDDEN || Visibility == ELF::STV_PROTECTED); return Visibility; @@ -78,15 +72,12 @@ unsigned MCELF::GetVisibility(const MCSymbol &Sym) { // Other is stored in the last six bits of st_other // st_other values are stored in the second byte of get/setFlags void MCELF::setOther(MCSymbol &Sym, unsigned Other) { - MCSymbolData &SD = Sym.getData(); - uint32_t OtherFlags = SD.getFlags() & ~(0x3f << ELF_STO_Shift); - SD.setFlags(OtherFlags | (Other << ELF_STO_Shift)); + uint32_t OtherFlags = Sym.getFlags() & ~(0x3f << ELF_STO_Shift); + Sym.setFlags(OtherFlags | (Other << ELF_STO_Shift)); } unsigned MCELF::getOther(const MCSymbol &Sym) { - MCSymbolData &SD = Sym.getData(); - unsigned Other = - (SD.getFlags() & (0x3f << ELF_STO_Shift)) >> ELF_STO_Shift; + unsigned Other = (Sym.getFlags() & (0x3f << ELF_STO_Shift)) >> ELF_STO_Shift; return Other; } |